适用于深度学习硬件加速器的可配置精度的卷积硬件结构制造技术

技术编号:22565776 阅读:47 留言:0更新日期:2019-11-16 12:19
本发明专利技术提供了一种适用于深度学习硬件加速器的可配置精度的卷积硬件结构,包括:第一重映射模块和第二重映射模块的输出端分别连接第一加法阵列和第二加法阵列的输入端,第一加法阵列和第二加法阵列的输出端连接多个无符号乘法单元的输入端,多个无符号乘法单元的输出端连接部分积移位相加阵列的输入端,部分积移位相加阵列的输出端连接第三重映射模块的输入端,第三重映射模块的输出端连接第三加法阵列的输入端;其中第一重映射模块、第二重映射模块和第三重映射模块根据精度选择信号选择数据通路。本发明专利技术可以动态切换计算精度,对应的神经网络的计算能力可以满足大多数应用的需求。本发明专利技术采用了流水线结构,同时复用了数据通路上的加法阵列和部分积移位加阵列,既能够达到很快的工作频率,也能够节省硬件面积。

A configurable convolution hardware architecture for deep learning hardware accelerators

The invention provides a convolution hardware structure suitable for the configurable precision of the deep learning hardware accelerator, which includes: the output end of the first mapping module and the second mapping module are respectively connected with the input end of the first addition array and the second addition array, the output end of the first addition array and the second addition array are connected with the input end of a plurality of unsigned multiplication units, and a plurality of unsigned multiplication units The output end of the multiplication unit is connected with the input end of the partial product shift add array, the output end of the partial product shift add array is connected with the input end of the third mapping module, and the output end of the third mapping module is connected with the input end of the third adding array; the first mapping module, the second mapping module and the third mapping module select the signal path according to the accuracy. The invention can dynamically switch the calculation accuracy, and the calculation ability of the corresponding neural network can meet the requirements of most applications. The pipeline structure is adopted, and the addition array and the partial product shift plus array on the data path are reused at the same time, which can not only achieve the fast working frequency, but also save the hardware area.

