国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

多核DNN處理器訪存指令數(shù)據(jù)寬度的混合策略

2022-05-30 17:33:08劉元旭張方正王永昶王寶生

劉元旭 張方正 王永昶 王寶生

關(guān)鍵詞:DNN處理器;片上網(wǎng)絡(luò);訪存指令;混合訪存數(shù)據(jù)寬度

1引言

近年來,DNN在計(jì)算機(jī)視覺、自然語言處理等領(lǐng)域得到了廣泛應(yīng)用。DNN任務(wù)具有計(jì)算密集和訪存密集的特點(diǎn),通用處理器在處理DNN任務(wù)時(shí)的性能較為不足。為了提升DNN任務(wù)的執(zhí)行效率,涌現(xiàn)了一批DNN專用處理器,它們大多采用片上網(wǎng)絡(luò)架構(gòu),通過在片上設(shè)置大量并行計(jì)算單元來加速DNN任務(wù)。隨著芯片工藝的發(fā)展,DNN處理器的計(jì)算性能已得到很大提升,但訪存性能卻一直滯后于計(jì)算性能的發(fā)展,產(chǎn)生了“內(nèi)存墻”問題[3]。“內(nèi)存墻”正成為制約DNN處理器性能提升的一個(gè)關(guān)鍵問題。

已有的DNN處理器的訪存指令采用的訪存數(shù)據(jù)寬度的訪存效率較低。訪存數(shù)據(jù)寬度通常由處理器中的load—store類指令決定。在通用處理器領(lǐng)域特別是RISC架構(gòu)下,由于其所面臨的任務(wù)具有不確定性,其load—store指令中數(shù)據(jù)寬度往往是固定的。然而,DNN任務(wù)的數(shù)據(jù)類型往往是可以預(yù)見的,為了加快訪存,有必要設(shè)計(jì)專用的load—store指令以及訪存數(shù)據(jù)寬度。本文提出了一種將定長(zhǎng)/變長(zhǎng)訪存數(shù)據(jù)寬度進(jìn)行混合的策略,該策略保留了可變長(zhǎng)訪存指令的靈活性,同時(shí)具有定長(zhǎng)訪存指令的簡(jiǎn)潔。實(shí)驗(yàn)證明,本文提出的混合訪存數(shù)據(jù)寬度設(shè)計(jì)策略能夠提升DNN數(shù)據(jù)的訪存效率。

2相關(guān)工作

DNN任務(wù)具有訪存密集的特點(diǎn),在對(duì)10種神經(jīng)網(wǎng)絡(luò)進(jìn)行指令統(tǒng)計(jì)中發(fā)現(xiàn),訪存指令占比達(dá)38.00-/0。不同的平臺(tái)在DNN任務(wù)中使用的訪存指令各有不同。

通用CPU上通常使用SIMD方式的load-store指令來實(shí)現(xiàn)數(shù)據(jù)級(jí)并行[6]。但SIMD指令在訪存DNN不同規(guī)模數(shù)據(jù)時(shí)不具有靈活性:GPU[7]上對(duì)不同類型的內(nèi)存采用不同的LD/ST指令,這是GPU訪存指令的一個(gè)特色:一些DNN處理器使用可變長(zhǎng)度的向量/矩陣load-store指令來加快訪存,其load-store指令操作數(shù)寬度可以取在寄存器容量范圍內(nèi)的任意值來適應(yīng)DNN不同類型數(shù)據(jù)的變化。但其需要更多不同規(guī)格的乘加單元以及數(shù)據(jù)拆分/合并單元,增加了計(jì)算單元硬件實(shí)現(xiàn)的復(fù)雜度,且在訪問不同規(guī)模的數(shù)據(jù)時(shí)易造成片上傳輸資源的浪費(fèi)。

綜合考慮,設(shè)計(jì)DNN處理器訪存指令既要考慮使用可變長(zhǎng)的向量/矩陣訪存指令的靈活,也應(yīng)該考慮硬件實(shí)現(xiàn)的復(fù)雜性。

3load-store指令數(shù)據(jù)寬度混合策略

