基于FPGA的卷积网络加速设计

       答辩完了,放上来毕设的最后一部分内容,CNN的硬件加速。大多数论文采用的FPGA加速大多基于HLS或是OpenCL,用高级语言编写的。我没有接触过,不知道转化为底层HDL效率如何。本科学了verilog,因此还是用的verilog HDL硬件语言设计的。

       为了权衡系统资源及计算速度,制定了以下并行策略,如图所示。首先,第一层卷积单独采用移位寄存器结构加速(可以参考相关论文,使用大量乘法器,以计算资源换取速度,实现每个周期输出一个卷积结果),其它层卷积采用纯流水线的结构(即每个通道为一个乘法器+一个加法器)。由于带宽限制,第二层卷积采用通道分组策略,排队输出,最后完成通道合并。针对两款FPGA设定不同的组数。这种策略能实现组间的资源复用,减少资源消耗。

       FPGA加速还有很多优化的空间。比如流水线以及资源复用这块,可以发挥FPGA的优势;量化这块,可以采用较小位数,牺牲部分精度而换取资源和速度;裁剪这块,结合全局均值池化、1*1卷积、剪枝等参数裁剪方法,减少参数移植;卷积结构这块,可以考虑像caffe那种使用toplitz矩阵形式的卷积计算,同样是资源换取速度的方法等等。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值