基于RISC-V架構(gòu)CNN向量指令集的擴(kuò)展及其實(shí)現(xiàn)
發(fā)布時(shí)間:2021-07-04 11:41
人工智能時(shí)代對(duì)處理海量數(shù)據(jù)的實(shí)時(shí)性提出了更加嚴(yán)格的要求,受限于集成電路晶體管物理特性逼近其極限,傳統(tǒng)的通用處理器的性能已經(jīng)很難滿足其需求。近些年來(lái),為了彌補(bǔ)通用處理器的不足,研究專用神經(jīng)網(wǎng)絡(luò)加速器的熱潮逐漸興起。本文使用Verilog HDL語(yǔ)言設(shè)計(jì)出一款卷積神經(jīng)網(wǎng)絡(luò)加速器,并基于RISC-V指令集架構(gòu)擴(kuò)展出卷積神經(jīng)網(wǎng)絡(luò)向量指令集。為了測(cè)試神經(jīng)網(wǎng)絡(luò)加速器的性能,將其嵌入到開源RISC-V處理器Ridecore當(dāng)中,和其它類型指令的執(zhí)行流程一樣,神經(jīng)網(wǎng)絡(luò)擴(kuò)展指令在處理器譯碼級(jí)進(jìn)行譯碼,然后在執(zhí)行級(jí)調(diào)用加速器對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行加速運(yùn)算。Ridecore是采用RISC-V指令集架構(gòu)設(shè)計(jì)而成,是兩路超標(biāo)量亂序執(zhí)行的處理器。截止到目前為止,RISC-V只定義了常用向量指令集的符號(hào)形式,并沒有對(duì)向量指令集進(jìn)行二進(jìn)制編碼。為了使得設(shè)計(jì)出的指令集具有一定的使用價(jià)值,本文向量指令集綜合了RISC-V指令集整體的編碼風(fēng)格和MIPS SIMD向量指令集的部分特征設(shè)計(jì)而成。向量指令集的類型包括卷積操作指令,池化操作指令以及非線性操作指令。本文采用Design Compile工具在28nm工藝下對(duì)加速器進(jìn)行綜合分析...
【文章來(lái)源】:安徽大學(xué)安徽省 211工程院校
【文章頁(yè)數(shù)】:58 頁(yè)
【學(xué)位級(jí)別】:碩士
【部分圖文】:
AlexNet網(wǎng)絡(luò)架構(gòu)圖
第二章卷積神經(jīng)網(wǎng)絡(luò)與向量處理機(jī)10表2.2四種損失函數(shù)公式序號(hào)類型公式1均方誤差p21()nniiiyy=2平均絕對(duì)誤差p1||nniiiyy=3平滑平均絕對(duì)誤差221(()),|()|21|()|other2(,())yfxyfxyfxwiseLyfx=≤,4Log-Cosh損失函數(shù)1(,)log(cosh())nppiiiLyyyy==2.1.2卷積神經(jīng)網(wǎng)絡(luò)從1962年Hubel和Wiesel兩位科學(xué)家對(duì)貓大腦中視覺神經(jīng)研究開始一直到今天,卷積神經(jīng)網(wǎng)絡(luò)經(jīng)歷了半個(gè)多世紀(jì)的發(fā)展,在人工智能領(lǐng)域已經(jīng)變的很成熟了。Alphago攻破圍棋戰(zhàn)勝了李世石;“天網(wǎng)工程”遍布各城鎮(zhèn),能夠快速定位嫌疑人;這些令人瞠目結(jié)舌的項(xiàng)目離不開卷積神經(jīng)網(wǎng)絡(luò)。卷積神經(jīng)網(wǎng)絡(luò)通常由卷積層,池化層,輸出層以及連接在卷積層之后的非線性單元組成。LeNet5是著名的手寫數(shù)字識(shí)別模型,由YannLeCun教授提出[7-8]。該模型是有7層組成,三個(gè)卷積層,兩個(gè)池化層,一個(gè)全連接層,一個(gè)輸出層。如圖2.2所示。算法1使用tesnsorflow實(shí)現(xiàn)LeNet5。圖2.2LeNet5數(shù)字識(shí)別模型
24條基本指令集,這些指令集有六種基本指令格式[19]。分別是源操作數(shù)和目的操作數(shù)都是寄存器的R類型指令,寄存器與立即數(shù)之間運(yùn)算的I類型指令,對(duì)存儲(chǔ)器進(jìn)行讀寫操作的S類型指令,用于有條件跳轉(zhuǎn)的B類型指令,無(wú)符號(hào)的長(zhǎng)立即數(shù)與寄存器進(jìn)行操作的U類型指令,無(wú)條件跳轉(zhuǎn)的J類型指令。指令格式圖中,opcode表示操作碼,funct表示功能碼,部分指令可以根據(jù)操作碼對(duì)指令直接進(jìn)行譯碼,還有一部分指令需要將操作碼和功能碼放在一起才能對(duì)指令進(jìn)行譯碼。基本指令集支持對(duì)32個(gè)通用寄存器進(jìn)行訪問(wèn),指令的基本格式如圖3.1所示。圖3.1RISC-V基本指令格式圖示R類型的指令含有三個(gè)寄存器地址,和MIPS指令集不同,MIPS指令集只含有兩個(gè)寄存器,目的寄存器和源操作寄存器同屬一個(gè)寄存器。MIPS這樣處理的弊端就是當(dāng)計(jì)算結(jié)果需要送往第三個(gè)寄存器時(shí),MIPS需要一條數(shù)據(jù)搬運(yùn)指令。I類型指令是將寄存器的值加上立即數(shù)的值,并將結(jié)果存放在目的寄存器當(dāng)中。立
【參考文獻(xiàn)】:
期刊論文
[1]深度神經(jīng)網(wǎng)絡(luò)并行化研究綜述[J]. 朱虎明,李佩,焦李成,楊淑媛,侯彪. 計(jì)算機(jī)學(xué)報(bào). 2018(08)
[2]基于龍芯SIMD技術(shù)的H.264視頻解碼優(yōu)化[J]. 顧麗紅,王銳,陳華才,吳少剛. 計(jì)算機(jī)工程與設(shè)計(jì). 2017(12)
[3]面向多核向量處理器的矩陣乘法向量化方法[J]. 劉仲,田希. 計(jì)算機(jī)學(xué)報(bào). 2018(10)
[4]龍芯3B的SIMD編譯優(yōu)化及分析[J]. 彭飛,顧乃杰,高翔,孫明明. 小型微型計(jì)算機(jī)系統(tǒng). 2012(12)
碩士論文
[1]深度學(xué)習(xí)加速器中矩陣向量乘部件設(shè)計(jì)[D]. 劉暢.西安電子科技大學(xué) 2019
[2]基于深度卷積神經(jīng)網(wǎng)絡(luò)的細(xì)粒度圖像識(shí)別與分類算法研究[D]. 趙星.安徽大學(xué) 2018
[3]LLVM循環(huán)向量化研究[D]. 黃亞斌.國(guó)防科學(xué)技術(shù)大學(xué) 2016
本文編號(hào):3264724
【文章來(lái)源】:安徽大學(xué)安徽省 211工程院校
【文章頁(yè)數(shù)】:58 頁(yè)
【學(xué)位級(jí)別】:碩士
【部分圖文】:
AlexNet網(wǎng)絡(luò)架構(gòu)圖
第二章卷積神經(jīng)網(wǎng)絡(luò)與向量處理機(jī)10表2.2四種損失函數(shù)公式序號(hào)類型公式1均方誤差p21()nniiiyy=2平均絕對(duì)誤差p1||nniiiyy=3平滑平均絕對(duì)誤差221(()),|()|21|()|other2(,())yfxyfxyfxwiseLyfx=≤,4Log-Cosh損失函數(shù)1(,)log(cosh())nppiiiLyyyy==2.1.2卷積神經(jīng)網(wǎng)絡(luò)從1962年Hubel和Wiesel兩位科學(xué)家對(duì)貓大腦中視覺神經(jīng)研究開始一直到今天,卷積神經(jīng)網(wǎng)絡(luò)經(jīng)歷了半個(gè)多世紀(jì)的發(fā)展,在人工智能領(lǐng)域已經(jīng)變的很成熟了。Alphago攻破圍棋戰(zhàn)勝了李世石;“天網(wǎng)工程”遍布各城鎮(zhèn),能夠快速定位嫌疑人;這些令人瞠目結(jié)舌的項(xiàng)目離不開卷積神經(jīng)網(wǎng)絡(luò)。卷積神經(jīng)網(wǎng)絡(luò)通常由卷積層,池化層,輸出層以及連接在卷積層之后的非線性單元組成。LeNet5是著名的手寫數(shù)字識(shí)別模型,由YannLeCun教授提出[7-8]。該模型是有7層組成,三個(gè)卷積層,兩個(gè)池化層,一個(gè)全連接層,一個(gè)輸出層。如圖2.2所示。算法1使用tesnsorflow實(shí)現(xiàn)LeNet5。圖2.2LeNet5數(shù)字識(shí)別模型
24條基本指令集,這些指令集有六種基本指令格式[19]。分別是源操作數(shù)和目的操作數(shù)都是寄存器的R類型指令,寄存器與立即數(shù)之間運(yùn)算的I類型指令,對(duì)存儲(chǔ)器進(jìn)行讀寫操作的S類型指令,用于有條件跳轉(zhuǎn)的B類型指令,無(wú)符號(hào)的長(zhǎng)立即數(shù)與寄存器進(jìn)行操作的U類型指令,無(wú)條件跳轉(zhuǎn)的J類型指令。指令格式圖中,opcode表示操作碼,funct表示功能碼,部分指令可以根據(jù)操作碼對(duì)指令直接進(jìn)行譯碼,還有一部分指令需要將操作碼和功能碼放在一起才能對(duì)指令進(jìn)行譯碼。基本指令集支持對(duì)32個(gè)通用寄存器進(jìn)行訪問(wèn),指令的基本格式如圖3.1所示。圖3.1RISC-V基本指令格式圖示R類型的指令含有三個(gè)寄存器地址,和MIPS指令集不同,MIPS指令集只含有兩個(gè)寄存器,目的寄存器和源操作寄存器同屬一個(gè)寄存器。MIPS這樣處理的弊端就是當(dāng)計(jì)算結(jié)果需要送往第三個(gè)寄存器時(shí),MIPS需要一條數(shù)據(jù)搬運(yùn)指令。I類型指令是將寄存器的值加上立即數(shù)的值,并將結(jié)果存放在目的寄存器當(dāng)中。立
【參考文獻(xiàn)】:
期刊論文
[1]深度神經(jīng)網(wǎng)絡(luò)并行化研究綜述[J]. 朱虎明,李佩,焦李成,楊淑媛,侯彪. 計(jì)算機(jī)學(xué)報(bào). 2018(08)
[2]基于龍芯SIMD技術(shù)的H.264視頻解碼優(yōu)化[J]. 顧麗紅,王銳,陳華才,吳少剛. 計(jì)算機(jī)工程與設(shè)計(jì). 2017(12)
[3]面向多核向量處理器的矩陣乘法向量化方法[J]. 劉仲,田希. 計(jì)算機(jī)學(xué)報(bào). 2018(10)
[4]龍芯3B的SIMD編譯優(yōu)化及分析[J]. 彭飛,顧乃杰,高翔,孫明明. 小型微型計(jì)算機(jī)系統(tǒng). 2012(12)
碩士論文
[1]深度學(xué)習(xí)加速器中矩陣向量乘部件設(shè)計(jì)[D]. 劉暢.西安電子科技大學(xué) 2019
[2]基于深度卷積神經(jīng)網(wǎng)絡(luò)的細(xì)粒度圖像識(shí)別與分類算法研究[D]. 趙星.安徽大學(xué) 2018
[3]LLVM循環(huán)向量化研究[D]. 黃亞斌.國(guó)防科學(xué)技術(shù)大學(xué) 2016
本文編號(hào):3264724
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/3264724.html
最近更新
教材專著