基于RISC-V和NVDLA的人工智能芯片開發(fā)平臺(tái)研究
發(fā)布時(shí)間:2021-07-27 12:08
隨著摩爾定律逐漸接近尾聲,一味地通過提升工藝來比拼硬件性能將變得越來越艱難。在現(xiàn)有工藝下,如何改進(jìn)硬件架構(gòu)來適應(yīng)不斷變化的人工智能算法變得愈發(fā)的重要。為了針對(duì)具體應(yīng)用,研究從底層硬件到上層軟件接口的設(shè)計(jì),保證芯片底層和上層軟件接口設(shè)計(jì)符合具體應(yīng)用的需求,本論文搭建了一個(gè)基于開源硬件框架的人工智能芯片研究平臺(tái)。本文首先對(duì)目前的人工智能計(jì)算平臺(tái)做了簡單的分類,介紹了RISC-V指令集和基于RISC-V指令集的三款開源處理器核,深入分析了硬件加速框架NVDLA,并對(duì)其系統(tǒng)搭建和內(nèi)部模塊功能做了簡單的使用說明。在此基礎(chǔ)上,介紹了主要設(shè)計(jì)工作:(1)根據(jù)RISC-V指令集可擴(kuò)展指令的方法,利用預(yù)留指令編碼空間設(shè)計(jì)了一條SIGMOD激活函數(shù)指令。然后定義運(yùn)算模塊六種狀態(tài),設(shè)計(jì)系統(tǒng)整體和內(nèi)部五個(gè)模塊的對(duì)外接口,設(shè)計(jì)最后仿真了具體運(yùn)算電路。(2)根據(jù)NVDLA CNN加速框架,從算力和帶寬兩方面入手設(shè)計(jì)硬件加速器。卷積神經(jīng)網(wǎng)絡(luò)主要用到兩種運(yùn)算:卷積和池化。分別對(duì)這兩種運(yùn)算通路進(jìn)行硬件設(shè)計(jì),然后仿真電路功能,封裝各自的驅(qū)動(dòng)函數(shù),并對(duì)函數(shù)配置參數(shù)作出說明。為了減少帶寬對(duì)硬件加速器的限制,設(shè)計(jì)了訪存模塊進(jìn)行...
【文章來源】:杭州電子科技大學(xué)浙江省
【文章頁數(shù)】:75 頁
【學(xué)位級(jí)別】:碩士
【部分圖文】:
三種硬件性能和靈活性
推理加速IP的設(shè)計(jì)包括兩部分,一部分針對(duì)算力,設(shè)計(jì)了卷積神經(jīng)網(wǎng)絡(luò)中通常用到的卷積和池化運(yùn)算通路,兩一部分是針對(duì)帶寬,設(shè)計(jì)了訪存模塊加速數(shù)據(jù)的傳輸。在此基礎(chǔ)上進(jìn)行相應(yīng)的軟件計(jì)算平臺(tái)的搭建和相應(yīng)驅(qū)動(dòng)的開發(fā)。在vivado上搭建基于RISC-V的軟核處理器和基于NVDLA框架的加速IP[27],對(duì)加速IP進(jìn)行仿真和驅(qū)動(dòng)封裝。該原型驗(yàn)證平臺(tái)基于xilinx的FPGA開發(fā)板,搭建RISC-V開發(fā)環(huán)境[28],對(duì)自定義指令進(jìn)行驗(yàn)證,并測(cè)試驅(qū)動(dòng)是否正常工作。最后,在FPGA上實(shí)現(xiàn)采用MNIST數(shù)據(jù)集識(shí)別手寫數(shù)字,完成對(duì)人工智能芯片開發(fā)平臺(tái)的驗(yàn)證。圖1.2系統(tǒng)示意圖
浙江省碩士學(xué)位論文8基于開源硬件設(shè)計(jì)思想,在RISC-V開源處理器上面實(shí)現(xiàn)對(duì)人工智能芯片平臺(tái)的研究。在通用型方面,對(duì)于80%經(jīng)常用到的指令,設(shè)計(jì)添加RISC-V專用指令進(jìn)行處理。在專用型方面,對(duì)于小部分涉及并行計(jì)算的算法,在NVDLA開源IP架構(gòu)的基礎(chǔ)上進(jìn)行CNN硬件加速研究。整體以FPGA作為原型驗(yàn)證平臺(tái)。2.2RISC-V開源指令集的介紹RISC-V是加州大學(xué)伯克利分校開源的處理器指令集項(xiàng)目,是一種全新的,開放免費(fèi)的指令集架構(gòu)。RISC-V基金會(huì)獲得了業(yè)界廣泛支持,匯集了諸多資源。項(xiàng)目的質(zhì)量遠(yuǎn)高于之前的開源芯片項(xiàng)目,因此目前已經(jīng)取得了很大成功。2.2.1RISC-V指令集簡介表2.1RISC-V模塊化指令集[31]基本指令集指令數(shù)描述RV32I4732位地址空間與整數(shù)指令,支持32個(gè)通用寄存器RV32E47RV32I的子集,僅支持16個(gè)通用整數(shù)寄存器RV64I5964位地址空間與整數(shù)指令及一部分32位的整數(shù)指令RV128I71128位地址空間與整數(shù)指令及一部分64位和32位的指令擴(kuò)展指令集指令數(shù)描述M8整數(shù)乘法與整數(shù)除法A11存儲(chǔ)器原子操作指令和Load/Store指令F26單精度(32比特)浮點(diǎn)指令D26雙精度(64比特)浮點(diǎn)指令,必須支持F擴(kuò)展指令C46壓縮指令,指令長度為16位圖2.1人工智能芯片開發(fā)平臺(tái)
【參考文獻(xiàn)】:
期刊論文
[1]基于FPGA的卷積神經(jīng)網(wǎng)絡(luò)并行加速結(jié)構(gòu)設(shè)計(jì)[J]. 劉志成,祝永新,汪輝,田犁,封松林. 微電子學(xué)與計(jì)算機(jī). 2018(10)
[2]基于FPGA的卷積神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)與實(shí)現(xiàn)[J]. 蔣林,王喜娟,劉鎮(zhèn)弢,謝曉燕,衡茜. 微電子學(xué)與計(jì)算機(jī). 2018(08)
[3]基于Rocket-Chip開源處理器的CNN加速模塊的設(shè)計(jì)及實(shí)現(xiàn)[J]. 楊維科,賀光輝,景乃鋒. 微電子學(xué)與計(jì)算機(jī). 2018(04)
[4]基于FPGA的脈沖神經(jīng)網(wǎng)絡(luò)加速器設(shè)計(jì)[J]. 沈陽靖,沈君成,葉俊,馬琪. 電子科技. 2017(10)
[5]開源處理器Rocket的自定義指令研究與測(cè)試[J]. 雷思磊. 單片機(jī)與嵌入式系統(tǒng)應(yīng)用. 2017(05)
[6]FPGA異構(gòu)計(jì)算平臺(tái)及其應(yīng)用[J]. 胡雷鈞,陳乃剛,李健,韓峰,趙雅倩. 電力信息與通信技術(shù). 2016(07)
[7]基于FPGA的卷積神經(jīng)網(wǎng)絡(luò)加速器[J]. 余子健,馬德,嚴(yán)曉浪,沈君成. 計(jì)算機(jī)工程. 2017(01)
碩士論文
[1]基于FPGA的深度學(xué)習(xí)加速器設(shè)計(jì)與實(shí)現(xiàn)[D]. 余奇.中國科學(xué)技術(shù)大學(xué) 2016
本文編號(hào):3305752
【文章來源】:杭州電子科技大學(xué)浙江省
【文章頁數(shù)】:75 頁
【學(xué)位級(jí)別】:碩士
【部分圖文】:
三種硬件性能和靈活性
推理加速IP的設(shè)計(jì)包括兩部分,一部分針對(duì)算力,設(shè)計(jì)了卷積神經(jīng)網(wǎng)絡(luò)中通常用到的卷積和池化運(yùn)算通路,兩一部分是針對(duì)帶寬,設(shè)計(jì)了訪存模塊加速數(shù)據(jù)的傳輸。在此基礎(chǔ)上進(jìn)行相應(yīng)的軟件計(jì)算平臺(tái)的搭建和相應(yīng)驅(qū)動(dòng)的開發(fā)。在vivado上搭建基于RISC-V的軟核處理器和基于NVDLA框架的加速IP[27],對(duì)加速IP進(jìn)行仿真和驅(qū)動(dòng)封裝。該原型驗(yàn)證平臺(tái)基于xilinx的FPGA開發(fā)板,搭建RISC-V開發(fā)環(huán)境[28],對(duì)自定義指令進(jìn)行驗(yàn)證,并測(cè)試驅(qū)動(dòng)是否正常工作。最后,在FPGA上實(shí)現(xiàn)采用MNIST數(shù)據(jù)集識(shí)別手寫數(shù)字,完成對(duì)人工智能芯片開發(fā)平臺(tái)的驗(yàn)證。圖1.2系統(tǒng)示意圖
浙江省碩士學(xué)位論文8基于開源硬件設(shè)計(jì)思想,在RISC-V開源處理器上面實(shí)現(xiàn)對(duì)人工智能芯片平臺(tái)的研究。在通用型方面,對(duì)于80%經(jīng)常用到的指令,設(shè)計(jì)添加RISC-V專用指令進(jìn)行處理。在專用型方面,對(duì)于小部分涉及并行計(jì)算的算法,在NVDLA開源IP架構(gòu)的基礎(chǔ)上進(jìn)行CNN硬件加速研究。整體以FPGA作為原型驗(yàn)證平臺(tái)。2.2RISC-V開源指令集的介紹RISC-V是加州大學(xué)伯克利分校開源的處理器指令集項(xiàng)目,是一種全新的,開放免費(fèi)的指令集架構(gòu)。RISC-V基金會(huì)獲得了業(yè)界廣泛支持,匯集了諸多資源。項(xiàng)目的質(zhì)量遠(yuǎn)高于之前的開源芯片項(xiàng)目,因此目前已經(jīng)取得了很大成功。2.2.1RISC-V指令集簡介表2.1RISC-V模塊化指令集[31]基本指令集指令數(shù)描述RV32I4732位地址空間與整數(shù)指令,支持32個(gè)通用寄存器RV32E47RV32I的子集,僅支持16個(gè)通用整數(shù)寄存器RV64I5964位地址空間與整數(shù)指令及一部分32位的整數(shù)指令RV128I71128位地址空間與整數(shù)指令及一部分64位和32位的指令擴(kuò)展指令集指令數(shù)描述M8整數(shù)乘法與整數(shù)除法A11存儲(chǔ)器原子操作指令和Load/Store指令F26單精度(32比特)浮點(diǎn)指令D26雙精度(64比特)浮點(diǎn)指令,必須支持F擴(kuò)展指令C46壓縮指令,指令長度為16位圖2.1人工智能芯片開發(fā)平臺(tái)
【參考文獻(xiàn)】:
期刊論文
[1]基于FPGA的卷積神經(jīng)網(wǎng)絡(luò)并行加速結(jié)構(gòu)設(shè)計(jì)[J]. 劉志成,祝永新,汪輝,田犁,封松林. 微電子學(xué)與計(jì)算機(jī). 2018(10)
[2]基于FPGA的卷積神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)與實(shí)現(xiàn)[J]. 蔣林,王喜娟,劉鎮(zhèn)弢,謝曉燕,衡茜. 微電子學(xué)與計(jì)算機(jī). 2018(08)
[3]基于Rocket-Chip開源處理器的CNN加速模塊的設(shè)計(jì)及實(shí)現(xiàn)[J]. 楊維科,賀光輝,景乃鋒. 微電子學(xué)與計(jì)算機(jī). 2018(04)
[4]基于FPGA的脈沖神經(jīng)網(wǎng)絡(luò)加速器設(shè)計(jì)[J]. 沈陽靖,沈君成,葉俊,馬琪. 電子科技. 2017(10)
[5]開源處理器Rocket的自定義指令研究與測(cè)試[J]. 雷思磊. 單片機(jī)與嵌入式系統(tǒng)應(yīng)用. 2017(05)
[6]FPGA異構(gòu)計(jì)算平臺(tái)及其應(yīng)用[J]. 胡雷鈞,陳乃剛,李健,韓峰,趙雅倩. 電力信息與通信技術(shù). 2016(07)
[7]基于FPGA的卷積神經(jīng)網(wǎng)絡(luò)加速器[J]. 余子健,馬德,嚴(yán)曉浪,沈君成. 計(jì)算機(jī)工程. 2017(01)
碩士論文
[1]基于FPGA的深度學(xué)習(xí)加速器設(shè)計(jì)與實(shí)現(xiàn)[D]. 余奇.中國科學(xué)技術(shù)大學(xué) 2016
本文編號(hào):3305752
本文鏈接:http://sikaile.net/kejilunwen/dianzigongchenglunwen/3305752.html
最近更新
教材專著