DNN訓(xùn)練中的數(shù)據(jù)按照其在網(wǎng)絡(luò)層中的作用分為四種,即輸入神經(jīng)元數(shù)據(jù)、權(quán)重?cái)?shù)據(jù)、偏置數(shù)據(jù)和輸出神經(jīng)元數(shù)據(jù)。在數(shù)據(jù)規(guī)模上,權(quán)重?cái)?shù)據(jù)在卷積層表現(xiàn)為規(guī)模較小的卷積核,在全連接層則表現(xiàn)為規(guī)模較大的全連接權(quán)重,后者對(duì)訪存性能的需求遠(yuǎn)遠(yuǎn)大于前者;在連續(xù)性上,卷積核具有小尺寸的局部性,可以使用匹配其尺寸的load-store指令將其一次傳輸,而全連接層的權(quán)重則具有大尺寸的連續(xù)性,使用具有盡可能大的訪存數(shù)據(jù)寬度來傳輸,可以減少訪存次數(shù)。因此,不同數(shù)據(jù)不宜采用具有同樣指令數(shù)據(jù)寬度的load-store類指令。本文分別針對(duì)DNN不同類型數(shù)據(jù)采用不同的訪存數(shù)據(jù)寬度混合策略。

3.1卷積層數(shù)據(jù)寬度混合策略

輸入數(shù)據(jù)/輸出數(shù)據(jù):卷積層輸入/輸出特征圖的訪存數(shù)據(jù)寬度主要取決于特征圖的行寬度,若最大數(shù)據(jù)寬度值不能容納特征圖的一行數(shù)據(jù),則采用最大數(shù)據(jù)寬度值:否則采用的上限值為卷積核的一行數(shù)據(jù)的最小數(shù)據(jù)寬度,見式(1)和式(2):

卷積核數(shù)據(jù):卷積核數(shù)據(jù)也可看成是一種特征圖數(shù)據(jù),其訪存數(shù)據(jù)寬度設(shè)計(jì)方法參照輸入/輸出數(shù)據(jù)。在常見的神經(jīng)網(wǎng)絡(luò)中卷積核的行值一般為3/5/7/11且為奇數(shù),因此在設(shè)定混合數(shù)據(jù)寬度時(shí)其對(duì)應(yīng)的卷積核最大寬度上限值為64/128/256比特。

偏置數(shù)據(jù):為了減少偏置數(shù)據(jù)訪存的訪存次數(shù),計(jì)算單元每次訪存要根據(jù)計(jì)算任務(wù)映射讀取盡可能多的偏置數(shù)據(jù),因此偏置數(shù)據(jù)的訪存數(shù)據(jù)寬度主要取決于片上網(wǎng)絡(luò)每個(gè)計(jì)算單元可映射的輸出特征圖的個(gè)數(shù)P,該值為該層輸出特征圖個(gè)數(shù)與片上網(wǎng)絡(luò)PE個(gè)數(shù)的比值并向上取整。偏置數(shù)據(jù)的混合訪存數(shù)據(jù)寬度設(shè)定見式(3):

3.2池化層數(shù)據(jù)寬度混合策略

由于池化層處于兩個(gè)卷積層之間,因此池化層的輸人數(shù)據(jù)采用其上一卷積層輸出數(shù)據(jù)所采用的訪存數(shù)據(jù)寬度值,輸出數(shù)據(jù)采用其下一卷積層輸人數(shù)據(jù)所采用的訪存數(shù)據(jù)寬度值。池化層無權(quán)重?cái)?shù)據(jù),因此不做設(shè)定。

3.3全連接層數(shù)據(jù)寬度混合策略

在全連接層應(yīng)保證單個(gè)訪存指令可以訪問更多的數(shù)據(jù)。因此,本文統(tǒng)一采用混合數(shù)據(jù)寬度的最大數(shù)據(jù)寬度值作為全連接層的輸入/權(quán)重?cái)?shù)據(jù)的訪存數(shù)據(jù)寬度:偏置數(shù)據(jù)量與輸出神經(jīng)元數(shù)量相等,對(duì)其訪存數(shù)據(jù)寬度的設(shè)定采用式(3)。

