用于8bit频域卷积神经网络的频域卷积运算加速系统技术方案

技术编号:37992292 阅读:17 留言:0更新日期:2023-06-30 10:06
本发明专利技术提出一种用于8bit频域卷积神经网络的频域卷积运算加速系统,涉及频域卷积运算加速设计的技术领域,解决了当前频域卷积神经网络的卷积计算慢,难以部署到资源有限的硬件平台上,影响产品上市时间和设计成本的问题,获取一对8bit乘法式数据,对获取的一对8bit乘法式数据进行打包,对打包完成的一对8bit乘法式数据进行乘法计算,输出频域卷积乘法结果,对频域卷积乘法结果进行累加,输出频域卷积累加结果,对频域卷积累加结果进行恢复,得到最终的频域卷积运算复数输出结果;本发明专利技术提升频域卷积的运算速度,便于将频域卷积部署至硬件平台上,提高FPGA加速器中处理数字信号的效率,加速产品上市时间和降低产品设计成本。加速产品上市时间和降低产品设计成本。加速产品上市时间和降低产品设计成本。

【技术实现步骤摘要】
用于8bit频域卷积神经网络的频域卷积运算加速系统


[0001]本专利技术涉及频域卷积运算加速设计的
,特别涉及一种用于8bit频域卷积神经网络的频域卷积运算加速系统。

技术介绍

[0002]卷积神经网络(Convolutional neural network,CNN)在图像识别等许多计算机视觉任务中有着优秀的表现,具有分类和识别的功能,同时在智能识别传感器和自动驾驶车等诸多产品设计中有着广泛应用,但是目前最先进的卷积神经网络普遍具有较深的网络层次和较高的计算复杂度,这使得它们很难部署到资源有限的硬件平台中,如FPGA、ASIC等,卷积神经网络的计算速度影响产品上市的时间和设计成本,因此,CNN的硬件加速器设计成为目前业界的研究热点之一,许多加速CNN中卷积计算的快速算法被提出,如快速傅里叶变换(Fast Fourier Transform,FFT)算法可将传统的空间域卷积变换为频域卷积,从而使用更为简单的元素对应乘法(Element

Wise Multiplication,EWMM)操作取代传统复杂的空间卷积操作,能够有效节省计算量,而经FFT算法变换后的卷积神经网络又称为频域卷积神经网络。
[0003]目前,基于FPGA的卷积神经网络加速器因其可以显著减少产品的上市时间和设计成本,在CNN硬件加速器领域中被广泛关注和研究。现有文献中公开了一种基于FPGA的频域卷积神经网络卷积计算的加速方法,首先利用FFT和重叠相加,将频域算法映射到FPGA上高度并行的基于重叠相加的2D卷积器上,然后在共享存储器中提出CPU和FPGA的并行处理,减少了层间数据重映射延迟,最后利用基于重叠相加的2D卷积器的数据并行性和任务并行性来衡量整个系统的加速性,但该方法利用的数据属于较高的数据精度类型,在FPGA上占用内存高,使得FPGA加速器在频域卷积计算中处理数字信号的效率变低,频域卷积运算速度慢,难以在资源有限的硬件平台上应用,影响产品上市的时间和设计成本。

技术实现思路

