freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

面向向量處理器的二維矩陣卷積的設(shè)計(jì)與實(shí)現(xiàn)(編輯修改稿)

2025-07-04 23:42 本頁面
 

【文章內(nèi)容簡介】 p個(gè)輸入特征圖元素使用該混洗模式進(jìn)行移位操作,同時(shí)標(biāo)量順序加載第二個(gè)卷積核元素,并廣播至向量寄存器中,將該寄存器與移位后的寄存器中的元素進(jìn)行乘法操作,并將乘法結(jié)果累加至步驟4)中的累加寄存器ACC中;6)根據(jù)卷積核的行數(shù)k1和列數(shù)k2重復(fù)上述過程,直到完成輸出特征圖第1行元素的計(jì)算;7)根據(jù)輸入特征圖的行數(shù)n1和列數(shù)n2,向量加載輸入特征圖的下一行元素,重復(fù)上述步驟,進(jìn)而完成整個(gè)卷積結(jié)果矩陣的計(jì)算。卷積神經(jīng)網(wǎng)絡(luò)模型中的卷積核規(guī)模一般都比較小,通常為13571111等,根據(jù)我們的算法需要,卷積核數(shù)據(jù)需要標(biāo)量取,因此將卷積核數(shù)據(jù)置于SM,輸入特征圖矩陣置于AM。其向量化實(shí)現(xiàn)過程如下:1)我們以雙精度浮點(diǎn)為例,單個(gè)數(shù)據(jù)為8字節(jié),為了敘述方面我們設(shè)輸入特征圖為NN的方陣,則NN8=7681024,所以向量存儲(chǔ)體AM中單次可以存放的最大輸入特征圖尺寸為222222,對于嵌入式處理器編程來說,當(dāng)輸入特征圖的尺寸大于222222時(shí),我們就需要從外存DDR中通過DMA來加載數(shù)據(jù)。圖4 FTmatrix2000矩陣卷積的算法映射(B:66;步長:11;kernel:22) Algorithm mapping of FTmatrix2000(B:66。stride:11。kernel:22)我們以一個(gè)例子來說明在不展開卷積矩陣的情況下如何同時(shí)計(jì)算輸出卷積矩陣多個(gè)元素的向量化實(shí)現(xiàn)方法,考慮一個(gè)16 的PEs(PE1,PE2,PE3,PE4,PE5,PE6),輸入特征圖矩陣I為66,卷積核矩陣為22,步長為1,為了敘述簡潔,我們只描述輸出結(jié)果矩陣第1行元素的計(jì)算(如圖4所示,其他行計(jì)算過程類似)。1:6個(gè)PEs加載輸入矩陣B的第1行元素(b1,1,b1,2,b1,3,b1,4,b1,5,b1,6),標(biāo)量加載卷積核矩陣的第1行第1個(gè)元素(k1,1),將k1,1廣播至向量寄存器中,即向量寄存器中的元素為k1,1,k1,1,k1,1,k1,1,k1,1,k1,1,通過向量處理器的乘加指令VFMULAD,每一個(gè)PE完成對應(yīng)元素與k1,1的乘法,并將乘法結(jié)果累加至對應(yīng)的累加寄存器ACC中;2:根據(jù)卷積核的移動(dòng)步長配置相應(yīng)的混洗模式(如圖5所示),本實(shí)例中由于移動(dòng)步長為1,因此配置的混洗模式為對應(yīng)的向量寄存器中的元素向左移動(dòng)1位,最左邊的元素移出寄存器,最右邊的元素補(bǔ)0,移位后當(dāng)前PEs所對應(yīng)的元素為b1,2,b1,3,b1,4,b1,5,b1,6,0,同時(shí)加載卷積核的第1行第2個(gè)素k1,2并廣播至向量寄存器中,即為k1,2,k1,2,k1,2,k1,2,k1,2,通過向量乘加指令,每一個(gè)PE完成對應(yīng)元素與k1,2的乘法,并將乘法結(jié)果累加至1中的累加寄存器ACC中;3:6個(gè)PEs加載輸入矩陣B的第2行元素(b2,1,b2,2,b2,3,b2,4,b2,5,b2,6),標(biāo)量加載卷積核矩陣第2行第1個(gè)元素(k2,1)并廣播至向量寄存器中,通過向量乘加指令,所有PE完成對應(yīng)元素與卷積核元素k2,1的乘法操作,并將乘法結(jié)果累加至2中的累加寄存器中;4:同2中的混洗模式,將3中取到的元素進(jìn)行移位,完成移位后當(dāng)前PEs所對應(yīng)的元素為b2,2,b2,3,b2,4,b2,5,b2,6,0,同時(shí)標(biāo)量加載卷積核矩陣第2行第2個(gè)元素并廣播至向量寄存器中,即為k2,2,k2,2,k2,2,k2,2,k2,2,k2,2,使用向量乘加指令,所有PE完成對應(yīng)元素與k2,2的乘法操作,并將結(jié)果累加至3中的累加寄存器中ACC。完成以上步驟,則4中累加寄存器中的值即為卷積結(jié)果矩陣第1行元素。圖5步長為1的混洗操作 Shuffle mode of stride 1通過對本文提出的矩陣卷積的向量化實(shí)現(xiàn)方法分析,可以看出本方法有以下優(yōu)勢,不需要通過將輸入特征圖和卷積核進(jìn)行重組成大規(guī)模的矩陣來提高并行性,減輕了矩陣展開所帶來了存儲(chǔ)壓力,提高了所取數(shù)據(jù)的利用率,在向量化代碼的優(yōu)化過程中,我們可以通過軟件流水的方式提高算法的并行性,完全流水的情況下,每拍可以同時(shí)計(jì)算出輸出特征圖的一行元素,同時(shí)也避免了文獻(xiàn)[15]中所采用的PEs陣列間數(shù)據(jù)的頻繁移動(dòng)操作。圖6雙Buffer機(jī)制示意 Double buffer mechanism2)當(dāng)輸入特征圖尺寸超過向量存儲(chǔ)體的容量時(shí),此時(shí),向量存儲(chǔ)體不能一次加載整個(gè)輸入特征圖。由于在高性能計(jì)算中,需要平滑各級存儲(chǔ)之間的數(shù)據(jù)搬移,保證內(nèi)核計(jì)算所需要的數(shù)據(jù)供給,進(jìn)而取得高效的處理器效率。由于FTmatrix2擁有多級存儲(chǔ)結(jié)構(gòu),如寄存器文件、L1D、Array Memory、Global Cache和DDR,且L1D可以配置為全Cache和全SRAM兩種模式,因此,當(dāng)輸入特征圖數(shù)量超過向量存儲(chǔ)體的容量時(shí),我們采用SRAM的方式,將L1D配置為全SRAM的形式,采用雙緩沖的乒乓方式平滑多級存儲(chǔ)結(jié)構(gòu)的數(shù)據(jù)傳輸,使得內(nèi)核的計(jì)算與DMA數(shù)據(jù)搬移完全重疊,讓內(nèi)核始終處于峰值運(yùn)行狀態(tài),進(jìn)而取得最佳計(jì)算效率(雙緩沖機(jī)制如圖6所示)。值得注意的是由于卷積計(jì)算有數(shù)據(jù)的重疊,因此在卷積矩陣分塊傳輸時(shí),根據(jù)卷積核的尺寸,第2次傳輸?shù)木矸e矩陣需要有部分?jǐn)?shù)據(jù)與第一次傳輸?shù)臄?shù)據(jù)重疊,假設(shè)卷積核尺寸為mm,若第1次傳輸1到n行,則第2次需重疊傳輸?shù)?次傳輸?shù)暮髆1行元素,由于卷積核一般較小,因此重疊傳輸數(shù)據(jù)的比重并不大。算法的并行不僅有單核內(nèi)部的向量化實(shí)現(xiàn),也包括多核的核間并行,由于FTmatrix2000是一款多核處理器,因此,研究矩陣卷積的多核并行也是一個(gè)重要內(nèi)容,尤其是對于大規(guī)模的矩陣卷積來說。由于核間并行需要考慮計(jì)算負(fù)載的多核劃分、算法的相關(guān)性、核間的通信開銷等,因此多核程序的設(shè)計(jì)更加復(fù)雜。由于當(dāng)前卷積神經(jīng)網(wǎng)絡(luò)模型中卷積層的計(jì)算規(guī)模從11到512512都存在,且一般都是卷積核尺寸較小的矩陣卷積操作,因此,在矩陣卷積的多核實(shí)現(xiàn)中一般不會(huì)將單個(gè)輸入特征圖分配給多個(gè)核來計(jì)算,而是由每個(gè)核負(fù)責(zé)獨(dú)立的卷積計(jì)算,即通過將輸入特征圖多核共享,卷積核矩陣多個(gè)核獨(dú)有的方式來進(jìn)行矩陣卷積的多核實(shí)現(xiàn)。圖7 FTmatrix2000矩陣卷積多核實(shí)現(xiàn)方案 Multicore implementation of matrix convolution on FTmatrix2000此外,由于在矩陣卷積的計(jì)算過程中,因卷積核的尺寸以及卷積核在輸入特征圖上的滑動(dòng)步長不同,單個(gè)卷積的計(jì)算過程存在一定的數(shù)據(jù)相關(guān)性,因此,考慮到多核同步的通信開銷,單輸入特征圖的卷積計(jì)算不易進(jìn)行多核并行。因此本文主要針對單核實(shí)現(xiàn)單個(gè)卷積矩陣的向量化設(shè)計(jì),當(dāng)有多個(gè)獨(dú)立的卷積計(jì)算時(shí)再由多核來并行進(jìn)行加速。多輸出矩陣卷積的多核實(shí)現(xiàn)如圖7所示,將DDR中的輸入特征圖廣播至n個(gè)計(jì)算核心,同時(shí)n個(gè)核加載不同的卷積核至n個(gè)核的標(biāo)量存儲(chǔ)體SM中,則多核程序?qū)崿F(xiàn)中每個(gè)核的計(jì)算過程同單核程序一樣。4 性能測試與分析本實(shí)驗(yàn)的對比平臺有AMD A106700 APU,4核4線程,DDR3 16G內(nèi)存,GPU平臺為NVIDIA GeForce GTX1080TI,11GB顯存,使用NVIDIA專門為卷積計(jì)算高度優(yōu)化的cudnn[24]函數(shù)庫,并基于Torch[25]神經(jīng)網(wǎng)絡(luò)編程框架進(jìn)行矩陣卷積的性能統(tǒng)計(jì)和優(yōu)化,F(xiàn)Tmatrix2000平臺單核核內(nèi)向量存儲(chǔ)空間768KB,標(biāo)量存儲(chǔ)空間96KB,核外DDR最大支持128GB,主頻1GHz;使用TI的高性能多核數(shù)字信號處理器TMS320C6678,8核,每個(gè)核擁有32KB
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1