基于FPGA的RNN加速SoC设计与实现
发布时间:2024-11-03 13:37
为提高循环神经网络(RNN)推理速度,分析了循环神经网络(RNN)在CPU的运行时间瓶颈、输入向量稀疏性和参数规模.设计RNN加速器核实现矩阵-稀疏向量乘并行计算,并同时将多个输入向量完整存储于片上SRAM,以复用部分权重从而降低DDR带宽需求.通过Verilog HDL对RNN加速器核进行RTL描述,并搭建仿真环境,将语音识别算法DeepSpeech2的网络参数输入RNN加速器核进行功能仿真.基于FPGA,将MicroBlaze处理器与RNN加速器核搭建SoC,由MicroBlaze实现激活函数、向量逐元素相乘等其它计算.实现了DeepSpeech2中RNN部分推理计算,与只使用MicroBlaze处理器相比,速度提高23倍,能量消耗降低9.4倍.
【文章页数】:6 页
【部分图文】:
本文编号:4011357
【文章页数】:6 页
【部分图文】:
如图1所示,循环神经网络加速SoC包含MicroBlaze主处理器,RNN加速器核,DMA,DDR控制器,UART核PCIEDMA等部分.PC端通过PCIE接口将神经网络参数核输入传输至DDR中;MicroBlaze控制RNN加速器核的工作状态,完成激活函数与向量逐点相乘等计算....
为了使每一个周期均有非零值进入MAC阵列计算,实现计算资源的最大利用,向量读取和索引产生模块每一个周期读取16个元素并输入0值删除模块,并尽可能每一个周期产生一个非零值.如图2所示,当第一级FIFO未满时,向量读取模块产生使能信号,读取16个数,并产生索引进入第一级FIFO.第一....
3.5MAC阵列一个MAC单元用于计算矩阵中的一行与向量点积的结果.如图3所示,一个MAC单元是一个三级流水线结构:第一级中向量的非零值打一拍,同时根据非零值的索引值取出对应位置的权重值,还会同时从偏置SRAM和输出SRAM分别取出偏置值和临时的累加结果;第二级向量非零值和权重....
本文编号:4011357
本文链接:https://www.wllwen.com/kejilunwen/dianzigongchenglunwen/4011357.html
上一篇:激光晶体热效应的影响消除及LD端面泵浦Nd:YVO 4 /GaAs被动调Q激光器研究
下一篇:没有了
下一篇:没有了