CN111275180B - 一种降低深度神经网络数据迁移及功耗的卷积运算结构 - Google Patents
一种降低深度神经网络数据迁移及功耗的卷积运算结构 Download PDFInfo
- Publication number
- CN111275180B CN111275180B CN202010130325.7A CN202010130325A CN111275180B CN 111275180 B CN111275180 B CN 111275180B CN 202010130325 A CN202010130325 A CN 202010130325A CN 111275180 B CN111275180 B CN 111275180B
- Authority
- CN
- China
- Prior art keywords
- input
- adder
- multiplier
- check device
- power consumption
- 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
Links
- 238000013508 migration Methods 0.000 title claims abstract description 24
- 230000005012 migration Effects 0.000 title claims abstract description 24
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 22
- 101100412394 Drosophila melanogaster Reg-2 gene Proteins 0.000 claims abstract description 15
- 238000009825 accumulation Methods 0.000 claims abstract description 10
- 238000004364 calculation method Methods 0.000 claims description 25
- 238000010586 diagram Methods 0.000 claims description 25
- 238000000034 method Methods 0.000 abstract description 15
- 238000013527 convolutional neural network Methods 0.000 abstract description 5
- 238000003860 storage Methods 0.000 description 9
- 230000006835 compression Effects 0.000 description 7
- 238000007906 compression Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 4
- 238000003491 array Methods 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000003213 activating effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000000306 component Substances 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011158 quantitative evaluation Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 229920006395 saturated elastomer Polymers 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了一种降低深度神经网络数据迁移及功耗的卷积运算结构,包括乘法器和加法器,乘法器的输入端分别连接多路复选器MUX1和多路复选器MUX2,乘法器的输出端与多路复选器MUX1的输出端经多路复选器MUX3与加法器的输入端连接,加法器的输入端还连接有多路复选器MUX4的输入端,多路复选器MUX1、多路复选器MUX2、乘法器、多路复选器MUX3、多路复选器MUX4的输出端和加法器的输入端分别连接寄存器reg1,加法器的输出端连接寄存器reg2,寄存器reg2的输出端连接多路复选器MUX4的输入端,用于实现卷积运算的乘累加操作。本发明适用于当前所有卷积神经网络模型,在最大程度满足数据并行度的前提下,有效降低了全局计算的动态功耗,控制结构简单,具有极强的通用性。
Description
技术领域
本发明属于集成电路设计及专用硬件加速器技术领域,具体涉及一种降低深度神经网络数据迁移及功耗的卷积运算结构。
背景技术
近年来,随着深度神经网络(DNNs)在语音与图像识别方面的重要突破,已经成为许多现代人工智能应用的基础。DNNs的优越性能得益于其能够对大量数据进行高层次特征抽取,以获取对同类数据的有效表达。DNNs的一种常见形式是卷积神经网络(CNNs),它的主体部分是由多个卷积层构成,每一层都是对输入特征图(ifmap)的更高维度的抽象,目前,CNNs的卷积层数已由最初2层的LeNet演化到如今53层的ResNet,而其乘累加(MAC)计算更是从341K增大到3.9G。可见,神经网络性能的提升是以计算量的激增为主要代价,这就需要依靠高效能的硬件平台完成计算,传统的CPU受限于计算资源而无法提供有效的数据吞吐量,而GPU凭借庞大的计算阵列可以保证计算输出的实时性,但是其较高的功耗难以广泛应用。以寒武纪DianNao系列为代表的专用加速引擎的问世及成功应用,为人工智能的高效能计算提供了有效的解决思路,已经成为目前人工智能的重要研究领域。
当前,专用加速引擎设计的主要目标是尽可能提高特征图数据(ifmap)以及卷积核权值(weight)的复用,可以降低频繁从低层次存储***(如片上缓存及片外DRAM)进行信息访问,可以有效降低访问延迟及功耗开销。经典的数据复用体系有3类:(1)采用权值固定体系,其中每个处理单元(PE)都固定存储一个卷积核权值,特征图中每个数据按周期广播至所有PE阵列,在PE内部与权值相乘后送入下个PE单元进行累加,若干周期后,在最后一个PE阵列流水输出卷积运算的逐个结果。这种结构将权值固定在PE内的寄存器中,避免权值访问带来的延迟和功耗开销,但是该方案需要在PE间频繁的进行部分和迁移,且整个PE阵列每个周期仅能输出一个卷积结果。(2)采用部分和固定体系,与权值固定将结果流水迁移不同,该体系要求每个卷积运算结果固定由一个PE单元输出,其特征数据可以复用横向和纵向临近PE单元,该体系主要降低了乘法后部分和结果在不同PE间流动产生的功耗,然而,所提结构没有达到特征数据最大复用度,同时未考虑权值在PE层面的复用性。(3)采用行固定体系,该体系要求每个PE读取输入特征图和卷积核的一行数据,与前两种体系逐个计算输出特征图数据不同,这里每个周期PE将并行产生输出特征图多个数据的中间结果,但是由于不同应用特征图尺寸差异较大,而该体系结构要求按行读入完整的特征图信息,因此PE阵列中的存储结构灵活性和适应性较差。
上述不同硬件加速引擎体系的意图均以降低重复数据访问为目标,竭力压缩理论计算中乘累加招致的巨大功耗开销,然而它们均单一的从权值以及输入特征图等要素挖掘复用性,未能进一步提高计算效能。
发明内容
本发明所要解决的技术问题在于针对上述现有技术中的不足,提供一种降低深度神经网络数据迁移及功耗的卷积运算结构,将两种计算要素的复用性有效结合,能够大幅度降低访问开销、计算开销及功耗开销,具有较强的应用价值。
本发明采用以下技术方案:
一种降低深度神经网络数据迁移及功耗的卷积运算结构,包括乘法器和加法器,乘法器的输入端分别连接多路复选器MUX1和多路复选器MUX2,乘法器的输出端与多路复选器MUX1的输出端经多路复选器MUX3与加法器的输入端连接,加法器的输入端还连接有多路复选器MUX4的输入端,多路复选器MUX1、多路复选器MUX2、乘法器、多路复选器MUX3、多路复选器MUX4的输出端和加法器的输入端分别连接寄存器reg1,加法器的输出端连接寄存器reg2,寄存器reg2的输出端连接多路复选器MUX4的输入端,用于实现卷积运算的乘累加操作。
具体的,在输入方向,输入特征数据fxy以及PE间可复用的特征数据f_reuse通过多路复选器MUX1后作为乘法器的一端输入,输入权值wij以及PE间可复用的权值w_reuse通过多路复选器MUX2后作为乘法器的另一端输入。
具体的,乘法器的输出与MUX1的输出经过多路复选器MUX3后作为加法器的一端输入,多路复选器MUX3用于当输入特征数据为0值时,乘法结果为0,不激活乘法器,将0值旁路输入加法器。
进一步的,加法器的另一端输入由多路复选器MUX4提供,多路复选器MUX4的输入分别是***初值0和上一周期PE输出结果inter_psum,当PE执行每一轮卷积操作的第一次运算时选择初值0进行加法运算,以后均选择inter_psum完成累加操作。
具体的,在输入方向,控制信号提供MUX1/MUX2/MUX3/MUX4的选择信号,并提供乘法器、加法器、寄存器reg1和reg2的使能信号。
进一步的,在输出方向,寄存器reg1和reg2分别对输入特征数据和输入权值进行锁存。
更进一步的,输入特征数据fxy的访问次数Nifmap_opt计算如下:
与现有技术相比,本发明至少具有以下有益效果:
本发明一种降低深度神经网络数据迁移及功耗的卷积运算结构,提出PE阵列内部及PE阵列间数据复用的硬件形式,通过在传统PE输入方向增加特征数据以及权值的MUX,并在输出方向增加特征数据以及权值的锁存器,可以在较少资源开销的前提下实现降低数据迁移及动态功耗的目的,阵列的尺寸与卷积核尺寸相等,可以在资源开销不大的前提下将对底层存储器的访问转换成PE间的数据获取,降低了不同存储层次间的数据迁移频繁度,此外还通过量化分析的方法证实该方案可以有效降低全局计算的动态功耗。
进一步的,通过在输入方向设置多路复选器MUX1和MUX2,就是为乘法器的两个操作数分别提供第二条数据复用通道。MUX1不仅可以将原始输入特征数据传送给乘法器,也可以将来自邻近PE阵列的输入特征数据复用传送给乘法器;同样的,MUX2不仅可以将原始权值传送给乘法器,也可以将使用过的原始权值再次复用传送给乘法器。这种输入方向的复用选择结构有利于将对底层存储器的访问转换成PE间的数据获取,从而有效降低数据在不同存储层次间移动带来的动态功耗。
进一步的,对于乘法器而言,当其中一个操作数为0时,可以不需要乘法操作而直接令结果为0,这样可以降低乘法器的动态功耗,MUX3的作用就是当输入特征数据为0时直接将输入特征数据当做乘法器的输出结果送入加法器。同时,由于加法器需要完成部分和的累加操作,因此MUX4的作用是为加法器提供另一个操作数,该操作数可以是首次运算的初始值0,也可以是后续加法运算中锁存的历史加法结果,避免了从底层存储器反复写入和读取历史加法结果而造成的功耗开销。
进一步的,控制信号主要作用于三方面,首先通过控制MUX1/MUX2/MUX3/MUX4来精确控制乘法器和加法器的操作数来源,最大程度复用已经存储于PE阵列的输入特征数据和权值;其次通过控制乘法器和加法器的使能,在不需要进行乘法和加法运算时关闭其使能,节省运算部件的功耗开销;最后通过控制寄存器reg1和reg2的使能,能够精准的控制锁存输入特征数据和加法运算结果的时机,保证下个周期乘法器和加法器运算输入的正确性。
进一步的,给出了该结构下最优的计算模式,即在与卷积核尺寸相同的PE阵列结构下,按照输入特征图先纵向再横向的计算顺序,可以实现该结构下数据复用的最大程度。
综上所述,本发明适用于当前所有卷积神经网络模型,在最大程度满足数据并行度的前提下,有效降低了全局计算的动态功耗,控制结构简单,具有极强的通用性。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
图1为卷积运算基本原理图;
图2为卷积运算的传统计算流程;
图3为本发明提出的优化计算流程;
图4为优化后的输入特征数据访问压缩率变化趋势图;
图5为本发明所提的PE结构;
图6为本发明所提的PE阵列互联形式图。
具体实施方式
本发明提供了一种降低深度神经网络数据迁移及功耗的卷积运算结构,对当前主流卷积计算数据复用体系进行充分分析,提出一种结合权值以及输入特征图等要素的数据复用方法,该方案主要目的就是减少空间和时间维度上不同要素在PE阵列间的移动次数,进而降低对低层次存储器的访问次数,从而有效降低全局计算的动态功耗。本发明对所提方法进行了计算流程的定性描述,同时给出采用本发明方法后特征数据访问压缩率的量化评估公式以证实方案的有效性,最后给出硬件层面的具体实现结构。该发明不需要在硬件层面增加过多的资源,就可以实现降低数据在PE间迁移和减少功耗的目的,该方案具有良好的扩展性,因此在以卷积运算为主要特征的深度神经网络中具有较高的应用价值。
请参阅图1,输入特征图(input fmaps)的高、宽、深度分别是Hif、Wif和C,卷积核(filter或weight)的高、宽、深度分别是Riw、Siw和C,卷积运算的过程就是从输入特征图的顶点处选择与卷积核相同大小的区域进行逐个乘累加操作,之后以步长ΔT滑动进行相同操作,输出特征图的O00元素值为:
其中,f为输入特征图中的数据元素,w为卷积核中的权重值,下标代表其横纵坐标;
请参阅图2,一般而言,卷积运算采用数据并行方法,即采用多个PE计算单元同时进行数据乘加操作,以减少整个运算耗时及保证实时性。
本发明提出的设计结构采用的PE数目与卷积核大小一致,即每个PE单元同时执行一个卷积操作,图2给出了12个周期(cycle1~cycle12)9个PE单元(PE0~PE8)运算的顺序,其中,步长ΔT为1,每个周期各个PE单元共享相同的权值w,例如cycle1周期,PE0执行f00*w00,而PE8执行f22*w00,后续每个周期各PE单元执行乘法操作,并与上个周期的乘法结果累加,以图1为例,第9个周期cycle9结束后,PE阵列的一次并行卷积结束;之后从cycle10开始,卷积核的权值将再次重复广播至各个PE单元重新进行新一轮卷积运算。
对底层存储器进行输入特征数据的访问次数Nifmap_ini计算如下
通过图2的计算流程图可以发现,在权值共享的基础上,输入特征数据存在复用情况,如图3所示。本发明的优化计算方法为:
cycle1周期PE1使用的f10可以在cycle2周期左移至PE0使用,其余PE单元情况相同。这样输入特征数据的复用可以直接完成PE单元间的信息交换,而不用到延迟和功耗更大的更低一级存储级进行数据获取,降低了不同存储层次间的数据迁移并节省了功耗。
cycle4~cycle6周期PE0~PE2与cycle1~cycle3周期PE3~PE5使用的特征数据完全一致,同样的,图3中箭头标注的数据流向均可以进行特征数据复用。
采用过小的PE数量,一方面计算耗时增大,同时数据复用性大大缩小,而采用过大的PE数量,虽然由于算力增加使得耗时降低,但是功耗开销将急剧上升。
本发明采用与卷积核尺寸相同规模的PE数量,是由于深度神经网络中卷积核的尺寸一般较小,耗时与功耗可以平衡。这种特征数据复用的流程将按照卷积核在特征图中按照先纵向滑动再横向滑动的顺序,其原因在于从图3的过程可以看出,每一个PE右侧相邻的PE,计算的结果都是按照特征图纵向方向,其特征数据的源头均来自于最右侧PE(图中即为PE8),这样可以将每个输入特征数据仅需要从低层存储器调入PE阵列一次即可,极大提高了输入特征数据的复用程度。
在上述特征数据的复用基础上,继续考察权值的可复用性,从图3可以看出,从cycle10周期开始,权值将从w00开始重复广播至所有PE,由于卷积核的尺寸较小,所以可以在PE阵列中设置一个小的寄存器组对权值进行锁存。
采用上述方法后,对底层存储器中输入特征数据的访问次数Nifmap_opt计算如下:
若将公式(2)除以公式(1),并选择深度神经网络中常见的卷积核与特征图尺寸,将步长值△T设定为1,得到输入特征数据访问压缩率变化趋势如图4所示。
从图中可以看出,在特征图尺寸不变时,随着卷积核尺寸的变大,压缩率呈现更低的趋势,这是卷积核尺寸变大使得每次卷积运算的规模变大,因而整体复用程度提高;同时,在卷积核尺寸不变时,随着特征图尺寸的变大,压缩率同样呈现更低的趋势,这是因为卷积核在一个方向滑动次数增加,相应使得数据复用程度提高。另外,在上述两种趋势中,压缩率均呈现饱和的趋势,这是因为随着计算规模的增大,数据复用的比例将越来越逼近极限,从而呈现趋势变缓的特点。
不同存储层次的数据迁移产生的功耗差异较大,从PE之间相对于从片外DRAM获取数据的功耗要低1~2个数量级,而该压缩率同样反映的是将片外DRAM访问转换为PE间访问的比率,间接的证实了本方案对于降低全局动态功耗的效果。
请参阅图5,本发明一种降低深度神经网络数据迁移及功耗的卷积运算结构,以乘法器和加法器为核心部件,实现卷积运算的乘累加操作。
乘法器的输入端分别连接多路复选器MUX1和多路复选器MUX2,乘法器的输出端与多路复选器MUX1的输出端经多路复选器MUX3与加法器的输入端连接,加法器的输入端还连接有多路复选器MUX4的输入端,多路复选器MUX1、多路复选器MUX2、乘法器、多路复选器MUX3、多路复选器MUX4的输出端和加法器的输入端分别连接寄存器reg1,加法器的输出端连接寄存器reg2,寄存器reg2的输出端连接多路复选器MUX4的输入端。
在输入方向,输入特征数据fxy以及PE间可复用的特征数据f_reuse通过多路复选器MUX1后作为乘法器的一端输入,输入权值wij以及PE间可复用的权值w_reuse通过多路复选器MUX2后作为乘法器的另一端输入。
乘法器的输出与MUX1的输出经过多路复选器MUX3后作为加法器的一端输入,多路复选器MUX3的作用是当输入特征数据为0值时,乘法结果依旧为0,因此可以不用激活乘法器而直接将0值旁路输入加法器。
加法器的另一端输入由多路复选器MUX4提供,多路复选器MUX4的输入分别是***初值‘0’和上一周期PE输出结果inter_psum,只有当PE执行每一轮卷积操作的第一次运算时选择初值‘0’进行加法运算,以后均选择inter_psum完成累加操作。
输入方向,控制信号一方面提供MUX1/MUX2/MUX3/MUX4的选择信号,另外也提供乘法器、加法器、寄存器reg1和reg2的使能信号,以实现低功耗控制以及精确控制数据复用正确性的目的。
在输出方向,reg1和reg2分别对输入特征数据和输入权值进行锁存,目的就是为了在正确的时机向临近PE传递信息以达到降低数据迁移和降低功耗的效果。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中的描述和所示的本发明实施例的组件可以通过各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图6,以PE0和PE1为例,PE0和PE1接收相同的控制信号与权值wij,同时每个PE接收不同的输入特征数据fxy;该结构中,为了实现权值的复用,集成了一块小容量的FIFO,用于存储权值总线上广播的卷积核值,并在一次卷积运算完成后取代权值总线向各PE单元广播权值。
为了实现输入特征数据的复用,PE之间增加了一个多路复选器MUX5,多路复选器MUX5在控制总线作用下,按照图3所示,选择PE0的复用数据来源于PE1还是PE3的f_reuse。
进一步的,图6虽然仅描述相邻两个PE之间的互联关系,但是可以扩展至所有PE阵列结构。
综上所述,本发明一种降低深度神经网络数据迁移及功耗的卷积运算结构,通过模型搭建的方式实现一款神经网络协处理器原型,该协处理器以计算阵列形式构成,数据复用采用部分和固定模式,通过对阵列间特征数据和权值的复用有效降低了数据迁移率和动态功耗。所提发明结构不仅可以保证卷积运算结果的正确性,同时显著降低了低层存储器的访问频率,进一步提升了深度神经网络的能效比,具有较高的实用价值和通用性。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。
Claims (7)
1.一种降低深度神经网络数据迁移及功耗的卷积运算结构,其特征在于,包括乘法器和加法器,乘法器的输入端分别连接多路复选器MUX1和多路复选器MUX2,乘法器的输出端与多路复选器MUX1的输出端经多路复选器MUX3与加法器的输入端连接,加法器的输入端还连接有多路复选器MUX4的输入端,多路复选器MUX1、多路复选器MUX2、乘法器、多路复选器MUX3、多路复选器MUX4的输出端和加法器的输入端分别连接寄存器reg1,加法器的输出端连接寄存器reg2,寄存器reg2的输出端连接多路复选器MUX4的输入端,用于实现卷积运算的乘累加操作;输入特征图(input fmaps)的高、宽、深度分别是Hif、Wif和C,卷积核(filter或weight)的高、宽、深度分别是Riw、Siw和C,卷积运算的过程就是从输入特征图的顶点处选择与卷积核相同大小的区域进行逐个乘累加操作,之后以步长ΔT滑动进行相同操作,输出特征图的O00元素值为:
其中,f为输入特征图中的数据元素,w为卷积核中的权重值,下标代表其横纵坐标。
2.根据权利要求1所述的降低深度神经网络数据迁移及功耗的卷积运算结构,其特征在于,在输入方向,输入特征数据fxy以及PE间可复用的特征数据f_reuse通过多路复选器MUX1后作为乘法器的一端输入,输入权值wij以及PE间可复用的权值w_reuse通过多路复选器MUX2后作为乘法器的另一端输入。
3.根据权利要求1所述的降低深度神经网络数据迁移及功耗的卷积运算结构,其特征在于,乘法器的输出与MUX1的输出经过多路复选器MUX3后作为加法器的一端输入,多路复选器MUX3用于当输入特征数据为0值时,乘法结果为0,不激活乘法器,将0值旁路输入加法器。
4.根据权利要求3所述的降低深度神经网络数据迁移及功耗的卷积运算结构,其特征在于,加法器的另一端输入由多路复选器MUX4提供,多路复选器MUX4的输入分别是***初值0和上一周期PE输出结果inter_psum,当PE执行每一轮卷积操作的第一次运算时选择初值0进行加法运算,以后均选择inter_psum完成累加操作。
5.根据权利要求1所述的降低深度神经网络数据迁移及功耗的卷积运算结构,其特征在于,在输入方向,控制信号提供MUX1/MUX2/MUX3/MUX4的选择信号,并提供乘法器、加法器、寄存器reg1和reg2的使能信号。
6.根据权利要求5所述的降低深度神经网络数据迁移及功耗的卷积运算结构,其特征在于,在输出方向,寄存器reg1和reg2分别对输入特征数据和输入权值进行锁存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010130325.7A CN111275180B (zh) | 2020-02-28 | 2020-02-28 | 一种降低深度神经网络数据迁移及功耗的卷积运算结构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010130325.7A CN111275180B (zh) | 2020-02-28 | 2020-02-28 | 一种降低深度神经网络数据迁移及功耗的卷积运算结构 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111275180A CN111275180A (zh) | 2020-06-12 |
CN111275180B true CN111275180B (zh) | 2023-04-07 |
Family
ID=70999267
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010130325.7A Active CN111275180B (zh) | 2020-02-28 | 2020-02-28 | 一种降低深度神经网络数据迁移及功耗的卷积运算结构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111275180B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113486200A (zh) * | 2021-07-12 | 2021-10-08 | 北京大学深圳研究生院 | 一种稀疏神经网络的数据处理方法、处理器和*** |
CN113791754A (zh) * | 2021-09-10 | 2021-12-14 | 中科寒武纪科技股份有限公司 | 运算电路、芯片和板卡 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109190756A (zh) * | 2018-09-10 | 2019-01-11 | 中国科学院计算技术研究所 | 基于Winograd卷积的运算装置及包含该装置的神经网络处理器 |
KR20190065144A (ko) * | 2017-12-01 | 2019-06-11 | 한국전자통신연구원 | 뉴럴 네트워크에서의 프로세싱 엘리먼트 및 그 동작 방법 |
CN110659014A (zh) * | 2018-06-29 | 2020-01-07 | 赛灵思公司 | 乘法器及神经网络计算平台 |
-
2020
- 2020-02-28 CN CN202010130325.7A patent/CN111275180B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190065144A (ko) * | 2017-12-01 | 2019-06-11 | 한국전자통신연구원 | 뉴럴 네트워크에서의 프로세싱 엘리먼트 및 그 동작 방법 |
CN110659014A (zh) * | 2018-06-29 | 2020-01-07 | 赛灵思公司 | 乘法器及神经网络计算平台 |
CN109190756A (zh) * | 2018-09-10 | 2019-01-11 | 中国科学院计算技术研究所 | 基于Winograd卷积的运算装置及包含该装置的神经网络处理器 |
Non-Patent Citations (1)
Title |
---|
张军阳 ; 郭阳 ; .二维矩阵卷积在向量处理器中的设计与实现.国防科技大学学报.(第03期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111275180A (zh) | 2020-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106940815B (zh) | 一种可编程卷积神经网络协处理器ip核 | |
CN110378468B (zh) | 一种基于结构化剪枝和低比特量化的神经网络加速器 | |
CN111667051B (zh) | 适用边缘设备的神经网络加速器及神经网络加速计算方法 | |
KR102443546B1 (ko) | 행렬 곱셈기 | |
CN108805266B (zh) | 一种可重构cnn高并发卷积加速器 | |
Liang et al. | Evaluating fast algorithms for convolutional neural networks on FPGAs | |
CN108241890B (zh) | 一种可重构神经网络加速方法及架构 | |
US10698657B2 (en) | Hardware accelerator for compressed RNN on FPGA | |
CN111459877A (zh) | 基于FPGA加速的Winograd YOLOv2目标检测模型方法 | |
CN108564168B (zh) | 一种对支持多精度卷积神经网络处理器的设计方法 | |
CN111414994B (zh) | 一种基于FPGA的Yolov3网络计算加速***及其加速方法 | |
CN107993186A (zh) | 一种基于Winograd算法的3D CNN加速方法及*** | |
CN102122275A (zh) | 一种可配置处理器 | |
CN111275180B (zh) | 一种降低深度神经网络数据迁移及功耗的卷积运算结构 | |
CN111105023B (zh) | 数据流重构方法及可重构数据流处理器 | |
CN111898733A (zh) | 一种深度可分离卷积神经网络加速器架构 | |
CN110414672B (zh) | 卷积运算方法、装置及*** | |
CN116710912A (zh) | 一种矩阵乘法器及矩阵乘法器的控制方法 | |
CN111079078B (zh) | 面向结构网格稀疏矩阵的下三角方程并行求解方法 | |
Xie et al. | High throughput CNN accelerator design based on FPGA | |
Huang et al. | A high performance multi-bit-width booth vector systolic accelerator for NAS optimized deep learning neural networks | |
Shang et al. | LACS: A high-computational-efficiency accelerator for CNNs | |
CN113312285B (zh) | 一种卷积神经网络加速器及其工作方法 | |
CN115081600A (zh) | 执行Winograd卷积的变换单元、集成电路装置及板卡 | |
CN115081603A (zh) | 执行Winograd卷积的计算装置、集成电路装置及板卡 |
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 |