4實(shí)驗(yàn)

為驗(yàn)證使用混合訪存數(shù)據(jù)寬度對(duì)訪存延時(shí)的降低效果,對(duì)LeNet5和AlexNet為實(shí)驗(yàn)對(duì)象進(jìn)行了片上網(wǎng)絡(luò)仿真實(shí)驗(yàn)以及分析。實(shí)驗(yàn)采用的DNN處理器片上網(wǎng)絡(luò)架構(gòu)為典型的4x4拓?fù)浣Y(jié)構(gòu)(圖1),其中R表示路由節(jié)點(diǎn),PE表示計(jì)算單元。

圖2和圖3展示了LeNet5和AlexNet采用混合訪存數(shù)據(jù)寬度比采用傳統(tǒng)定長(zhǎng)訪存數(shù)據(jù)寬度的訪存延時(shí)降低率曲線,兩個(gè)網(wǎng)絡(luò)的訪存延時(shí)平均降低15.87%和11.9%,且最大數(shù)據(jù)寬度越大延時(shí)降低率越高。卷積層曲線中,LeNet5以128比特為界,超過128比特后,最大訪存數(shù)據(jù)寬度越大,采用混合訪存數(shù)據(jù)寬度的延時(shí)降低效果越明顯,這是因?yàn)長(zhǎng)eNet5中卷積核的尺寸全部為5x5,根據(jù)提出的混合策略其訪存數(shù)據(jù)寬度的上限值為128比特:LeNet5池化層曲線可得與卷積層相似結(jié)論:在全連接曲線中,LeNet5在采用混合訪存數(shù)據(jù)寬度時(shí)較好的情況是在128、256、512比特,在32比特時(shí)訪存延時(shí)略微減少,在64比特時(shí)出現(xiàn)反效果。這是因?yàn)槿B接場(chǎng)景中混合策略主要作用于偏置數(shù)據(jù),在32比特和64比特時(shí)偏置主要是以16比特混合,兩種情形下16比特?cái)?shù)據(jù)的占比分別為0. 1%、0.2%,占比較低不能有效減少整體數(shù)據(jù)訪存造成的延時(shí)。進(jìn)一步可以看到,LeNet5和AlexNet全網(wǎng)絡(luò)的曲線與卷積、池化層曲線高度重合,與全連接層曲線差距較大。這說明本文提出的訪存指令數(shù)據(jù)寬度混合策略更有助于減少卷積場(chǎng)景和池化場(chǎng)景的片上傳輸延時(shí),而對(duì)全連接場(chǎng)景的效果不明顯。5結(jié)束語

本文提出了一種DNN處理器訪存指令在訪存數(shù)據(jù)寬度上的混合策略。通過對(duì)混合訪存數(shù)據(jù)寬度設(shè)計(jì)與傳統(tǒng)的定長(zhǎng)訪存數(shù)據(jù)寬度設(shè)計(jì)進(jìn)行片上網(wǎng)絡(luò)仿真實(shí)驗(yàn),證明在LeNet5和AlexNet訓(xùn)練任務(wù)中采用混合訪存數(shù)據(jù)寬度可以獲得更低的訪存延時(shí),且更適用于對(duì)卷積場(chǎng)景進(jìn)行訓(xùn)練加速。對(duì)于目前的DNN而言,卷積層仍處于主要地位,甚至有些DNN除了最后的輸出層外已經(jīng)不含全連接層,因此本文提出的混合策略對(duì)大多DNN任務(wù)都是有效的。

樟树市| 新乡县| 开封县| 钟祥市| 福州市| 右玉县| 高陵县| 永川市| 南充市| 新民市| 宜州市| 长垣县| 古蔺县| 迁安市| 开封县| 桂东县| 白水县| 桦南县| 兴文县| 会宁县| 嫩江县| 虎林市| 阜阳市| 福建省| 会昌县| 肃北| 岚皋县| 茌平县| 靖江市| 巴楚县| 天柱县| 井冈山市| 栾川县| 曲麻莱县| 吉首市| 桃园市| 清流县| 安西县| 广德县| 林口县| 临沂市|