一种基于RS数据流的卷积硬件加速器及其方法

文档序号:28620896发布日期:2022-01-22 13:24阅读:来源:国知局

技术特征:
1.一种基于rs数据流的卷积硬件加速器,其特征在于,包括:片外ddr存储器,用于存储原始图像数据和神经网络推理结果数据;片上缓存模块,用于存储从片外ddr存储器读取的原始图像数据、卷积核权重数据和卷积计算中间结果;ddr控制器,用于控制片外ddr存储器与片上缓存模块的数据交互;数据分发模块,用于根据当前计算配置信息和光电计算模块的计算规律将需要的权重与激励数据传送给光电计算模块;光电计算模块,用于完成各层网络的卷积运算;结果收集模块,用于接收光电计算模块的卷积结果,并将结果拼接,得到下一层的输入,或者将拼接结果存储到片外ddr存储器中;控制器,用于存储配置信息,根据当前运算状态协调ddr控制器、数据分发模块、光电计算模块和结果收集模块的运行。2.权利要求1所述的一种基于rs数据流的卷积硬件加速器,其特征在于,所述数据分发模块包括数据读取模块fifo缓存器、乒乓寄存器组和地址计算单元,数据读取模块fifo缓存器与所述片上缓存模块相连,地址计算单元分别和乒乓寄存器组与所述片上缓存模块相连;所述数据读取模块fifo缓存器用于实现片外ddr存储器和片上缓存模块数据交互时的缓冲和位宽匹配,所述乒乓寄存器组用于存储从片上缓存模块中读取的权重数据和激励数据,将数据组装拼接成计算模块所需的形式并输出,所述地址计算单元用于控制对片上缓存模块进行读数据和写数据的地址。3.权利要求1所述的一种基于rs数据流的卷积硬件加速器,其特征在于,所述光电计算模块包括多个光电计算阵列和累加模块;所述光电计算阵列用于完成权重窗口和对应激励窗口的乘累加操作,所述累加模块用于对光电计算阵列计算结果进行累加计算。4.权利要求3所述的一种基于rs数据流的卷积硬件加速器,其特征在于,所述光电计算阵列包括m个卷积过滤器组,每个卷积过滤器组是由一组计算单元组成的阵列,每个卷积过滤器组包括c个通道组,每个通道组包含n个计算单元;m个卷积过滤器组之间共享相同的特征图数据,输入不同的卷积核;c个通道组对应c个输入通道,每个通道输入特征图和卷积核的对应通道数据;通道组中的每个计算单元共享相同的权重数据。5.一种基于rs数据流的卷积硬件加速器的加速方法,其特征在于,该方法包括以下步骤:1)开始计算之前,控制器向ddr控制器发送读权重和读激励请求,ddr控制器将特征图数据和卷积核数据从片外ddr存储器搬运到数据分发模块中的片上缓存模块;2)根据当前卷积计算阶段,数据分发模块计算出所需的下一批激励数据和权重数据在片上缓存模块中的存储地址,并将下一批激励数据和权重数据分别读取到数据分发模块中;3)将数据分发模块中存储的权重和激励数据展开并拼接成光电计算模块接口所需的格式,并根据计算顺序分发给光电计算模块;4)光电计算模块计算完成后,由结果收集模块接收并存储卷积计算结果;如果接收到的是最后一层卷积结果,控制器向ddr控制器发送写结果请求,将最终结果保存到片外ddr存储器中。
6.根据权利要求5所述的一种基于rs数据流的卷积硬件加速器的加速方法,其特征在于,特征图在片上缓存模块中按照列-通道-行的顺序存储,即一个地址存放一个通道的一行激励;先存放完一个分块一行所有通道的数据,再存放下一行的数据;每一层的激励存储在不同的片上缓存模块中,卷积核在片上缓存模块中按照卷积过滤器存储,一个地址存储一个卷积过滤器的c个通道的权重,并且先存储一个卷积过滤器所有通道的权重后,再存储下一个卷积过滤器。7.根据权利要求5所述的一种基于rs数据流的卷积硬件加速器的加速方法,其特征在于,步骤2)中,所述数据分发模块包括数据读取模块fifo缓存器、乒乓寄存器组和地址计算单元,所述乒乓寄存器组分为激励乒乓寄存器组和权重乒乓寄存器组,激励乒乓寄存器组用于存储激励数据,权重乒乓寄存器组用于存储权重数据;其中,权重数据每次需要更新m个卷积核的c个通道,需要读取m个地址的权重数据;假设卷积核尺寸为k,激励数据每次更新需要k*c个地址的激励数据。8.根据权利要求5所述的一种基于rs数据流的卷积硬件加速器的加速方法,其特征在于,步骤3)中,所述光电计算模块包括多个光电计算阵列和累加模块,光电计算阵列包括m个卷积过滤器组,每个卷积过滤器组是由一组计算单元组成的阵列,数据分发模块将数据从乒乓寄存器组分发到光电计算阵列中,具体分发顺序为:对于权重数据,数据分发模块先分发一层卷积的m个卷积核的c个通道权重数据,然后分发当前m个卷积核的接下来c个通道权重数据;当前m个卷积核的全部通道权重数据分发完成后再分发接下来m个卷积核的权重数据;其中所分发的m个卷积核权重数据分别输入到光电计算模块对应的卷积过滤器组;所分发的一个卷积核权重中c个通道的权重数据分别输入到卷积过滤器组中对应的通道组;卷积过滤器组同一通道组中的所有计算单元共享相同的权重数据;对于激励数据,数据分发模块先分发特征图一行的c个通道,然后再分发接下来的c个通道;当输出结果一行的所有通道计算完成后再分发下一行的激励数据;所分发的激励数据复制m份,分别输入到光电计算模块的m个卷积过滤器组;所分发的激励数据的c个通道分别输入到卷积过滤器组中的c个通道组。

技术总结
本发明公开了一种基于RS数据流的卷积硬件加速器及其方法。该加速器包括片外DDR存储器;片上缓存模块,用于存储从片外DDR存储器读取的原始图像数据、卷积核权重数据和卷积计算中间结果;DDR控制器,用于控制片外DDR存储器与片上缓存模块的数据交互;数据分发模块,用于根据当前计算配置信息和光电计算模块的计算规律将需要的权重与激励数据传送给光电计算模块;光电计算模块,用于完成各层网络的卷积运算;结果收集模块,用于接收光电计算模块的卷积结果,并将结果拼接,得到下一层的输入,或者将拼接结果存储到片外DDR存储器中。本发明基于RS数据流方式进行卷积运算,最大化数据重用,降低了对片外DDR的访问,提高了能效。提高了能效。提高了能效。


技术研发人员:王宇宣 李帅 梅正宇 潘红兵
受保护的技术使用者:南京大学
技术研发日:2021.09.23
技术公布日:2022/1/21
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1