【技术实现步骤摘要】
适用于深度学习硬件加速器的可配置精度的卷积硬件结构
本专利技术涉及电子电路
,具体地,涉及适用于深度学习硬件加速器的可配置精度的卷积硬件结构。
技术介绍
深度学习是机器学习中一个非常接近人工智能的领域,它的目的在于建立一个神经网络以模拟人脑的学习和分析的过程。深度学习的主要思想就是堆叠多个层,将低层的输出作为更高一层的输入,含多隐层的多层感知器就是一种深度学习结构的体现。通过这样的方式,深度学习能够通过组合低层特征来形成更为抽象的高层表示属性,从而发现数据的分布式特征表示。而如何使深度学习运行更高效是摆在不少工程师面前的难题。业内最常用的方案有两种:硬件加速和软件(代码)加速。前者主要是提升算力,尤其是CPU和GPU的算力,例如公开号为CN108108813A的专利技术专利“一种大类别深度学习GPU并行加速的方法”。计算能力越好,这些简单的矩阵运算自然就越快。后者主要有两种路径,一是利用诸如二值网络模型等小网络模型来实现差与大网络差不多的效果,二是使用矩阵运算加速的库。对于硬件加速而言,深度学习神经网络的核心运算是卷积,卷积核由乘法和加法组成。随着神经网络算法的发展,计算所需要的精度已经从32bit下降到16bit,一些特殊的网络还可以使用8bit精度的卷积核。在卷积核的设计上,已有的方案集中在单精度的16bit运算和8bit运算。目前的技术方案虽然可以提高运算速度,但是运算精度单一,无法适配复杂多样的网络,且计算能力固定,也无法满足日益发展的神经网络对算力的需求。专利技术内容针对现有技术中的缺陷,本专利技术的目的是提供一种适用于深度学习硬件加速器的可配置精度的卷积硬件结构。根据本专利技术提供的一种适用于深度学习硬件加速器的可配置精度的卷积硬件结构,包括:第一重映射模块、第二重映射模块、第三重映射模块、第一加法阵列、第二加法阵列、第三加法阵列、多个无符号乘法单元和部分积移位相加阵列;所述第一重映射模块和所述第二重映射模块的输出端分别连接所述第一加法阵列和所述第二加法阵列的输入端,所述第一加法阵列和所述第二加法阵列的输出端连接所述多个无符号乘法单元的输入端,所述多个无符号乘法单元的输出端连接所述部分积移位相加阵列的输入端,所述部分积移位相加阵列的输出端连接所述第三重映射模块的输入端,所述第三重映射模块的输出端连接所述第三加法阵列的输入端;其中所述第一重映射模块、所述第二重映射模块和所述第三重映射模块根据精度选择信号选择数据通路。优选地,所述第一重映射模块、所述第二重映射模块和所述第三重映射模块根据精度选择信号对输入信号进行相应的变换。优选地,所述第一加法阵列、所述第二加法阵列和所述第三加法阵列能够对输入数据进行补码;所述第一加法阵列和所述第二加法阵列分别包括16个加法器构成的加法阵列;所述第三加法阵列包括32个加法器构成的加法阵列。优选地,所述多个无符号乘法单元包括16个4bit精度的无符号乘法单元。优选地,所述部分积移位相加阵列包括四级部分积移位相加阵列,所述四级部分积移位相加阵列包括:8个S4A8单元:将两两4bit精度的无符号乘法单元的输出做移位相加,得到8个8bitx4bit的输出;4个S4A12单元:将两两S4A8单元的输出做移位相加,得到4个8bitx8bit的输出;2个S8A16单元:将两两S4A12单元的输出做移位相加,得到2个16bitx8bit的输出;1个S8A24单元:将两个S8A16单元的输出做移位相加,得到1个16bitx16bit的输出。优选地,所述无符号乘法单元包括:Array乘法器或基于华莱士树的乘法器。优选地,所述无符号乘法单元的最小精度为4bit。优选地,所述精度选择信号包括CP[4:0];当CP[0]为1,表示当前精度为16bitx16bit;当CP[1]为1,表示当前精度为16bitx8bit;当CP[2]为1,表示当前精度为8bitx8bit;当CP[3]为1,表示当前精度为8bitx4bit;当CP[4]为1,表示当前精度为4bitx4bit。优选地,所述第一重映射模块、所述第二重映射模块和所述第三重映射模块分别根据精度选择信号将输入信号对应映射到所述第一加法阵列、所述第二加法阵列和所述第三加法阵列中的加法器上,经过加法阵列产生对应精度的结果。根据本专利技术提供的一种适用于深度学习硬件加速器的可配置精度的卷积硬件结构,包括:第一重映射模块、第二重映射模块、第三重映射模块、第一加法阵列、第二加法阵列、第三加法阵列、多个无符号乘法单元和部分积移位相加阵列;所述第一重映射模块和所述第二重映射模块的输出端分别连接所述第一加法阵列和所述第二加法阵列的输入端,所述第一加法阵列和所述第二加法阵列的输出端连接所述多个无符号乘法单元的输入端,所述多个无符号乘法单元的输出端连接所述部分积移位相加阵列的输入端,所述部分积移位相加阵列的输出端连接所述第三重映射模块的输入端,所述第三重映射模块的输出端连接所述第三加法阵列的输入端;其中所述第一重映射模块、所述第二重映射模块和所述第三重映射模块根据精度选择信号选择数据通路;所述第一重映射模块、所述第二重映射模块和所述第三重映射模块根据精度选择信号对输入信号进行相应的变换;所述第一加法阵列、所述第二加法阵列和所述第三加法阵列能够对输入数据进行补码;所述第一加法阵列和所述第二加法阵列分别包括16个加法器构成的加法阵列;所述第三加法阵列包括32个加法器构成的加法阵列;所述多个无符号乘法单元包括16个4bit精度的无符号乘法单元;所述部分积移位相加阵列包括四级部分积移位相加阵列,所述四级部分积移位相加阵列包括:8个S4A8单元:将两两4bit精度的无符号乘法单元的输出做移位相加,得到8个8bitx4bit的输出;4个S4A12单元:将两两S4A8单元的输出做移位相加,得到4个8bitx8bit的输出;2个S8A16单元:将两两S4A12单元的输出做移位相加,得到2个16bitx8bit的输出;1个S8A24单元:将两个S8A16单元的输出做移位相加,得到1个16bitx16bit的输出;所述无符号乘法单元包括:Array乘法器或基于华莱士树的乘法器;所述无符号乘法单元的最小精度为4bit;所述精度选择信号包括CP[4:0];当CP[0]为1,表示当前精度为16bitx16bit;当CP[1]为1,表示当前精度为16bitx8bit;当CP[2]为1,表示当前精度为8bitx8bit;当CP[3]为1,表示当前精度为8bitx4bit;当CP[4]为1,表示当前精度为4bitx4bit;所述第一重映射模块、所述第二重映射模块和所述第三重映射模块分别根据精度选择信号将输入信号对应映射到所述第一加法阵列、所述第二加法阵列和所述第三加法阵本文档来自技高网...

