CN112734020B - 卷积神经网络的卷积乘累加硬件加速装置、***以及方法 - Google Patents

卷积神经网络的卷积乘累加硬件加速装置、***以及方法 Download PDF

Info

Publication number
CN112734020B
CN112734020B CN202011587375.4A CN202011587375A CN112734020B CN 112734020 B CN112734020 B CN 112734020B CN 202011587375 A CN202011587375 A CN 202011587375A CN 112734020 B CN112734020 B CN 112734020B
Authority
CN
China
Prior art keywords
convolution
input
data
addition
multiplication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011587375.4A
Other languages
English (en)
Other versions
CN112734020A (zh
Inventor
张志超
刘忠麟
王志乾
王虎
喻金桃
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Clp Taiji Group Co Ltd
CETC 15 Research Institute
Original Assignee
CETC 15 Research Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CETC 15 Research Institute filed Critical CETC 15 Research Institute
Priority to CN202011587375.4A priority Critical patent/CN112734020B/zh
Publication of CN112734020A publication Critical patent/CN112734020A/zh
Application granted granted Critical
Publication of CN112734020B publication Critical patent/CN112734020B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/5443Sum of products

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Neurology (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Complex Calculations (AREA)

Abstract

本发明公开了卷积神经网络的卷积乘累加硬件加速装置、***以及方法,涉及人工卷积神经网络技术领域,能够解决基于FPGA的定点DSP硬核设计浮点卷积乘累加达不到线速计算吞吐的问题,将传统的浮点卷积乘累加的线速吞吐提高至少三倍。其中包括卷积乘法计算单元,主要完成输入特征图浮点数据以及输入参数浮点数据的乘法操作,并输出卷积乘法矩阵计算结果浮点数据。卷积加法树计算单元,主要完成同一输出特征图相关联的数据累加功能。卷积前向加法链计算单元,完成多次同一输出特征图相关联的数据累加功能。基于上述方案,本发明能够改进现有卷积乘累加闭环操作模式带来的计算吞吐瓶颈,具有在浮点卷积乘累加计算达到线速计算吞吐能力的效果。

Description

卷积神经网络的卷积乘累加硬件加速装置、***以及方法
技术领域
本发明涉及人工卷积神经网络技术领域,具体涉及一种卷积神经网络的卷积乘累加硬件加速装置、***以及方法。
背景技术
在基于FPGA的卷积神经网络硬件加速计算中,卷积是一种常规的计算操作。受限于加速性能以及FPGA片上资源的约束,大部分基于FPGA的卷积计算都是基于定点操作数的卷积计算进行设计,采用FPGA定点DSP硬核进行定点卷积乘累加操作,在定点卷积乘累加计算中,能够达到线速计算吞吐的能力。现有的基于FPGA定点DSP硬核的卷积乘累加计算存在一个闭环乘累加操作,该操作在定点精度操作模式下延迟低,定点精度操作模式的延迟是一个时钟周期,能够线速吞吐;在浮点精度操作模式下,延迟为多个时钟周期,由于闭环乘累加的计算模式,不能够达到线速计算吞吐要求,极大损耗了FPGA加速浮点卷积神经网络的计算吞吐能力。
因此,在要求更高精度的浮点卷积神经网络加速计算模式下,需要重新设计一种能够线速计算吞吐的浮点卷积乘累加计算方法。
发明内容
有鉴于此,本发明提供了一种卷积神经网络的卷积乘累加硬件加速装置、***以及方法,能够解决基于FPGA的定点DSP硬核设计浮点卷积乘累加达不到线速计算吞吐的问题,将传统的浮点卷积乘累加的线速吞吐提高至少三倍。
为达到上述目的,本发明的技术方案包括:
一种卷积神经网络的卷积乘累加硬件加速装置,包括卷积乘法单元、卷积加法树单元以及卷积前向加法链单元。
卷积乘法单元包括PE×SIMD个浮点乘法器;每个浮点乘法器的输入包括输入特征图数据和输入参数数据,每个浮点乘法器的时延为一个时钟周期以上;其中PE为输入特征图数据的个数,SIMD为输入参数数据的个数,PE和SIMD均为2的幂次方;卷积乘法单元输出PE×SIMD个乘法结果,作为卷积加法树单元单元的输入数据。
卷积加法树单元包括PE个浮点加法树,卷积加法树单元的输入数据为PE×SIMD个乘法结果,并将PE×SIMD个乘法结果,对应每个输入特征图数据的SIMD个乘法结果作为一组,分为PE组分别送入一个浮点加法树。
浮点加法树采用SIMD-1个浮点加法器组成,针对每一组中的SIMD个乘法结果进行加法运算,浮点加法器时延为一个时钟周期以上;卷积加法树单元输出PE个加法树结果,作为卷积前向加法链单元的输入。
卷积前向加法链单元包括PE个加法链,一个加法链的输入数据为对应的一个加法树结果,加法链一个以上时钟周期的输入数据进行累加,加法链的长度根据需要累加的时钟周期数确定;卷积前向加法链单元的输出为输出特征图数据,由所有加法链输出的PE个浮点数据组成,输出特征图数据为卷积乘累加结果。
进一步地,每个加法链对一个以上时钟周期的输入数据进行累加,加法链的长度根据需要累加的时钟周期数确定,具体为:
每个加法链包括log2n个加法器,n为需要累加的时钟周期数。
对于当前加法链,其对应的输入数据为其中一个加法树结果。
第pe个加法树结果,pe取值为1~PE。
其中第一个加法器将相邻时钟周期的输入数据进行累加并输出作为第二个加法器的输入;第二个加法器将相邻时钟周期的输入进行累加并输出作为下一个加法器的输入;以此类推;直至最后一个加法器输出当前加法链的输出结果。
本发明另外一个实施例还提供了一种卷积神经网络的卷积乘累加硬件加速***,包括主机和FPGA卷积计算***,二者之间采用PCIe总线连接;
FPGA卷积计算***由内存和片上卷积推理计算逻辑组成;
片上卷积推理计算逻辑包括***控制单元、输入特征图数据缓存调度单元、输入参数数据缓存调度单元、卷积乘累加计算单元以及输出数据缓存调度单元。
输入特征图数据缓存调度单元用于存储输入特征图数据,并将输入特征图数据送入卷积乘累加计算单元。
输入参数数据缓存调度单元用于存储输入参数数据,并将输入参数数据送入卷积乘累加计算单元。
卷积乘累加计算单元采用上述卷积神经网络的卷积乘累加硬件加速装置结构,利用输入特征图数据,对输入参数数据进行卷积乘累加操作,以输出特征图数据作为卷积乘累加结果,送入输出数据缓存调度单元。
输出数据缓存调度单元将卷积乘累加结果送入内存进行存储。
主机通过PCIe总线,从内存读取卷积乘累加结果。
本发明另外一个实施例还提供了一种卷积神经网络的卷积乘累加硬件加速方法,包括如下步骤:
步骤一、分别获取PE个输入特征图数据和SIMD个输入参数数据,PE和SIMD均为2的幂次方;利用PE×SIMD个浮点乘法器针对每个输入特征图数据和每个输入参数数据均进行浮点乘法运算,输出PE×SIMD个乘法结果,作为卷积加法树单元单元的输入数据。
浮点乘法器的时延为一个时钟周期以上。
步骤二、将PE×SIMD个乘法结果,对应每个输入特征图数据的SIMD个乘法结果作为一组,分为PE组分别送入一个浮点加法树,共PE个浮点加法树,输出PE个加法树结果,作为卷积前向加法链单元的输入。
浮点加法树采用SIMD-1个浮点加法器组成,针对每一组中的SIMD个乘法结果进行加法运算,浮点加法器时延为一个时钟周期以上。
步骤三、采用PE个加法链,其中一个加法链的输入数据为对应的一个加法树结果,加法链对一个以上时钟周期的输入数据进行累加,加法链的长度根据需要累加的时钟周期数确定;由所有加法链输出的PE个浮点数据组成输出特征图数据,输出特征图数据为卷积乘累加结果。
进一步地,每个加法链对一个以上时钟周期的输入数据进行累加,加法链的长度根据需要累加的时钟周期数确定,具体为:
每个加法链包括log2n个加法器,n为需要累加的时钟周期数。
对于当前加法链,其对应的输入数据为其中一个加法树结果。
第pe个加法树结果,pe取值为1~PE;
其中第一个加法器将相邻时钟周期的输入数据进行累加并输出作为第二个加法器的输入;第二个加法器将相邻时钟周期的输入进行累加并输出作为下一个加法器的输入;以此类推;直至最后一个加法器输出当前加法链的输出结果。
有益效果:
本发明提供的一种卷积神经网络的卷积乘累加硬件加速装置、***以及方法,针对深度卷积神经网络推理计算,每一层的卷积计算可表示为输入特征图浮点数据以及输入参数浮点数据,通过卷积具体计算,输出为输出特征图浮点数据,多层的深度卷积神经网络结果为逐层按照上述方式迭代计算,最终输出卷积神经网络计算结果。其中包括卷积乘法计算单元,主要完成输入特征图浮点数据以及输入参数浮点数据的乘法操作,并输出卷积乘法矩阵计算结果浮点数据。该单元浮点乘法计算是一个开环输出,避免浮点乘法操作时延导致该部件不能够线速吞吐。卷积加法树计算单元,主要完成同一输出特征图相关联的数据累加功能,采用加法树的操作,使得浮点累加计算能够开环输出,避免浮点累加操作时延导致该部件不能够线速吞吐,最终输出为卷积加法树计算矩阵结果浮点数据。卷积前向加法链计算单元,完成多次同一输出特征图相关联的数据累加功能,该计算部件仍为一个开环的累加输出,避免浮点累加操作时延导致该部件不能够线速吞吐,最终输出为输出特征图浮点数据。基于上述方案,本发明能够改进现有卷积乘累加闭环操作模式带来的计算吞吐瓶颈,具有在浮点卷积乘累加计算达到线速计算吞吐能力的效果。
附图说明
图1为本发明实施例提供的卷积乘法计算矩阵结构图;
图2为本发明实施例提供的卷积加法树计算矩阵结构图;
图3为本发明实施例提供的卷积前向加法链计算矩阵结构图;
图4为本发明实施例提供的基于FPGA加速的卷积推理计算***示意图;
图5为本发明实施例提供的基于前向加法链浮点卷积乘累加计算流程图;
图6为本发明实施例提供的基于FPGA加速的卷积推理计算流程图。
具体实施方式
下面结合附图并举实施例,对本发明进行详细描述。
本发明提供了一种卷积神经网络的卷积乘累加硬件加速装置,包括卷积乘法单元、卷积加法树单元以及卷积前向加法链单元。
卷积乘法单元结构如图1所示,包括PE×SIMD个浮点乘法器;每个浮点乘法器的输入包括输入特征图数据和输入参数数据,每个浮点乘法器的时延为一个时钟周期以上;其中PE为输入特征图数据的个数,SIMD为输入参数数据的个数,PE和SIMD均为2的幂次方;卷积乘法单元输出PE×SIMD个乘法结果,作为卷积加法树单元单元的输入数据。如图1所示,其中输入参数为PE(Process Element)个数据,输入特征图数据为SIMD(SingleInstruction Multiple Data)个数据,图中PE=4,SIMD=4;乘法计算结果为PExSIMD个数据。卷积乘法计算矩阵包括PExSIMD个浮点乘法器,输入为Wgt0、Wgt1、Wgt2、Wgt3等输入特征图数据以及Ipt0、Ipt1、Ipt2、Ipt3等输入参数数据。每个浮点乘法器时延可为多个时钟周期,由于开环的设计模式,不影响乘法计算矩阵的计算吞吐能力,能够达到线速计算吞吐。
卷积加法树单元结构如图2所示,包括PE个浮点加法树,卷积加法树单元的输入数据为PE×SIMD个乘法结果,并将PE×SIMD个乘法结果,对应每个输入特征图数据的SIMD个乘法结果作为一组,分为PE组分别送入一个浮点加法树。浮点加法树采用SIMD-1个浮点加法器组成,针对每一组中的SIMD个乘法结果进行加法运算,浮点加法器时延为一个时钟周期以上;卷积加法树单元输出PE个加法树结果,作为卷积前向加法链单元的输入。每个浮点加法器时延可为多个时钟周期,由于开环的设计模式,不影响加法树计算矩阵的计算吞吐能力,能够达到线速计算吞吐。
卷积前向加法链单元结构如图3所示,包括PE个加法链,一个加法链的输入数据为对应的一个加法树结果,加法链一个以上时钟周期的输入数据进行累加,加法链的长度根据需要累加的时钟周期数确定;卷积前向加法链单元的输出为输出特征图数据,由所有加法链输出的PE个浮点数据组成,输出特征图数据为卷积乘累加结果。采用开环的加法链设计累加计算,避免了浮点累加单元的多周期计算导致累加结果不能够线速计算吞吐的问题。
本发明实施例中,每个加法链对一个以上时钟周期的输入数据进行累加,加法链的长度根据需要累加的时钟周期数确定,具体为:
每个加法链包括log2n个加法器,n为需要累加的时钟周期数。
对于当前加法链,其对应的输入数据为其中一个加法树结果;
第pe个加法树结果,pe取值为1~PE。
其中第一个加法器将相邻时钟周期的输入数据进行累加并输出作为第二个加法器的输入;第二个加法器将相邻时钟周期的输入进行累加并输出作为下一个加法器的输入;以此类推;直至最后一个加法器输出当前加法链的输出结果。
本发明另外一个实施例还提供了一种卷积神经网络的卷积乘累加硬件加速***,其结构如图4所示,是一个基于FPGA(Field Programmable Gate Array)加速的卷积推理计算***实例,包括主机部分和基于FPGA加速的卷积推理计算***部分,主机与该***实例通过PCIe(Peripheral Component Interconnect Express)链路进行数据通信和控制。
主机和FPGA卷积计算***,二者之间采用PCIe总线连接。
FPGA卷积计算***由内存和片上卷积推理计算逻辑组成。
片上卷积推理计算逻辑包括***控制单元、输入特征图数据缓存调度单元、输入参数数据缓存调度单元、卷积乘累加计算单元以及输出数据缓存调度单元。
输入特征图数据缓存调度单元用于存储输入特征图数据,并将输入特征图数据送入卷积乘累加计算单元。
输入参数数据缓存调度单元用于存储输入参数数据,并将输入参数数据送入卷积乘累加计算单元。
卷积乘累加计算单元采用上述卷积神经网络的卷积乘累加硬件加速装置结构,利用输入特征图数据,对输入参数数据进行卷积乘累加操作,以输出特征图数据作为卷积乘累加结果,送入输出数据缓存调度单元。
输出数据缓存调度单元将卷积乘累加结果送入内存进行存储。
主机通过PCIe总线,从内存读取卷积乘累加结果。
基于FPGA加速的卷积推理计算流程如图6所示,第一步进行***初始化、第二步主机将计算数据写入内存,第三步从内存调度输入特征图数据以及权重数据给浮点卷积乘累加计算单元,第四部进行浮点卷积乘累加计算,第五步调度输出特征数据,第六步将输出数据写入内存,第七步,主机从内存去读卷积计算结果。
本发明另外一个实施例提供了一种卷积神经网络的卷积乘累加硬件加速方法,其流程如图5所示,包括如下步骤:
步骤一、分别获取PE个输入特征图数据和SIMD个输入参数数据,PE和SIMD均为2的幂次方;利用PE×SIMD个浮点乘法器针对每个输入特征图数据和每个输入参数数据均进行浮点乘法运算,输出PE×SIMD个乘法结果,作为卷积加法树单元单元的输入数据。
浮点乘法器的时延为一个时钟周期以上。
步骤二、将PE×SIMD个乘法结果,对应每个输入特征图数据的SIMD个乘法结果作为一组,分为PE组分别送入一个浮点加法树,共PE个浮点加法树,输出PE个加法树结果,作为卷积前向加法链单元的输入。
浮点加法树采用SIMD-1个浮点加法器组成,针对每一组中的SIMD个乘法结果进行加法运算,浮点加法器时延为一个时钟周期以上。
步骤三、采用PE个加法链,其中一个加法链的输入数据为对应的一个加法树结果,加法链对一个以上时钟周期的输入数据进行累加,加法链的长度根据需要累加的时钟周期数确定;由所有加法链输出的PE个浮点数据组成输出特征图数据,输出特征图数据为卷积乘累加结果。
每个加法链对一个以上时钟周期的输入数据进行累加,加法链的长度根据需要累加的时钟周期数确定,具体为:
每个加法链包括log2n个加法器,n为需要累加的时钟周期数。
对于当前加法链,其对应的输入数据为其中一个加法树结果;第pe个加法树结果,pe取值为1~PE。
其中第一个加法器将相邻时钟周期的输入数据进行累加并输出作为第二个加法器的输入;第二个加法器将相邻时钟周期的输入进行累加并输出作为下一个加法器的输入;以此类推;直至最后一个加法器输出当前加法链的输出结果。
应用上述卷积神经网络的卷积乘累加硬件加速方案,有如下实例:基于深度学习的卷积神经网络图像分类应用场景,卷积乘累加硬件加速装置完成的是多层卷积神经网络的一层运算,其输入为图片数据或者特征图数据,输入参数为卷积神经网络每一层的具体参数,参数可以通过深度学习训练图像分类器得到,其输出为特征图数据或者最终的图像分类结果数据。
基于卷积的图像滤波算法,其输入为图像数据和滤波器参数,其输出为滤波后的图像数据,卷积乘累加硬件加速装置完成特定滤波参数的图像卷积滤波操作。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (5)

1.一种卷积神经网络的卷积乘累加硬件加速装置,其特征在于,包括卷积乘法单元、卷积加法树单元以及卷积前向加法链单元;
所述卷积乘法单元包括PE×SIMD个浮点乘法器;每个浮点乘法器的输入包括输入特征图数据和输入参数数据,每个浮点乘法器的时延为一个时钟周期以上;其中PE为输入特征图数据的个数,SIMD为输入参数数据的个数,PE和SIMD均为2的幂次方;所述卷积乘法单元输出PE×SIMD个乘法结果,作为所述卷积加法树单元的输入数据;
所述卷积加法树单元包括PE个浮点加法树,卷积加法树单元的输入数据为PE×SIMD个乘法结果,并将PE×SIMD个乘法结果,对应每个输入特征图数据的SIMD个乘法结果作为一组,分为PE组分别送入浮点加法树;
所述浮点加法树采用SIMD-1个浮点加法器组成,针对每一组中的SIMD个乘法结果进行加法运算,所述浮点加法器时延为一个时钟周期以上;所述卷积加法树单元输出PE个加法树结果,作为所述卷积前向加法链单元的输入;
所述卷积前向加法链单元包括PE个加法链,一个加法链的输入数据为对应的一个加法树结果,加法链一个以上时钟周期的输入数据进行累加,加法链的长度根据需要累加的时钟周期数确定;所述卷积前向加法链单元的输出为输出特征图数据,由所有加法链输出的PE个浮点数据组成,所述输出特征图数据为卷积乘累加结果。
2.如权利要求1所述的装置,其特征在于,所述每个加法链对一个以上时钟周期的输入数据进行累加,加法链的长度根据需要累加的时钟周期数确定,具体为:
每个加法链包括log2n个加法器,n为需要累加的时钟周期数;
对于当前加法链,其对应的输入数据为其中一个加法树结果
第pe个加法树结果,pe取值为1~PE;
其中第一个加法器将相邻时钟周期的输入数据进行累加并输出作为第二个加法器的输入;
第二个加法器将相邻时钟周期的输入进行累加并输出作为下一个加法器的输入;
以此类推;
直至最后一个加法器输出当前加法链的输出结果。
3.一种卷积神经网络的卷积乘累加硬件加速***,其特征在于,包括主机和FPGA卷积计算***,二者之间采用PCIe总线连接;
所述FPGA卷积计算***由内存和片上卷积推理计算逻辑组成;
所述片上卷积推理计算逻辑包括***控制单元、输入特征图数据缓存调度单元、输入参数数据缓存调度单元、卷积乘累加计算单元以及输出数据缓存调度单元;
所述输入特征图数据缓存调度单元用于存储输入特征图数据,并将所述输入特征图数据送入所述卷积乘累加计算单元;
所述输入参数数据缓存调度单元用于存储输入参数数据,并将所述输入参数数据送入所述卷积乘累加计算单元;
卷积乘累加计算单元采用如权利要求1或2所述的卷积神经网络的卷积乘累加硬件加速装置结构,利用所述输入特征图数据,对所述输入参数数据进行卷积乘累加操作,以输出特征图数据作为卷积乘累加结果,送入所述输出数据缓存调度单元;
所述输出数据缓存调度单元将所述卷积乘累加结果送入内存进行存储;
所述主机通过PCIe总线,从内存读取所述卷积乘累加结果。
4.一种卷积神经网络的卷积乘累加硬件加速方法,其特征在于,包括如下步骤:
步骤一、分别获取PE个输入特征图数据和SIMD个输入参数数据,PE和SIMD均为2的幂次方;利用PE×SIMD个浮点乘法器针对每个输入特征图数据和每个输入参数数据均进行浮点乘法运算,输出PE×SIMD个乘法结果,作为所述卷积加法树单元的输入数据;
所述浮点乘法器的时延为一个时钟周期以上;
步骤二、将PE×SIMD个乘法结果,对应每个输入特征图数据的SIMD个乘法结果作为一组,分为PE组分别送入一个浮点加法树,共PE个浮点加法树,输出PE个加法树结果,作为所述卷积前向加法链单元的输入;
所述浮点加法树采用SIMD-1个浮点加法器组成,针对每一组中的SIMD个乘法结果进行加法运算,所述浮点加法器时延为一个时钟周期以上;
步骤三、采用PE个加法链,其中一个加法链的输入数据为对应的一个加法树结果,加法链对一个以上时钟周期的输入数据进行累加,加法链的长度根据需要累加的时钟周期数确定;由所有加法链输出的PE个浮点数据组成输出特征图数据,所述输出特征图数据为卷积乘累加结果。
5.如权利要求4所述的方法,其特征在于,所述每个加法链对一个以上时钟周期的输入数据进行累加,加法链的长度根据需要累加的时钟周期数确定,具体为:
每个加法链包括log2n个加法器,n为需要累加的时钟周期数;
对于当前加法链,其对应的输入数据为其中一个加法树结果
第pe个加法树结果,pe取值为1~PE;
其中第一个加法器将相邻时钟周期的输入数据进行累加并输出作为第二个加法器的输入;
第二个加法器将相邻时钟周期的输入进行累加并输出作为下一个加法器的输入;
以此类推;
直至最后一个加法器输出当前加法链的输出结果。
CN202011587375.4A 2020-12-28 2020-12-28 卷积神经网络的卷积乘累加硬件加速装置、***以及方法 Active CN112734020B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011587375.4A CN112734020B (zh) 2020-12-28 2020-12-28 卷积神经网络的卷积乘累加硬件加速装置、***以及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011587375.4A CN112734020B (zh) 2020-12-28 2020-12-28 卷积神经网络的卷积乘累加硬件加速装置、***以及方法

Publications (2)

Publication Number Publication Date
CN112734020A CN112734020A (zh) 2021-04-30
CN112734020B true CN112734020B (zh) 2022-03-25

Family

ID=75607380

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011587375.4A Active CN112734020B (zh) 2020-12-28 2020-12-28 卷积神经网络的卷积乘累加硬件加速装置、***以及方法

Country Status (1)

Country Link
CN (1) CN112734020B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113298236B (zh) * 2021-06-18 2023-07-21 中国科学院计算技术研究所 基于数据流结构的低精度神经网络计算装置及加速方法
CN113361699B (zh) * 2021-07-16 2023-05-26 安谋科技(中国)有限公司 乘法电路、片上***和电子设备

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102629189B (zh) * 2012-03-15 2014-12-10 湖南大学 基于fpga的流水浮点乘累加方法
US20180046903A1 (en) * 2016-08-12 2018-02-15 DeePhi Technology Co., Ltd. Deep processing unit (dpu) for implementing an artificial neural network (ann)
US20180053091A1 (en) * 2016-08-17 2018-02-22 Hawxeye, Inc. System and method for model compression of neural networks for use in embedded platforms
CN108133270B (zh) * 2018-01-12 2020-08-04 清华大学 卷积神经网络加速方法及装置
CN109063825B (zh) * 2018-08-01 2020-12-29 清华大学 卷积神经网络加速装置
CN109828744B (zh) * 2019-01-18 2020-09-08 东北师范大学 一种基于fpga的可配置浮点向量乘法ip核
WO2020215124A1 (en) * 2019-04-26 2020-10-29 The University Of Sydney An improved hardware primitive for implementations of deep neural networks
CN110852416B (zh) * 2019-09-30 2022-10-04 梁磊 基于低精度浮点数数据表现形式的cnn硬件加速计算方法及***

Also Published As

Publication number Publication date
CN112734020A (zh) 2021-04-30

Similar Documents

Publication Publication Date Title
CN107862374B (zh) 基于流水线的神经网络处理***和处理方法
CN107609641B (zh) 稀疏神经网络架构及其实现方法
CN111459877B (zh) 基于FPGA加速的Winograd YOLOv2目标检测模型方法
JP6857286B2 (ja) ニューラルネットワークアレイの性能の改善
CN108280514B (zh) 基于fpga的稀疏神经网络加速***和设计方法
CN107239829B (zh) 一种优化人工神经网络的方法
US20180260710A1 (en) Calculating device and method for a sparsely connected artificial neural network
CN108665063B (zh) 用于bnn硬件加速器的双向并行处理卷积加速***
CN112840356A (zh) 运算加速器、处理方法及相关设备
CN112734020B (zh) 卷积神经网络的卷积乘累加硬件加速装置、***以及方法
CN110321997B (zh) 高并行度计算平台、***及计算实现方法
CN107256424B (zh) 三值权重卷积网络处理***及方法
CN105681628A (zh) 一种卷积网络运算单元及可重构卷积神经网络处理器和实现图像去噪处理的方法
CN110807522B (zh) 一种神经网络加速器的通用计算电路
CN110543936B (zh) 一种cnn全连接层运算的多并行加速方法
CN113344179B (zh) 基于fpga的二值化卷积神经网络算法的ip核
CN110580519B (zh) 一种卷积运算装置及其方法
CN113283587B (zh) 一种Winograd卷积运算加速方法及加速模块
Abdelsalam et al. An efficient FPGA-based overlay inference architecture for fully connected DNNs
WO2023065983A1 (zh) 计算装置、神经网络处理设备、芯片及处理数据的方法
CN114626516A (zh) 一种基于对数块浮点量化的神经网络加速***
CN111008691B (zh) 一种权值和激活值都二值化的卷积神经网络加速器架构
CN112149047A (zh) 数据的处理方法及装置、存储介质和电子装置
CN109389209B (zh) 处理装置及处理方法
CN116167425B (zh) 一种神经网络加速方法、装置、设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220627

Address after: 100083 No. 211 middle Fourth Ring Road, Haidian District, Beijing

Patentee after: NO.15 INSTITUTE OF CHINA ELECTRONICS TECHNOLOGY Group Corp.

Patentee after: CLP Taiji (Group) Co., Ltd

Address before: 100083 No. 211 middle Fourth Ring Road, Haidian District, Beijing

Patentee before: NO.15 INSTITUTE OF CHINA ELECTRONICS TECHNOLOGY Group Corp.