《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 一種基于FPGA的CNN硬件加速器實現
一種基于FPGA的CNN硬件加速器實現
電子技術應用
邱臻博
重慶郵電大學 光電工程學院, 重慶 400065
摘要: 提出了一種基于FPGA的通用CNN硬件加速器設計方案。針對計算量最大的卷積層,采用了輸入通道并行、核內并行、輸出通道并行三種加速方式,根據FPGA的片上資源,合理地設置相應并行度。在數據加載方面,采用相鄰數據位寬合并傳輸,有效提高了加速器的實際傳輸帶寬。基于行的數據流加載思想,設計了輸入緩存模塊。該緩存模塊只需緩存兩行數據即可開始卷積運算,有效地提前卷積運算的開始時間。在數據輸入、數據運算、數據輸出模塊之間,利用流水線循環優化方式,極大地提高了硬件的計算性能。最后將該加速器應用于VGG16和Darknet-19網絡,實驗表明,計算性能分別達到34.30 GOPS和33.68 GOPS,DSP計算效率分別高達79.45%和78.01%。
中圖分類號:TP391 文獻標志碼:A DOI: 10.16157/j.issn.0258-7998.234372
中文引用格式: 邱臻博. 一種基于FPGA的CNN硬件加速器實現[J]. 電子技術應用,2023,49(12):20-25.
英文引用格式: Qiu Zhenbo. An FPGA-based implementation of CNN hardware accelerator[J]. Application of Electronic Technique,2023,49(12):20-25.
An FPGA-based implementation of CNN hardware accelerator
Qiu Zhenbo
College of Photoelectric Engineering, Chongqing University of Posts and Telecommunications, Chongqing 400065, China
Abstract: This paper proposes a general CNN hardware accelerator design scheme based on FPGA. For the most computationally intensive convolutional layer, three acceleration modes are adopted: input channel parallelism, intra-core parallelism, and output channel parallelism, and the corresponding parallelism degree is reasonably set according to the on-chip resources of FPGA. In terms of data loading, adjacent data bit width combined transmission is adopted, which effectively improves the actual transmission bandwidth of the accelerator. Based on the idea of row-based data flow loading, the input cache module is designed. The cache module only needs to cache two rows of data to start the convolution operation, effectively advancing the start time of the convolution operation. Between the data input, data operation, and data output modules, the pipeline cycle optimization method is used to greatly improve the computing performance of the hardware. Finally, the accelerator is applied to VGG16 and Darknet-19 networks, and experiments show that the computing performance reaches 34.30 GOPS and 33.68 GOPS, respectively, and the DSP computing efficiency is as high as 79.45% and 78.01%.
Key words : convolutional neural network acceleration;FPGA;row data loading;module division;pipeline structure

0 引言

隨著深度學習技術的飛速發展,神經網絡模型在圖像識別、目標檢測和圖像分割等領域取得了巨大技術進步[1-2]。然而相比較傳統算法,神經網絡在獲得高的性能同時也帶來了高計算復雜度的問題,使得基于專用硬件設備加速神經網絡成為神經網絡模型應用領域關注的焦點。目前,神經網絡模型硬件加速的主要方案有GPU、ASIC和FPGA三種方案。相比較GPU,FPGA具有成本功耗低的特點;相比較ASIC,FPGA具有模型實現靈活、開發速度快、綜合成本低的特點,特別適用于當前神經網絡在邊緣設備上部署的需求,因此基于FPGA的神經網絡模型加速研究成為當前神經網絡領域研究的熱點[3-5]。

大多數神經網絡模型中卷積層的運算量占到了總計算量的90%以上,因此可以通過在FPGA中執行卷積運算來實現神經網絡加速[6-7]。文獻[6]基于FPGA實現通用矩陣乘法加速器來實現神經網絡加速,獲得了很好的加速性能。文獻[7]則提出了一種基于脈動陣結構的矩陣乘法加速模塊,并用于神經網絡加速,獲得了較好的性能提升。文獻[8-9]從卷積運算的加速算法方面進行研究,Liang Y[8]等人基于二維Winograd算法在FPGA上對CNN進行了實現,與常規的卷積計算單元相比,該實現中基于二維Winograd算法設計的卷積計算單元將乘法操作減少了56%。Tahmid Abtahi[10]等人使用快速傅里葉變換(Fast Fourier Transform,FFT)對ResNet-20模型中的卷積運算進行優化,成功減少了單個卷積計算單元的DSP資源使用量。除卷積運算加速外,相關研究團隊對神經網絡加速過程中的其他方面也展開深入研究[10-14]。文獻[10]提出了一種塊卷積方法,這是傳統卷積的一種內存高效替代方法,將中間數據緩沖區從外部DRAM完全移動到片上存儲器,但隨著分塊層數的增加,精度會降低。文獻[11]提出一種相鄰層位寬合并和權重參數重排序的策略實現數據傳輸的優化方法,增加數據傳輸并行度的同時節省了通道的使用。文獻[12-14]采取乒-乓處理結構,分別在輸入模塊、卷積運算單元、輸出模塊方面提升了卷積運算的速率。



本文詳細內容請下載http://www.jysgc.com/resource/share/2000005800


作者信息

邱臻博

(重慶郵電大學 光電工程學院, 重慶 400065)




weidian.jpg

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 欧美乱子伦xxxx| 精品国产欧美精品v| 国产精品亚洲精品日韩已满| j8又粗又硬又大又爽视频| 我和岳乱妇三级高清电影| 国产一级淫片a视频免费观看| 拍拍拍无挡免费视频网站| 国内精品久久久久久久97牛牛| а√天堂中文最新版地址| 成人自拍视频网| 久久久国产乱子伦精品| 日韩精品久久久久久免费| 亚洲六月丁香六月婷婷蜜芽| 正在播放高级会所丰满女技师| 伊人色综合久久天天| 精品女同一区二区| 国产ts最新人妖在线| 边摸边脱吃奶边高潮视频免费| 国产成人黄色在线观看| 浮力国产第一页| 国产精品无码av片在线观看播| 97se色综合一区二区二区| 大陆黄色a级片| 久久一区不卡中文字幕| 欧美大尺度电影| 亚洲欧美色一区二区三区| 爽爽yin人网| 免费人成年激情视频在线观看| 精品国产综合区久久久久久| 四虎影视1515hh四虎免费| 色吊丝永久在线观看最新免费| 国产乱子精品免费视观看片| 风间由美100部合集| 国产成人av三级在线观看| 99久久国产综合精品女图图等你 | 香艳69xxxxx有声小说| 国产成人精品免费视频大全| 五月天综合在线| 国产真实伦偷精品| 亚洲六月丁香婷婷综合| 国产精品vⅰdeoXXXX国产|