版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
可重構(gòu)通用卷積神經(jīng)網(wǎng)絡(luò)分析案例目錄TOC\o"1-3"\h\u23146可重構(gòu)通用卷積神經(jīng)網(wǎng)絡(luò)分析案例 1199781.1運算硬件固化 1275691.2卷積神經(jīng)網(wǎng)絡(luò)通用可重構(gòu)架構(gòu) 4227391.2.1控制系統(tǒng) 4286961.2.2可重構(gòu)系統(tǒng)的指令集 9152291.2.3控制系統(tǒng)的實現(xiàn)與仿真 12240991.3小結(jié) 14卷積神經(jīng)網(wǎng)絡(luò)的層數(shù)、卷積核大小、通道數(shù)目存在不同。面向特定應(yīng)用,可以通過改變層數(shù)、卷積核大小、通道數(shù)目提升卷積神經(jīng)網(wǎng)絡(luò)的準(zhǔn)確度。為了適應(yīng)卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的變化,卷積神經(jīng)網(wǎng)絡(luò)加速器也應(yīng)可重構(gòu)。重構(gòu)粒度嚴(yán)重影響系統(tǒng)的性能,細(xì)粒度可以提高更加靈活的重構(gòu),但通常不能讀取數(shù)據(jù),浪費帶寬,影響系統(tǒng)的吞吐率。由于卷積神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)階段可以通過GPU靈活實現(xiàn),為此本章將開展面向推理應(yīng)用的粗粒度可重構(gòu)通過卷積神經(jīng)網(wǎng)絡(luò)加速器的設(shè)計。1.1運算硬件固化運算硬件固化的規(guī)模會影響系統(tǒng)的性能。在進(jìn)行可重構(gòu)通用網(wǎng)絡(luò)加速研究過程中,可采用參數(shù)化的設(shè)計方案,便于面對應(yīng)用更改運算硬件固化規(guī)模。即在設(shè)計整個系統(tǒng)過程中利用參數(shù)以及宏定義,進(jìn)行模塊化劃分,每個模塊設(shè)計包括模塊例化都是參數(shù)傳遞,系統(tǒng)在芯片上進(jìn)行固化前可根據(jù)整個芯片的資源,以及對并行度的需求進(jìn)行修改。整個系統(tǒng)對片上資源需求主要包括乘法器、BRAM大小以及片外DDR的帶寬。系統(tǒng)的整體加速設(shè)計為N個輸入特征圖通道、M個輸出特征圖通道,以及卷積核大小K一起并行運算,整個并行卷積模塊可進(jìn)行調(diào)整,在卷積并行模塊中,系統(tǒng)所需的乘法器資源是N×K×K×M,以及M×(N×K×K-1)個加法器,其中輸入特征圖通道N,輸出特征圖通道M,以及卷積核大小K,是可以進(jìn)行更改,在固化整個系統(tǒng)時,需要保證片上資源具有N×K×K×M個乘法。整個系統(tǒng)中最小的計算模塊是卷積核并行的PE計算模塊,其結(jié)構(gòu)如圖1.1所示,主要是乘法器和加法樹組成。圖1.1PE計算模塊在輸入特征圖通道為N和輸出特征圖通道為M時,卷積模塊需要N×M個PE模塊,主要結(jié)構(gòu)圖如圖1.2所示,輸入特征圖通道的數(shù)據(jù)進(jìn)行復(fù)用,一個輸入通道的數(shù)據(jù)要復(fù)用給M個PE模塊進(jìn)行卷積計算輸出M個輸出特征圖通道的數(shù)據(jù),在得到一個輸出特征圖通道時需要將N個輸入特征圖通道的卷積計算后結(jié)果進(jìn)行累加。圖1.2N×M個PE模塊并行結(jié)構(gòu)圖系統(tǒng)對于片上BRAM的需求,主要體現(xiàn)在臨時緩存上,設(shè)置系統(tǒng)臨時緩存越大,圖像分塊卷積越少,由于分塊卷積會需要多讀取K/2行數(shù)據(jù),分塊卷積越少帶寬利用率越高。但是臨時緩存過大,需求BRAM增多,因此大小需根據(jù)片上資源設(shè)計。設(shè)臨時緩存深度為D,由于輸出特征圖通道個數(shù)為M,采用16位定點數(shù)據(jù),則需要的緩存大小為P=D?16?M,在設(shè)計整個系統(tǒng)時,片上資源要大于P。整個系統(tǒng)對DDR帶寬的需求,主要是對輸入特征圖數(shù)據(jù)的讀取,系統(tǒng)的工作頻率為200MHz,整個系統(tǒng)的運算用的是16位定點數(shù),則輸入特征圖對帶寬的需求Q輸入如式1. Q輸入=N?16?200?106 由于設(shè)置了臨時緩存,輸出特征通道的數(shù)據(jù)對DDR帶寬的需求與輸入特征通道的總數(shù)有關(guān),設(shè)一層卷積的輸入特征圖通道總數(shù)為niN(i代表第幾層),則每層的卷積每ni次循環(huán)輸出一次M個輸出特征圖通道數(shù)據(jù),其輸出帶寬Q Q輸出=Mn整個系統(tǒng)輸入特征圖通道數(shù)據(jù)和輸出特征圖通道數(shù)據(jù)對DDR的帶寬需求Q總?cè)缡?. Q總=Q輸入 Q總=(M輸入特征圖通道N和輸出特征圖通道M都是參數(shù)化,設(shè)片上資源的總的帶寬為Q,當(dāng)Q>Q總時系統(tǒng)能夠保證高速運行,當(dāng)片上帶寬資源Q總>Q>Q其他處理模塊的硬件資源需求主要是邏輯單元和寄存器,在利用參數(shù)對模塊例化,在整個系統(tǒng)進(jìn)行固化前,可以進(jìn)行系統(tǒng)的重構(gòu)。1.2卷積神經(jīng)網(wǎng)絡(luò)通用可重構(gòu)架構(gòu)整個系統(tǒng)固化后,由于設(shè)計的是通用可重構(gòu)卷積神經(jīng)網(wǎng)絡(luò)系統(tǒng),可根據(jù)實際運用由指令控制運算過程,實現(xiàn)各種卷積網(wǎng)絡(luò)的重構(gòu)??梢杂闷螩PU或是外部接口進(jìn)行指令傳遞,將指令寫入可重構(gòu)卷積系統(tǒng)的控制器中,由控制器控制整個系統(tǒng)的運行,根據(jù)指令重構(gòu)多種神經(jīng)網(wǎng)絡(luò)。1.2.1控制系統(tǒng)控制系統(tǒng)是整個卷積神經(jīng)網(wǎng)絡(luò)運行的大腦,由于PS端的控制不能及時回復(fù)卷積網(wǎng)絡(luò)系統(tǒng),因此為了保證系統(tǒng)高速運行,設(shè)計了控制模塊,控制模塊結(jié)構(gòu)如圖1.3所示,主要包括五個小的控制模塊,包括輸入緩存模塊控制、預(yù)處理模塊控制、臨時緩存模塊控制、池化模塊控制以及輸出緩存模塊控制。圖1.3控制器結(jié)構(gòu)輸入緩存模塊是卷積的開始,輸入緩存的運行需要輸入控制模塊進(jìn)行功能控制,在輸入緩存模塊中由控制器控制的功能如下:1)控制輸入緩存模塊申請總線,模塊按照指令發(fā)送讀取數(shù)據(jù)地址以及控制從DDR中讀取數(shù)據(jù)的個數(shù);2)在輸入緩存中設(shè)置了N個輸入緩存FIFO,控制器控制數(shù)據(jù)傳輸?shù)侥莻€緩存FIFO中去。3)輸入緩存模塊除了每次都從指令中發(fā)送讀取地址外還包括自動模式,即給了初始地址后,系統(tǒng)自動根據(jù)輸出緩存模塊的地址進(jìn)行自行計算讀取數(shù)據(jù),整個卷積運算自動處理,如圖1.4所示。圖1.4輸入緩存控制模式選擇預(yù)處理模塊是為了保證卷積模塊高速運行,卷積操作對應(yīng)的是一個窗口,窗口大小跟卷積核大小一致,在預(yù)處理模塊包含多種工作模式,預(yù)處理模塊的工作模式由預(yù)處理模塊的控制器控制。在預(yù)處理模塊中通過控制器控制,可以工作在以下幾種模式:1)根據(jù)指令判斷圖像邊緣是否填充,如果圖像需要填充,判斷填充數(shù)據(jù)是進(jìn)行填充數(shù)據(jù)1還是數(shù)據(jù)0,如圖1.5所示。圖1.5填充模式的選擇2)由于采用了分塊卷積,在進(jìn)行填充時分塊卷積上、中、下三部分的填充操作不同,在對于上部分需要進(jìn)行上邊沿和左右邊沿填充,中間部分只需要進(jìn)行左右邊沿填充,下部分需要對下邊沿和左右邊沿填充,如圖1.6所示。圖1.6分塊填充模式3)卷積的步長的可變,卷積的步長有四個模式,步長分別為1,2,3根據(jù)指令進(jìn)行選擇卷積的步長,如圖1.7是三種步長的工作模式圖1.7不同步長模式4)由于多種卷積網(wǎng)絡(luò)系統(tǒng)包含空洞卷積,空洞卷積的工作模式如圖1.8所示,空洞卷積用小的卷積核卷積輸入特征圖大的視野范圍,中間間隔幾個像素點并成為空洞大小,該模式主要是擴(kuò)大卷積核的卷積視野,本文支持空洞1到7的任何空洞卷積。圖1.8空洞卷積卷積計算是對輸入的數(shù)據(jù)進(jìn)行一個乘加計算,在整個系統(tǒng)的運行中有使能握手信號,卷積模塊不用進(jìn)行控制。臨時緩存控制模塊主要是判斷卷積后數(shù)據(jù)是否要與臨時緩存里面的數(shù)據(jù)進(jìn)行相加,以及是否要進(jìn)行存儲到臨時緩存,最后是選擇激活函數(shù)操作,本文中實現(xiàn)了三種激活函數(shù),可以進(jìn)行激活函數(shù)的選擇。在臨時緩存控制中,需要知道整個輸入特征圖通道的數(shù)目,該數(shù)目決定了臨時緩存數(shù)據(jù)跟卷積數(shù)據(jù)相加循環(huán)次數(shù),主要流程圖如圖1.9所示。圖1.9臨時緩存模塊流程圖在池化模塊中加入池化控制器是因為在進(jìn)行池化操作時需要知道輸入特征圖的大小,同時本文設(shè)計了四種池化方式可以進(jìn)行選擇,控制器控制池化的操作運行,并選擇最后的池化結(jié)果,如圖1.10所示進(jìn)行控制整個池化模塊。圖1.10池化模塊結(jié)構(gòu)圖輸出緩存模塊的控制系統(tǒng)與輸入緩存模塊的控制系統(tǒng)是相反的過程,主要是對整個卷積結(jié)果,按照指令中的地址進(jìn)行數(shù)據(jù)寫入到DDR中,同時該模塊也支持自動模式,給初定地址后,存儲數(shù)據(jù)會自動進(jìn)行一個地址累加,并將初始地址反饋給輸入緩存模塊。在整個控制系統(tǒng)模塊中包含五個小的控制模塊,為每個模塊分配一個ID,模塊ID占用三位位寬,輸入緩存模塊控制ID為001、預(yù)處理模塊控制ID為010、池化模塊控制ID為011、臨時緩存模塊控制ID為100以及輸出緩存模塊控制ID為101,PS端寫入命令時,經(jīng)過譯碼將指令寫入相應(yīng)的控制模塊RAM中,各個控制模塊分別控制卷積網(wǎng)絡(luò)各部分進(jìn)行工作。1.2.2可重構(gòu)系統(tǒng)的指令集系統(tǒng)的重構(gòu)需要指令的配合,在預(yù)處理控制模塊、臨時卷積控制模塊以及池化控制模塊的指令都是有64位數(shù)據(jù)進(jìn)行表示,由于輸入緩存控制模塊和輸出緩存控制模塊包含DDR地址,指令的位寬為128位數(shù)據(jù),為了指令的通用性,多個模塊的指令有些位寬是復(fù)用的,由于每個模塊需要控制的功能不同,每個模塊之間也有一些指令是不同的,下面介紹一下各個模塊的指令組成。1)輸入緩存控制模塊的指令0-23-1112-2021-3132-4243-47ID圖片行大小圖片列大小輸入通道個數(shù)輸出通道個數(shù)卷積通道數(shù)48-7576-9697-9899-127DDR讀取地址讀取DDR的個數(shù)控制模式保留0-2為代表指令的ID,輸入模塊的指令用001代表;3-11位代表輸入特征圖行大小,最大表示512;12-20位代表輸入特征圖列大小,最大表示為512;21-31位代表輸入特征圖通道個數(shù),最大表示為2048;22-42位代表輸入特征圖通道個數(shù),最大表示為2048;43-47位代表是卷積輸入特征圖通道,代表將數(shù)據(jù)輸入到那些緩存中,表示為1-32;48-75位代表的是讀取數(shù)據(jù)時DDR的地址;76-96位代表發(fā)送一次地址,從DDR中連續(xù)讀取多少個數(shù)據(jù);97-98位代表整個系統(tǒng)的工作模式,主要是分為兩種其中00代表完全根據(jù)指令進(jìn)行運行,01代表根據(jù)當(dāng)前指令進(jìn)行運行,并自動計算地址,下一時鐘周期,進(jìn)入自動模式;99-128位數(shù)據(jù)功能進(jìn)行保留。在整個輸入控制指令中包含包含圖像的行列大小以及輸出通道和輸入通道個數(shù)主要是在進(jìn)行自動模式下,能夠自主計算從DDR中讀取多少數(shù)據(jù),以及在整個系統(tǒng)的循環(huán)計算中,進(jìn)行一個循環(huán)的計數(shù),自主完成整個系統(tǒng)的DDR地址計算,以及讀取數(shù)據(jù)的控制。2)圖像預(yù)處理模塊指令格式如下:0-23-1112-2021-3132-4243-4748ID圖片行大小圖片列大小輸入通道個數(shù)輸出通道個數(shù)卷積通道數(shù)填充模式49-515253-5556-5859-6061-63預(yù)處理模式是否空洞卷積空洞卷積空洞個數(shù)卷積核大小卷積步長保留0-2圖像預(yù)處理模塊的指令I(lǐng)D為010;3-47位的代表意義與輸入控制模塊指令一致;48位代表系統(tǒng)的填充模式,需要填充時,48位為0時代表填充位填充數(shù)據(jù)0,48位為1時代表填充位填充數(shù)據(jù)為1;49-51代表整個卷積模式,根據(jù)卷積模式進(jìn)行數(shù)據(jù)的預(yù)處理。其中000時代表不進(jìn)行填充;001代表正常上下左右填充(K-1)行和(K-1)列數(shù)據(jù),其中K根據(jù)56-58位決定,填充數(shù)據(jù)跟44位的數(shù)據(jù)有關(guān);010代表代表進(jìn)行分塊卷積的上層部分,上邊沿和左右邊沿填充數(shù)據(jù),下邊沿不填充;011代表進(jìn)行分塊卷積的中間層部分,左右邊沿填充數(shù)據(jù),上下邊沿不填充;100代表進(jìn)行分塊卷積的下層部分,下邊沿以及左右邊沿填充數(shù)據(jù),上邊沿不填充。52位代表是否空洞卷積,空洞卷積也分填充和非填充,以及卷積的分塊,與前面的指令組合使用,當(dāng)為1時,代表空洞卷積,隨后空洞卷積的空洞個數(shù)跟后面指令代表的數(shù)據(jù)有關(guān)。53-55代表空洞卷積的空洞個數(shù),001代表空洞個數(shù)為1,010代表空洞個數(shù)為2,依次類推最大的個數(shù)為7;56-58代表卷積核大小,代表四種模式1、3、5、759-60代表卷積的步長,步長可以為1、2、361-63保留在預(yù)處理模塊主要是對輸入特征通道數(shù)據(jù)進(jìn)行預(yù)操作,保證卷積的高速運行,在進(jìn)行預(yù)處理操作時需要知道輸入特征圖通道數(shù)據(jù)的行列大小以及所要執(zhí)行的卷積模式,確保準(zhǔn)確對整個數(shù)據(jù)進(jìn)行包含填充、分塊等操作,依次輸出卷積窗口所需的數(shù)據(jù)。3)臨時緩存模塊的指令如下0-23-1112-2021-3132-4243-4445-63ID圖片行大小圖片列大小輸入通道個數(shù)輸出通道個數(shù)激活函數(shù)選擇保留0-2臨時緩存模塊的指令I(lǐng)D為011;3-42位與前面指令保持一致;43-44位代表進(jìn)行激活函數(shù)的選擇,00代表不經(jīng)歷激活函數(shù),01代表激活函數(shù)為Relu,10代表激活函數(shù)為Sigmoid,11代表激活函數(shù)為Tanh。45-63位保留;臨時緩存模塊主要是對卷積臨時結(jié)果的存儲,以及等待下一次批次卷積結(jié)果進(jìn)行累加,在所有輸入特征通道卷積計算結(jié)束時,加上偏置后,將結(jié)果進(jìn)行激活函數(shù)激勵,本文主要設(shè)計了三種激活函數(shù)可以選擇。4)池化模塊指令如下0-23-1112-2021-3132-4243-4546-63ID圖片行大小圖片列大小輸入通道個數(shù)輸出通道個數(shù)池化模式選擇保留0-2池化模塊的指令I(lǐng)D為100;3-43位與前面指令保持一致;在43-45進(jìn)行了表示對池化方式的選擇,000代表不進(jìn)行池化操作;001代表窗口為2×2的最大池化;010代表窗口為2×2的平均池化;011代表窗口為3×3的最大池化;100代表窗口為3×3的平均池化;46-63位保留;池化模塊主要是對卷積結(jié)果進(jìn)行池化操作,池化操作需要知道輸入特征圖的大小,以及需要的池化模式,池化結(jié)束后輸出到輸出緩存中。5)輸出緩存控制模塊指令0-23-1112-2021-3132-4243-47ID圖片行大小圖片列大小輸入通道個數(shù)輸出通道個數(shù)卷積通道數(shù)48-7576-9697-9899-127DDR讀取地址寫入DDR的個數(shù)控制模式保留其中輸出緩存控制模塊指令的ID為100,在整個指令中,與輸入緩存控制指令唯一不同DDR的地址位是寫地址,其余與輸入控制模塊一樣。在輸出緩存模塊中主要是講結(jié)果寫入到DDR中,以及在自動模式下進(jìn)行整個地址的自動計算,并跟輸入模塊進(jìn)行同步地址,保證數(shù)據(jù)有效存儲到DDR中,并讓輸入緩存模塊進(jìn)行準(zhǔn)確讀取數(shù)據(jù)。1.2.3控制系統(tǒng)的實現(xiàn)與仿真面對應(yīng)用重構(gòu)系統(tǒng)時,所需的指令程序可通過CPU或者外部接口傳統(tǒng)給控制系統(tǒng)。當(dāng)CPU端或者因特網(wǎng)進(jìn)行發(fā)送指令時,采用的是同一個數(shù)據(jù)位寬為64位的總線,由于輸入緩
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年杭州師范大學(xué)招聘65人備考題庫(冬季)帶答案詳解
- 桂林旅游學(xué)院2026年專職輔導(dǎo)員招聘備考題庫及答案詳解參考
- 三明市沙縣區(qū)2026年緊缺急需學(xué)科教育人才引進(jìn)備考題庫及答案詳解參考
- 2025年黑龍江省金融控股集團(tuán)有限公司及權(quán)屬企業(yè)招聘備考題庫及1套完整答案詳解
- 2025年廣西西林縣句町咖啡發(fā)展貿(mào)易有限公司冬季公開招聘工作人員的備考題庫及答案詳解參考
- 2025年【醫(yī)院招聘】歡迎您的加入備考題庫及參考答案詳解1套
- 2025年廈門市翔發(fā)集團(tuán)有限公司招聘備考題庫有答案詳解
- 2025年上海大學(xué)誠聘法學(xué)院院長備考題庫及完整答案詳解一套
- 2025年北滘鎮(zhèn)碧江中學(xué)招聘臨聘教師備考題庫及一套完整答案詳解
- 理課件教學(xué)課件
- 工地窒息事故應(yīng)急處置措施
- 口腔診所的數(shù)字化管理與運營
- 中國私人診所行業(yè)投資分析、市場運行態(tài)勢研究報告-智研咨詢發(fā)布(2025版)
- T-DGGC 015-2022 盾構(gòu)機(jī)組裝、調(diào)試及驗收技術(shù)標(biāo)準(zhǔn)
- 駕駛員年度安全培訓(xùn)計劃
- 消防器材檢查記錄表
- 中華人民共和國建筑法
- 完整版:美制螺紋尺寸對照表(牙數(shù)、牙高、螺距、小徑、中徑外徑、鉆孔)
- AC-20C瀝青混合料生產(chǎn)配合比以及配合比的驗證報告
- 人文英語4-機(jī)考題庫及答案
- 體檢中心醫(yī)護(hù)培訓(xùn)課件
評論
0/150
提交評論