• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

    2022-04-29 17:48:55劉元旭張方正王永昶王寶生
    計算機應(yīng)用文摘 2022年18期

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

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

    1引言

    近年來,DNN在計算機視覺、自然語言處理等領(lǐng)域得到了廣泛應(yīng)用。DNN任務(wù)具有計算密集和訪存密集的特點,通用處理器在處理DNN任務(wù)時的性能較為不足。為了提升DNN任務(wù)的執(zhí)行效率,涌現(xiàn)了一批DNN專用處理器,它們大多采用片上網(wǎng)絡(luò)架構(gòu),通過在片上設(shè)置大量并行計算單元來加速DNN任務(wù)。隨著芯片工藝的發(fā)展,DNN處理器的計算性能已得到很大提升,但訪存性能卻一直滯后于計算性能的發(fā)展,產(chǎn)生了“內(nèi)存墻”問題[3]。“內(nèi)存墻”正成為制約DNN處理器性能提升的一個關(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è)計專用的load—store指令以及訪存數(shù)據(jù)寬度。本文提出了一種將定長/變長訪存數(shù)據(jù)寬度進行混合的策略,該策略保留了可變長訪存指令的靈活性,同時具有定長訪存指令的簡潔。實驗證明,本文提出的混合訪存數(shù)據(jù)寬度設(shè)計策略能夠提升DNN數(shù)據(jù)的訪存效率。

    2相關(guān)工作

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

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

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

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

    DNN訓(xùn)練中的數(shù)據(jù)按照其在網(wǎng)絡(luò)層中的作用分為四種,即輸入神經(jīng)元數(shù)據(jù)、權(quán)重數(shù)據(jù)、偏置數(shù)據(jù)和輸出神經(jīng)元數(shù)據(jù)。在數(shù)據(jù)規(guī)模上,權(quán)重數(shù)據(jù)在卷積層表現(xiàn)為規(guī)模較小的卷積核,在全連接層則表現(xiàn)為規(guī)模較大的全連接權(quán)重,后者對訪存性能的需求遠遠大于前者;在連續(xù)性上,卷積核具有小尺寸的局部性,可以使用匹配其尺寸的load-store指令將其一次傳輸,而全連接層的權(quán)重則具有大尺寸的連續(xù)性,使用具有盡可能大的訪存數(shù)據(jù)寬度來傳輸,可以減少訪存次數(shù)。因此,不同數(shù)據(jù)不宜采用具有同樣指令數(shù)據(jù)寬度的load-store類指令。本文分別針對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è)計方法參照輸入/輸出數(shù)據(jù)。在常見的神經(jīng)網(wǎng)絡(luò)中卷積核的行值一般為3/5/7/11且為奇數(shù),因此在設(shè)定混合數(shù)據(jù)寬度時其對應(yīng)的卷積核最大寬度上限值為64/128/256比特。

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

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

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

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

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

    4實驗

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

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

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

    怀仁县| 乐东| 房产| 民乐县| 南川市| 芦山县| 乌审旗| 陆川县| 荆州市| 正定县| 东至县| 徐水县| 茂名市| 天祝| 敖汉旗| 特克斯县| 宁波市| 美姑县| 阿拉善盟| 潜山县| 六盘水市| 永登县| 海门市| 溆浦县| 明星| 海城市| 绥中县| 沈阳市| 霍林郭勒市| 常德市| 平顶山市| 新丰县| 蓝山县| 襄樊市| 栾川县| 盐边县| 宜春市| 虹口区| 化德县| 莆田市| 榆社县|