[0004]为解决当前频域卷积神经网络的卷积计算慢,难以部署到资源有限的硬件平台上,影响产品上市时间和设计成本的问题,本专利技术提出一种用于8bit频域卷积神经网络的频域卷积运算加速系统,提升频域卷积的运算速度,便于将频域卷积部署至硬件平台上,提高FPGA加速器中处理数字信号的效率,加速产品上市时间和降低产品设计成本。
[0005]为了达到上述技术效果,本专利技术的技术方案如下:
[0006]一种用于8bit频域卷积神经网络的频域卷积运算加速系统,所述系统包括:
[0007]数据获取模块,用于获取一对8bit乘法式数据;
[0008]数据打包模块,用于对获取的一对8bit乘法式数据进行打包,将打包完成的一对8bit乘法式数据传输至复数计算模块;
[0009]复数计算模块,用于对打包完成的一对8bit乘法式数据中的两个8bits数据同时进行频域卷积复数乘法计算,输出频域卷积复数乘法计算结果至累加模块;
[0010]累加模块,用于对频域卷积乘法结果进行存放与累加,输出频域卷积累加结果;
[0011]数据恢复模块,用于对频域卷积累加结果进行恢复,得到最终的频域卷积运算复数输出结果。
[0012]在本技术方案中,首先从频域卷积运算中获取一对8bit乘法式数据,将获取的一对8bit乘法式数据打包至复数计算模块中,避免了在频域卷积运算中出现显著的高内存占用和带宽的弊端,然后在复数计算模块中这对8bit乘法式数据同时进行复数乘法计算,加速频域卷积运算速度,输出频域卷积乘法结果,并对频域卷积乘法结果进行存放和累加,得到频域卷积累加结果,最后通过对频域卷积累加结果进行恢复,获得最终的频域卷积运算复数输出结果,完成频域卷积运算的一系列加速,有效提高了数字信号处理效率,提升了频域卷积运算速度。
[0013]优选地,所述数据获取模块从8bit频域卷积神经网络中的不同输出通道的频域卷积运算中获取一对8bit乘法式数据。
[0014]优选地,所述数据打包模块将一对8bit乘法式数据打包组合成一个27bit的宽数据,并传输至复数计算模块中存储和计算。
[0015]优选地,所述复数计算模块包括第一寄存器A、第二寄存器B、预加减法器、乘法器、第三寄存器C、加法器、第四寄存器D和第五寄存器E,所述第一寄存器A和第二寄存器B并行,数据打包模块的输出端分别连接第一寄存器A和第二寄存器B的输入端,第一寄存器A和第二寄存器B的输出端连接加减法器的输入端,加减法器的输出端和第三寄存器C的输出端连接乘法器的输入端,乘法器的输出端和第四寄存器D的输出端连接加法器的输入端,加法器的输出端连接第五寄存器E的输入端,第五寄存器E的输出端连接累加模块的输入端,数据打包模块输出的27bits的宽数据分别输入第一寄存器A和第二寄存器B存放,第一寄存器A和第二寄存器B存放的27bits的宽数据输入加减法器进行加减运算,输出27bits的宽数据的加减运算结果,加减运算结果和第三寄存器C存放的乘法数输入乘法器进行乘法运算,输出乘法计算结果,乘法计算结果和第四寄存器D存放的校正值通过加法器进行加法运算,对乘法器输出的乘法计算结果进行修正,输出频域卷积乘法结果至第五寄存器E存放,第五寄存器E将存放频域卷积乘法结果输出至累加模块。
[0016]优选地,所述第一寄存器A和第二寄存器B位宽均为27bits,第三寄存器C位宽为18bits,第四寄存器D和第五寄存器E位宽均为48bits。
[0017]优选地,所述一对8bit乘法式数据包括一个8bit低位项数据和一个8bit高位项数据,所述8bit低位项数据分别位于第一寄存器A和第二寄存器B的低8位,所述8bit高位项数据分别位于第一寄存器A和第二寄存器B的高18~25位,第一寄存器A和第二寄存器B最高一位填充高位项的符号位,第一寄存器A和第二寄存器B中间的其他位进行填零操作。
[0018]优选地,所述乘法计算结果包括低位项乘法结果和高位乘法结果,所述第四寄存器D对低位项乘法结果的偏移值进行修正。
[0019]优选地,所述频域卷积乘法结果包括低比特位复数乘法结果和高比特位复数乘法结果,所述低比特位复数乘法结果和高比特位复数乘法结果存放于第五寄存器E。
[0020]优选地,所述累加模块中设有两个并行的分离寄存器和累加子模块,第五寄存器E的输出端连接每一个分离寄存器的输入端,每一个分离寄存器的输出端均连接累加子模块的输入端,所述分离寄存器对第五寄存器E存放的低比特位复数乘法结果和高比特位复数
乘法结果进行分离,将分离的频域卷积乘法结果输入值累加子模块,所述累加子模块分别对低比特位复数乘法结果和高比特位复数乘法结果进行单独的累加操作。
[0021]优选地,累加模块输出的频域卷积累加结果为频域卷积运算复数输出结果的组成部分之一。
[0022]与现有技术相比,本专利技术技术方案的有益效果是:
[0023]本专利技术提出一种用于8bit频域卷积神经网络本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于8bit频域卷积神经网络的频域卷积运算加速系统,其特征在于,所述系统包括:数据获取模块,用于获取一对8bit乘法式数据;数据打包模块,用于对获取的一对8bit乘法式数据进行打包,将打包完成的一对8bit乘法式数据传输至复数计算模块;复数计算模块,用于对打包完成的一对8bit乘法式数据中的两个8bits数据同时进行频域卷积复数乘法计算,输出频域卷积复数乘法计算结果至累加模块;累加模块,用于对频域卷积乘法结果进行存放与累加,输出频域卷积累加结果;数据恢复模块,用于对频域卷积累加结果进行恢复,得到最终的频域卷积运算复数输出结果。2.根据权利要求1所述的用于8bit频域卷积神经网络的频域卷积运算加速系统,其特征在于,所述数据获取模块从8bit频域卷积神经网络中的不同输出通道的频域卷积运算中获取一对8bit乘法式数据。3.根据权利要求1所述的用于8bit频域卷积神经网络的频域卷积运算加速系统,其特征在于,所述数据打包模块将一对8bit乘法式数据打包组合成一个27bit的宽数据,并传输至复数计算模块中存储和计算。4.根据权利要求3所述的用于8bit频域卷积神经网络的频域卷积运算加速系统,其特征在于,所述复数计算模块包括第一寄存器A、第二寄存器B、预加减法器、乘法器、第三寄存器C、加法器、第四寄存器D和第五寄存器E,所述第一寄存器A和第二寄存器B并行,数据打包模块的输出端分别连接第一寄存器A和第二寄存器B的输入端,第一寄存器A和第二寄存器B的输出端连接加减法器的输入端,加减法器的输出端和第三寄存器C的输出端连接乘法器的输入端,乘法器的输出端和第四寄存器D的输出端连接加法器的输入端,加法器的输出端连接第五寄存器E的输入端,第五寄存器E的输出端连接累加模块的输入端,数据打包模块输出的27bits的宽数据分别输入第一寄存器A和第二寄存器B存放,第一寄存器A和第二寄存器B存放的27bits的宽数据输入加减法器进行加减运算,输出27bits的宽数据的加减运算结果,加减运算结果和第三寄存器C存放的乘法数输入乘法器进行乘法运算,输出乘法计算结果,乘法计算结果和第四寄存器D存放的校正值通过加法器进行加法运算,对乘法器输出...

【专利技术属性】
技术研发人员:陈逸刘博生徐永祺武继刚
申请(专利权)人:广东工业大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1