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