【技术保护点】
1.一种适用于深度学习硬件加速器的可配置精度的卷积硬件结构,其特征在于,包括:第一重映射模块、第二重映射模块、第三重映射模块、第一加法阵列、第二加法阵列、第三加法阵列、多个无符号乘法单元和部分积移位相加阵列;/n所述第一重映射模块和所述第二重映射模块的输出端分别连接所述第一加法阵列和所述第二加法阵列的输入端,所述第一加法阵列和所述第二加法阵列的输出端连接所述多个无符号乘法单元的输入端,所述多个无符号乘法单元的输出端连接所述部分积移位相加阵列的输入端,所述部分积移位相加阵列的输出端连接所述第三重映射模块的输入端,所述第三重映射模块的输出端连接所述第三加法阵列的输入端;/n其中所述第一重映射模块、所述第二重映射模块和所述第三重映射模块根据精度选择信号选择数据通路。/n

【技术特征摘要】
1.一种适用于深度学习硬件加速器的可配置精度的卷积硬件结构,其特征在于,包括:第一重映射模块、第二重映射模块、第三重映射模块、第一加法阵列、第二加法阵列、第三加法阵列、多个无符号乘法单元和部分积移位相加阵列;
所述第一重映射模块和所述第二重映射模块的输出端分别连接所述第一加法阵列和所述第二加法阵列的输入端,所述第一加法阵列和所述第二加法阵列的输出端连接所述多个无符号乘法单元的输入端,所述多个无符号乘法单元的输出端连接所述部分积移位相加阵列的输入端,所述部分积移位相加阵列的输出端连接所述第三重映射模块的输入端,所述第三重映射模块的输出端连接所述第三加法阵列的输入端;
其中所述第一重映射模块、所述第二重映射模块和所述第三重映射模块根据精度选择信号选择数据通路。


2.根据权利要求1所述的适用于深度学习硬件加速器的可配置精度的卷积硬件结构,其特征在于,所述第一重映射模块、所述第二重映射模块和所述第三重映射模块根据精度选择信号对输入信号进行相应的变换。


3.根据权利要求1所述的适用于深度学习硬件加速器的可配置精度的卷积硬件结构,其特征在于,所述第一加法阵列、所述第二加法阵列和所述第三加法阵列能够对输入数据进行补码;
所述第一加法阵列和所述第二加法阵列分别包括16个加法器构成的加法阵列;所述第三加法阵列包括32个加法器构成的加法阵列。


4.根据权利要求3所述的适用于深度学习硬件加速器的可配置精度的卷积硬件结构,其特征在于,所述多个无符号乘法单元包括16个4bit精度的无符号乘法单元。


5.根据权利要求4所述的适用于深度学习硬件加速器的可配置精度的卷积硬件结构,其特征在于,所述部分积移位相加阵列包括四级部分积移位相加阵列,所述四级部分积移位相加阵列包括:
8个S4A8单元:将两两4bit精度的无符号乘法单元的输出做移位相加,得到8个8bitx4bit的输出;
4个S4A12单元:将两两S4A8单元的输出做移位相加,得到4个8bitx8bit的输出;
2个S8A16单元:将两两S4A12单元的输出做移位相加,得到2个16bitx8bit的输出;
1个S8A24单元:将两个S8A16单元的输出做移位相加,得到1个16bitx16bit的输出。


6.根据权利要求4所述的适用于深度学习硬件加速器的可配置精度的卷积硬件结构,其特征在于,所述无符号乘法单元的实现方式包括:Array乘法器或基于华莱士树的乘法器。


7.根据权利要求4所述的适用于深度学习硬件加速器的可配置精度的卷积硬件结构,其特征在于,所述无符号乘法单元的最小精度为4bit。


8.根据权利要求5所述的适用于深度学习硬件加速器的可配置精度的卷积硬件结构,其特征在于,所述精度选择信号包括CP[4:0];
当CP[0]为1,表示当前精度为16bitx16bit;
当CP[1]为1,表示当前精度为16bitx8bit;
当CP[2]为1,表示当前精度为8bitx8bit;
当CP[3]...

【专利技术属性】
技术研发人员:沈松剑沈沙李毅
申请(专利权)人:上海酷芯微电子有限公司
类型:发明
国别省市:上海;31

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

1
相关领域技术
  • 暂无相关专利