CN111178519B - 卷积神经网络加速引擎、卷积神经网络加速系统及方法 - Google Patents

卷积神经网络加速引擎、卷积神经网络加速系统及方法 Download PDF

Info

Publication number
CN111178519B
CN111178519B CN201911377012.5A CN201911377012A CN111178519B CN 111178519 B CN111178519 B CN 111178519B CN 201911377012 A CN201911377012 A CN 201911377012A CN 111178519 B CN111178519 B CN 111178519B
Authority
CN
China
Prior art keywords
neural network
physical
convolutional neural
characteristic image
matrix
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
CN201911377012.5A
Other languages
English (en)
Other versions
CN111178519A (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.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
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 Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN201911377012.5A priority Critical patent/CN111178519B/zh
Publication of CN111178519A publication Critical patent/CN111178519A/zh
Application granted granted Critical
Publication of CN111178519B publication Critical patent/CN111178519B/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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Abstract

本发明公开了一种卷积神经网络加速引擎、卷积神经网络加速系统及方法,属于异构计算加速领域,引擎包括:全局缓存和物理PE矩阵;物理PE矩阵包括多个物理PE单元,物理PE单元用于执行行卷积操作以及相关的部分和累加操作;XY互联总线用于将输入特征图像数据、输出特征图像数据和卷积核参数从全局缓存传输到物理PE矩阵上,或者将物理PE矩阵产生的操作结果传输到全局缓存中;邻接互联总线用于在同一列物理PE单元之间传输中间结果;系统包括:3D‑Memory,其中每个Vault单元的内存控制器中集成了卷积神经网络加速引擎,用于完成卷积神经网络计算任务的一个子集;方法在系统的基础上进行逐层优化。本发明能够提高卷积神经网络的性能和能耗。

Description

卷积神经网络加速引擎、卷积神经网络加速系统及方法
技术领域
本发明属于异构计算加速领域,更具体地,涉及一种卷积神经网络加速引擎、卷积神经网络加速系统及方法。
背景技术
随着智能计算的普及,包括语音识别,物体检测,场景标记和自动驾驶等,深度神经网络模型的预测精确度被要求越来越高,深度神经网络模型(DCNN)设计趋向于越来越深和规模越来越大,计算平台需要为此提供足够计算能力和存储能力。
针对深度神经网络这类应用,给计算平台带来不少的挑战:不同的神经网络模型的层数和参数形状各异对硬件的灵活性要求高;不同层的类型,包括卷积层,全连接层,池化层,批处理归一层等,使计算复杂而导致性能下降;并且数据量和计算量的庞大导致功耗问题。因此设计具有大规模计算逻辑和高数据带宽和简单专用缓存架构的协处理器进行异构加速深度学习这类计算任务单一,计算密度大且较高的数据复用的应用更为合适。
相比于GPU较低的性能功耗比,目前更多采用定制化的和半定制化的方案。利用DCNN特殊的数据复用机制,合理地分解和映射这些超大卷积操作到多层存储结构和计算单元上对性能和能效优化十分重要。流式处理,位宽压缩,神经网络稀疏化,存内计算等等是主要采用的优化方案。
目前一些DCNN专用芯片目前存在一下的问题:(1)神经网络模型和特征图像的存储是模型扩展和整体能效的一大瓶颈:DIANNAO芯片将整个神经网络模型存放在片上SRAM上;DADIANNAO芯片采用多核结构和采用eDRAM分布式存储神经网络模型,但是仍然很难扩展到较大的神经网络模型上;Eyeriss在278nm运行AlexNet能够达到170GOPS,但当运行VGG16,性能急剧下降。(2)DCNN加速器的映射策略与神经网络模型之间的不匹配导致性能和能效下降:不仅是DCNN模型参数还是输入特征图像都是高维的数据,包括批处理量,输入特征图像通道,输出特征图像,特征图像宽/高,卷积核宽高多个维度,DIANNAO采用加法树结构并行展开输入和输出通道数,现有加速器是将对固定的数据维度展开进行数据重用来减少存储单元的访问,当某一数据维度很低时,则影响处理过程中计算单元的利用率导致性能的下降。
发明内容
针对现有技术的缺陷和改进需求,本发明提供了一种卷积神经网络加速引擎、卷积神经网络加速系统及方法,其目的在于,解决现有的DCNN加速器的映射策略与神经网络模型不匹配导致性能和能效下降的技术问题。
为实现上述目的,按照本发明的第一方面,提供了一种卷积神经网络加速引擎,包括:全局缓存和物理PE矩阵;
物理PE矩阵包括以行列形式排布的多个物理PE单元;每一个物理PE单元用于执行行卷积操作以及相关的部分和累加操作;行卷积操作为通过滑窗的方式,将卷积核中的一行权重与输入特征图像的一行像素相乘,并将同一滑动窗口内相乘的结果相加;部分和累加操作为将多个行卷积操作的部分中间结果累加,得到输出特征图像的一个像素点的操作;
在全局缓存和物理PE矩阵之间,以及在物理PE单元之间实现数据传输的片上互联总线包括:XY互联总线和邻接互联总线;
XY互联总线由X总线和Y总线构成,物理PE矩阵中,每一行物理PE单元与同一X总线相连,所有的X总线以及全局缓存均与Y总线相连;物理PE矩阵中,每一列物理PE单元与同一邻接互联总线相连;
XY互联总线,用于将输入特征图像数据、输出特征图像数据和卷积核参数从全局缓存传输到物理PE矩阵上,或者将物理PE矩阵产生的操作结果传输到全局缓存中;
邻接互联总线,用于在同一列物理PE单元之间传输中间结果。
本发明将卷积操作分解为行卷积操作和部分和累加操作,并由物理PE矩阵中的物理PE单元执行行卷积操作和部分和累加操作,能够最大化权重的数据重用,有效减少从上一存储层的数据访问;采用邻接互联总线管理物理PE单元间的数据传输,使得每列PE进行相同输出特征图像行部分中间结果和的累加,同时,不同输入特征图像通道计算相同输出特征图像的不同逻辑PE矩阵上也进行垂直方向上的累加,能够减少从上一层存储的数据访问。总的来说,本发明能有效减少从离计算单元较远的存储层的数据访问,从而提高卷积神经网络的性能和能耗。
进一步地,物理PE单元包括:第一缓存、第二缓存、中间结果缓存、乘法器以及加法器;
第一缓存和第二缓存均采用双缓存设计;
第一缓存中的双缓存分别用于缓存两个不同的行卷积操作的输入特征图像数据;
第二缓存中的双缓存分别用于缓存两个不同的行卷积操作的卷积核参数;
中间结果缓存用于缓存不同行卷积操作所产生的中间结果;
乘法器,用于在行卷积操作中实现卷积核权重与输入特征图像像素之间的乘法运算;
加法器,用于在行卷积操作中实现中间结果的加法运算,以及在部分和累加操作中实现卷积操作部分中间结果之间的加法运算。
本发明在物理PE单元内部针对输入特征图像和卷积核的存储,分别设计了双缓存结构,能够有效避免当前行卷积数据和下一行卷积数据的数据冲突问题,保证卷积神经网络的性能。
进一步地,物理PE单元中的第一缓存、第二缓存以及中间结果缓存均通过移位寄存器堆实现。
本发明基于移位寄存器堆实现物理PE单元中的缓存,即第一缓存、第二缓存以及中间结果缓存,能够有效地利用缓存内数据的时间局部性来对行卷积的数据进行重用。
进一步地,物理PE单元内的各个功能模块相互独立,且采用流水线异步方式执行行卷积操作及部分和累加操作。
本发明在物理PE单元内部采用流水线式设计,只要有数据流入乘加单元就能进行即时计算,而不需要寄存器堆中保存整行数据,能够有效加快运算速度。
按照本发明的第二方面,提供了一种基于3D-Memory的卷积神经网络加速系统,包括3D-Memory,用于存储卷积神经网络模型、输入特征图像和输出特征图像,以及对输入特征图像进行计算;
3D-Memory中,每个Vault单元的内存控制器中集成了发明第一方面提供的卷积神经网络加速引擎;参与卷积神经网络计算的每个Vault单元内,DRAM存储完整的卷积神经网络模型以及输入特征图像子集,Vault单元的内存控制器中集成的卷积神经网络加速引擎用于完成卷积神经网络计算任务的一个子集。
3D-Memory是一种多级存储结构,3D-Memory由多个DRAM和底层的逻辑片堆叠而成,DRAM和底层的逻辑片之间通过硅穿孔技术互联,整个存储系统纵向上划分为管理和访问相互独立的Vault单元。
本发明基于3D-Memory实现的神经网络加速系统是一种近数据处理架构,在一个封装内,通过硅穿孔技术将多个DRAM存储片和逻辑片垂直连接一起,3D-Memory内访问独立的Vault单元能够为其内存控制器中集成的卷积神经网络加速引擎提供高数据传输带宽;相比于传统使用的DDR3存储整个神经网络模型和特征图像,本发明能够有效地减少数据传输功耗,同时利用Vault单元中的DRAM存储完整的卷积神经网络模型以及输入特征图像子集,能够有效缓解神经网络模型和特征图像的存储在模型扩展和整体能效中带来的瓶颈问题。
按照本发明的第三方面,提供了一种基于本发明第二方面提供的基于3D-Memory的卷积神经网络加速系统的卷积神经网络加速方法,包括:
(1)在卷积神经网络的当前层Li,获得输入特征图像ifmsi后,穷举从批处理N、输入特征图像通道C、输出特征图像通道M以及2D特征图像E这四个维度对当前层Li的卷积计算任务进行并行展开的所有分区方案,并进行筛选,使得所保留的分区方案在四个维度的分区粒度都能被当前层Li的形状参数整除,且互不等价;
(2)对于所保留的每一个分区方案,生成各个Vault单元所存储的输入特征图像ifmsi的子集的索引,以及需要存储和计算的输出特征图像子集的索引;
(3)为每一个Vault单元确定映射策略,并根据映射策略将2D特征图像所对应的卷积计算任务子集映射到卷积神经网络加速引擎中的物理PE矩阵中;
(4)对于所保留的每一个分区方案,根据映射策略对剩余的批处理大小N′、输入特征图像通道C′和输出特征图像通道M′这三个维度展开的先后顺序以及在存储层级间传输的数据块大小进行优化,以使得该分区方案对应的数据访问开销最小,将优化结果作为该分区方案所对应调度策略;
(5)若当前层Li为卷积神经网络的最后一层,则转入步骤(6);否则,将数据访问开销最小的K种分区方案所生成的输出特征图像布局作为卷积神经网络中下一层的输入特征图像,并转入步骤(1);
(6)将数据访问开销最小的调度策略确定为最优调度策略,并按照最优调度策略对执行卷积神经网络的计算任务;
其中,K为正整数。
本发明从批处理、输入特征图像通道、输出特征图像通道以及2D特征图像对数据进行多维展开,之后再映射到物理PE矩阵中,物理PE单元内通过卷积核滑窗计算会最大化卷积核的重用,同时通过将不同为特征平面连接和交织的方式进一步实现多维数据重用,因此,本发明能够最大化数据重用,有效提升卷积神经网络的性能并降低系统的功耗。
本发明在将逻辑PE矩阵映射到物理PE矩阵的过程中,通过冗余能够将不同样本的不同输入输出特征图像通道并行执行;通过多层嵌套循环分块和重排策略能够有效地利用数据重用减少数据访问的开销。
进一步地,为任意Vault单元V确定映射策略,包括:
(31)将2D特征图像所对应的卷积计算任务子集分解为行卷积操作,从而得到大小为wgh_h*ofms_h的逻辑PE矩阵PEL;ofms_h表示输出特征图像的高,wgh_h表示卷积核的高;
(32)获得Vault单元V所对应的卷积神经网络加速引擎中,物理PE矩阵PEP的宽phy_w和高phy_h,以分别计算折叠因子
Figure BDA0002341232390000061
折叠因子
Figure BDA0002341232390000062
冗余因子
Figure BDA0002341232390000063
以及冗余因子
Figure BDA0002341232390000064
Figure BDA0002341232390000065
α为逻辑PE矩阵PEL的宽与物理PE矩阵PEP的宽的最大公因子,β为逻辑PE矩阵PEL的高与物理PE矩阵PEP的高的最大公因子;
(33)若replh>1或者replw>1,则沿列方向根据冗余因子replh从批处理N、输入特征图像通道C以及输出特征图像通道M这三个维度进行展开,并沿行方向根据冗余因子replw从批处理N和输出特征图像通道M这两个维度进行展开,从而确定批处理展开因子batch,输入特征图像通道展开因子ifmaps和输出特征图像通道展开因子ofmaps,之后转入步骤(34);否则,设置各展开因子分别为batch=1、ifmaps=1以及ofmaps=1,之后转步骤(34);
(34)根据展开因子对逻辑PE矩阵PEL进行展开后,将逻辑PE矩阵PEL映射到物理PE矩阵PEP,并统计物理PE矩阵PEP处理完数据流的数据访问开销和计算开销,从而得到相应的功耗。
本发明在将逻辑PE矩阵映射到物理PE矩阵的过程中,会根据逻辑PE矩阵与物理PE矩阵之间的差异对逻辑PE矩阵进行叠加或冗余,能够最大化物理PE单元的利用率。
进一步地,步骤(33)中,replh>1或者replw>1时,展开因子的确定方式包括:
将冗余因子replh和冗余因子replw的乘积分解为三个因子,分别作为批处理展开因子batch,输入特征图像通道展开因子ifmaps和输出特征图像通道展开因子ofmaps,根据
Figure BDA0002341232390000071
计算相应的迭代次数cntloops
将使得迭代次数cntloops最小的展开因子确定最终的展开因子。
本发明所确定的批处理展开因子,输入特征图像通道展开因子和输出特征图像通道展开因子,使得数据流传输的总迭代次数最小,能够有效减少数据访问开销,提高系统性能。
进一步地,步骤(4)包括:
(41)根据
Figure BDA0002341232390000072
以及
Figure BDA0002341232390000073
分别计算剩余的批处理大小N′、输入特征图像通道C′和输出特征图像通道M′;
(42)将物理PE矩阵PEP一次处理的数据流porcpass作为嵌套循环的基本单元,相应地,数据流porcpass的总迭代次数为N′*C′*M′;
(43)以数据流porcpass的数据大小为基本粒度,从批处理大小N′、输入特征图像通道C′和输出特征图像通道M′这三个维度进行分块;
(44)以
Figure BDA0002341232390000074
Figure BDA0002341232390000075
分别表示将各维度的数据分块从DRAM传输到全局缓存的迭代次数,在给定的全局缓存和寄存器堆大小下,搜索最小化DRAM的访问量
Figure BDA0002341232390000081
Figure BDA0002341232390000082
所对应的迭代次数
Figure BDA0002341232390000083
Figure BDA0002341232390000084
(45)以
Figure BDA0002341232390000085
Figure BDA0002341232390000086
表示从将各维度数据块从全局缓存传输到寄存器堆的迭代次数,以
Figure BDA0002341232390000087
Figure BDA0002341232390000088
表示数据流porcpass在物理PE矩阵间并行执行的展开次数,搜索最小化全局缓存访问量
Figure BDA0002341232390000089
Figure BDA00023412323900000810
Figure BDA00023412323900000811
的对应的
Figure BDA00023412323900000812
Figure BDA00023412323900000813
以及
Figure BDA00023412323900000814
Figure BDA00023412323900000815
(46)根据所确定的迭代次数确定批处理大小N′、输入特征图像通道C′和输出特征图像通道M′这三个维度展开的先后顺序,以及在存储层级间传输的数据块大小;
其中,GLBifms为输入特征图像所需的全局缓存容量,GLBfilter为卷积核所需的全局缓存容量,GLBofms输出特征图像所需的全局缓存容量,regfifms为输入特征图像所需的寄存器堆容量,regffilter为卷积核所需的寄存器堆容量,regfofms为输出特征图像所需的寄存器堆容量,fifms为输入特征图像的访问频率,ffilter为卷积核的访问频率,fofms为输出特征图像的访问频率。
本发明通过确定对批处理大小N′、输入特征图像通道C′和输出特征图像通道M′这三个维度展开的先后顺序以及在存储层级间传输的数据块大小进行优化,确定了多层嵌套循环分块和重排策略,并使得数据访问总量(包括DRAM访问量和全局缓存访问量)最小,能够有效提高系统能效。
总体而言,通过本发明所构思的以上技术方案,能够取得以下有益效果:
(1)本发明利用物理PE矩阵中的物理PE单元执行行卷积操作和部分和累加操作,能够最大化权重的数据重用,有效减少从上一存储层的数据访问;采用邻接互联总线管理物理PE单元间的数据传输,能够减少从上一层存储的数据访问。总的来说,本发明能有效减少从离计算单元较远的存储层的数据访问,从而提高卷积神经网络的性能和能耗。
(2)本发明在物理PE单元内部针对输入特征图像和卷积核的存储,分别设计了双缓存结构,能够有效避免当前行卷积数据和下一行卷积数据的数据冲突问题,保证卷积神经网络的性能。
(3)本发明基于移位寄存器堆实现缓存,有效地利用缓存内数据的时间局部性来对行卷积的数据进行重用,各个部件之间采用流水线式设计,能够有效加快计算速度。
(4)本发明基于3D-Memory实现了一种近数据处理架构,并利用Vault单元存储完整的卷积神经网络和输入特征图像子集,能够为其内存控制器中集成的卷积神经网络加速引擎提供高数据传输带宽,有效缓解神经网络模型和特征图像的存储在模型扩展和整体能效中带来的瓶颈问题。
(5)本发明通过数据多维展开和数据重用有效的提升系统的性能和降低系统的功耗,通过多层嵌套循环分块和重排策略能够有效地利用数据重用减少数据访问的开销。
附图说明
图1为现有的卷积操作示意图;
图2为本发明实施例提供的卷积操作示意图;
图3为本发明实施例提供的部分和叠加操作示意图;
图4为本发明实施例提供的卷积神经网络加速引擎示意图;
图5为本发明实施例提供的物理PE单元示意图;
图6为本发明实施例提供的基于3D-Memory的卷积神经网络加速系统示意图;
图7为本发明实施例提供的基于图6所示系统的卷积神经网路加速方法流程图;
图8为本发明实施例提供的逻辑PE矩阵到物理PE矩阵的映射示意图;
图9为本发明实施例提供的图6所示系统的工作流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
在本发明中,本发明及附图中的术语“第一”、“第二”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
卷积核是一个权重矩阵,输出特征图像是由多个通道组成的,如图1所示,每一个输出特征图像通道是由输入特征图像各个通道和与之对应的卷积核卷积计算后累加生成。卷积核在输入特征平面上进行滑窗来完成一个输出特征平面的部分和的计算。在一个滑动窗口内,输入特征图像像素点和与之对应的权重值相乘,进而累加能够计算出一个输入特征平面像素点的部分和。
在本发明中,将卷积神经网络的卷积操作分解为了行卷积操作和部分和叠加操作。
行卷积操作为通过滑窗的方式,将卷积核中的一行权重与输入特征图像的一行像素相乘,并将同一个滑动窗口内相乘的结果相加,每次滑动产生一个部分和;以图2为例,卷积核的一行权重为[1,2,3],输入特征图像的一行像素为[1,2,3,4,5],执行行卷积操作后,共得到3个部分和;
部分和累加操作为将多个行卷积操作的部分中间结果累加,得到输出特征图像的一个像素点的操作;如图3所示,卷积核为
Figure BDA0002341232390000111
共包含3行权重,在相同的滑窗位置,将3行权重对应的部分和累加,即可得到输出特征图像的一个像素。
为解决现有的DCNN加速器的映射策略与神经网络模型不匹配导致性能和能效下降的技术问题,本发明提供的卷积神经网络加速引擎,如图4所示,包括:全局缓存(GlobalBuffer)和物理PE矩阵;
物理PE矩阵包括以行列形式排布的多个物理PE单元;每一个物理PE单元用于执行行卷积操作以及相关的部分和累加操作;行卷积操作为通过滑窗的方式,将卷积核中的一行权重与输入特征图像的一行像素相乘,并将同一滑动窗口内相乘的结果相加;部分和累加操作为将多个行卷积操作的部分中间结果累加,得到输出特征图像的一个像素点的操作;
在全局缓存和物理PE矩阵之间,以及在物理PE单元之间实现数据传输的片上互联总线包括:XY互联总线和邻接互联总线;
XY互联总线由X总线和Y总线构成,物理PE矩阵中,每一行物理PE单元与同一X总线相连,所有的X总线以及全局缓存均与Y总线相连;物理PE矩阵中,每一列物理PE单元与同一邻接互联总线相连;
XY互联总线,用于将输入特征图像数据、输出特征图像数据和卷积核参数从全局缓存传输到物理PE矩阵上,或者将物理PE矩阵产生的操作结果传输到全局缓存中;
邻接互联总线,用于在同一列物理PE单元之间传输中间结果;
在实际应用中,可以由路由器完成数据的转发,具体地,如图4所示,在每一个X总线与Y总线之间,包含一个Y路由器;在X总线与每一个物理PE单元之间,包含一个X路由器;
在Y总线上,会为不同的X总线匹配独有的行ID和路由器;在每一条X总线上会为每个物理PE单元匹配独有的列ID和其路由器。这些ID都是逐层重新配置的,为在给定的神经网络层访问相同数据的X总线或物理PE单元提供唯一的ID;地址生成器会为数据进行扩充,给出相应的行ID和列ID,Y总线上的路由器保证全局缓存的输入数据传入正确的X总线,然后X总线上的路由保证传入到正确的物理PE单元上缓存。
本实施例中,将卷积操作分解为行卷积操作和部分和累加操作,并由物理PE矩阵中的物理PE单元执行行卷积操作和部分和累加操作,能够最大化权重的数据重用,有效减少从上一存储层的数据访问;采用邻接互联总线管理物理PE单元间的数据传输,使得每列PE进行相同输出特征图像行部分中间结果和的累加,同时,不同输入特征图像通道计算相同输出特征图像的不同逻辑PE矩阵上也进行垂直方向上的累加,能够减少从上一层存储的数据访问。总的来说,本实施例能有效减少从离计算单元较远的存储层的数据访问,从而提高卷积神经网络的性能和能耗。
在一个可选的实施方式中,如图5所示,在上述卷积神经网络加速引擎中,物理PE单元包括:第一缓存、第二缓存、中间结果缓存、乘法器以及加法器;
第一缓存和第二缓存均采用双缓存设计;
第一缓存中的双缓存分别用于缓存两个不同的行卷积操作的输入特征图像数据;
第二缓存中的双缓存分别用于缓存两个不同的行卷积操作的卷积核参数;
中间结果缓存用于缓存不同行卷积操作所产生的中间结果;
乘法器,用于在行卷积操作中实现卷积核权重与输入特征图像像素之间的乘法运算;
加法器,用于在行卷积操作中实现中间结果的加法运算,以及在部分和累加操作中实现卷积操作部分中间结果之间的加法运算;
在物理PE单元内部针对输入特征图像和卷积核的存储,分别设计了双缓存结构,能够有效避免了当前行卷积数据和下一行卷积数据的数据冲突问题,保证卷积神经网络的性能;
可选地,物理PE单元中的第一缓存、第二缓存、中间结果缓存、乘法器以及加法器均通过移位寄存器堆实现,;物理PE单元内的各个功能模块相互独立,且采用流水线异步方式执行行卷积操作及部分和累加操作;
在实施例中,物理PE单元中具体包含16位乘法器、32位加法器以及由移位寄存器堆实现的缓存;
基于移位寄存器堆实现缓存,能够有效地利用缓存内数据的时间局部性来对行卷积的数据进行重用,各个部件之间采用流水线式设计,能够有效加快计算速度。
本发明还提供了一种基于3D-Memory的卷积神经网络加速系统,如图6所示,包括3D-Memory,用于存储卷积神经网络模型、输入特征图像和输出特征图像,以及对输入特征图像进行计算;
3D-Memory中,每个Vault单元的内存控制器中集成了上述卷积神经网络加速引擎;参与卷积神经网络计算的每个Vault单元内,DRAM存储完整的卷积神经网络模型以及输入特征图像子集,Vault单元用于完成卷积神经网络计算任务的一个子集。
3D-Memory是一种多级存储结构,3D-Memory由多个DRAM和底层的逻辑片堆叠而成,DRAM和底层的逻辑片之间通过硅穿孔技术互联,整个存储系统纵向上划分为管理和访问相互独立的Vault单元;在本实施例中,所采用的3D-Memory具体为镁光的HMC(HybridMemory Cube),应当说明的是,此处仅为示例性的描述,不应理解为对本发明的唯一限定;
本发明所提供的基于3D-Memory实现的神经网络加速系统是一种近数据处理架构,在一个封装内,通过硅穿孔技术将多个DRAM存储片和逻辑片垂直连接一起,3D-Memory内访问独立的Vault单元能够其内存控制器中集成的卷积神经网络加速引擎提供高数据传输带宽;相比于传统使用的DDR3存储整个神经网络模型和特征图像,本发明能够有效地减少数据传输功耗,同时利用Vault单元中的DRAM存储完整的卷积神经网络模型以及输入特征图像子集,能够有效缓解神经网络模型和特征图像的存储在模型扩展和整体能效中带来的瓶颈问题。
基于上述卷积神经网络加速系统,本发明还提供了一种卷积神经网络加速方法,如图7所示,包括:
(1)在卷积神经网络的当前层Li,获得输入特征图像ifmsi后,穷举从批处理N、输入特征图像通道C、输出特征图像通道M以及2D特征图像E这四个维度对当前层Li的卷积计算任务进行并行展开的所有分区方案,并进行筛选,使得所保留的分区方案在四个维度的分区粒度都能被当前层Li的形状参数整除,且互不等价;
(2)对于所保留的每一个分区方案,生成各个Vault单元所存储的输入特征图像ifmsi的子集的索引,以及需要存储和计算的输出特征图像子集的索引;
具体地,可以针对每一个分区方案生成一个查找表,查找表的每一项表示一个Vault单元在当前神经网络层所需要存储和计算的输出特征图像子集的一个索引;
(3)为每一个Vault单元确定映射策略,并根据映射策略将2D特征图像所对应的卷积计算任务子集映射到卷积神经网络加速引擎中的物理PE矩阵中;
在一个可选的实施方式中,为任意Vault单元V确定映射策略,包括:
(31)将2D特征图像所对应的卷积计算任务子集分解为行卷积操作,从而得到大小为wgh_h*ofms_h的逻辑PE矩阵PEL;ofms_h表示输出特征图像的高,wgh_h表示卷积核的高;
(32)获得Vault单元V所对应的卷积神经网络加速引擎中,物理PE矩阵PEP的宽phy_w和高phy_h,以分别计算折叠因子
Figure BDA0002341232390000151
折叠因子
Figure BDA0002341232390000152
冗余因子
Figure BDA0002341232390000153
以及冗余因子
Figure BDA0002341232390000154
Figure BDA0002341232390000155
α为逻辑PE矩阵PEL的宽与物理PE矩阵PEP的宽的最大公因子,β为逻辑PE矩阵PEL的高与物理PE矩阵PEP的高的最大公因子;
Figure BDA0002341232390000156
表示向上取整;
(33)若replh>1或者replw>1,则沿列方向根据冗余因子replh从批处理N、输入特征图像通道C以及输出特征图像通道M这三个维度进行展开,并沿行方向根据冗余因子replw从批处理N和输出特征图像通道M这两个维度进行展开,从而确定批处理展开因子batch,输入特征图像通道展开因子ifmaps和输出特征图像通道展开因子ofmaps,之后转入步骤(34);否则,设置各展开因子分别为batch=1、ifmaps=1以及ofmaps=1,之后转步骤(34);
(34)根据展开因子对逻辑PE矩阵PEL进行展开后,将逻辑PE矩阵PEL映射到物理PE矩阵PEP,并统计物理PE矩阵PEP处理完数据流的数据访问开销和计算开销,从而得到相应的功耗;
本发明在将逻辑PE矩阵映射到物理PE矩阵的过程中,会根据逻辑PE矩阵与物理PE矩阵之间的差异对逻辑PE矩阵进行叠加或冗余,能够最大化物理PE单元的利用率;
作为一种优选的实施方式,步骤(33)中,replh>1或者replw>1时,展开因子的确定方式包括:
将冗余因子replh和冗余因子replw的乘积分解为三个因子,分别作为批处理展开因子batch,输入特征图像通道展开因子ifmaps和输出特征图像通道展开因子ofmaps,根据
Figure BDA0002341232390000157
计算相应的迭代次数cntloops
将使得迭代次数cntloops最小的展开因子确定最终的展开因子;
如图8所示,以Alex-Net第五层卷积层Conv5为例,输出特征图像大小为13*3*3,卷积核大小为192*192*3*3,步长为1;将该卷积层映射到12*14的物理处理单元矩阵中,相应的逻辑PE矩阵的大小为13*3,首先分析出将逻辑PE矩阵映射到物理处理单元矩阵的折叠因子为foldh=1,foldw=1,冗余因子为replh=4,replw=1;由于replh>1且replw>1,需要采用冗余策略;在12*14的物理处理单元矩阵中能够同时并行执行4个逻辑PE矩阵;根据冗余因子replh和replw得到批处理展开因子batch=1,输入特征图像通道展开因子ifmaps=2和输出特征图像通道展开因子ofmaps=2,即同时累加两个输入特征通道的结果来并行计算两个不同的输出特征图像通道的特征平面;地址生成器通过行ID(0和4)来标识不同的输入特征图像通道,不同的列ID来表示同一输入特征图像平面不同行数据;
(4)对于所保留的每一个分区方案,根据映射策略对剩余的批处理大小N′、输入特征图像通道C′和输出特征图像通道M′这三个维度展开的先后顺序以及在存储层级间传输的数据块大小进行优化,以使得该分区方案对应的数据访问开销最小,将优化结果作为该分区方案所对应调度策略;
图9为本发明实施例提供的数据传输示意图,基于3D-Memory的卷积神经网络加速系统中采用分层的存储结构,数据从多层堆叠的DRAM传输到vault单元内的全局缓存中去,经过片上互联结构传入物理PE单元内的寄存器堆中;以物理PE矩阵处理流porcpass为多层嵌套循环的最小粒度,将深度卷积神经网络层的多层嵌套循环计算分为3个循环子块的执行,第一个循环子块block1是从DRAMs到全局缓存,第二个循环子块block2是从全局缓存到片上寄存器堆,第三个循环子块block3是PE内交织执行进行循环展开;每个循环子块对应于不同存储层之间的数据块的传递,在每一个循环子块内不同的数据类型重新排列执行顺序能够有效地最小化离处理单元越远的存储层的数据的访问;给定硬件上DRAMs,全局缓存和寄存器堆的大小,能效分析框架搜索出能效最优的block1,block2,block3内传递的数据块大小和三种数据类型的执行顺序;
在一个可选的实施方式中,步骤(4)包括:
(41)根据
Figure BDA0002341232390000171
以及
Figure BDA0002341232390000172
分别计算剩余的批处理大小N′、输入特征图像通道C′和输出特征图像通道M′;
(42)将物理PE矩阵PEP一次处理的数据流porcpass作为嵌套循环的基本单元,数据流porcpass所对应的数据量为
Figure BDA0002341232390000173
Figure BDA0002341232390000174
相应地,数据流porcpass的总迭代次数为N′*C′*M′;
porcpass只从全局缓存读取一次数据,procpass计算过程中的中间结果和只在procpass完成时才写回全局缓存或DRAM中;
(43)以数据流porcpass的数据大小为基本粒度,从批处理大小N′、输入特征图像通道C′和输出特征图像通道M′这三个维度进行分块;
(44)以
Figure BDA0002341232390000175
Figure BDA0002341232390000176
分别表示将各维度的数据分块从DRAM传输到全局缓存的迭代次数,在给定的全局缓存和寄存器堆大小下,搜索最小化DRAM的访问量
Figure BDA0002341232390000177
Figure BDA0002341232390000178
所对应的迭代次数
Figure BDA0002341232390000179
Figure BDA00023412323900001710
(45)以
Figure BDA00023412323900001711
Figure BDA00023412323900001712
表示从将各维度数据块从全局缓存传输到寄存器堆的迭代次数,以
Figure BDA00023412323900001713
Figure BDA00023412323900001714
表示数据流porcpass在物理PE矩阵间并行执行的展开次数,搜索最小化全局缓存访问量
Figure BDA00023412323900001715
Figure BDA00023412323900001716
Figure BDA00023412323900001717
的对应的
Figure BDA00023412323900001718
Figure BDA00023412323900001719
以及
Figure BDA00023412323900001720
Figure BDA0002341232390000181
(46)根据所确定的迭代次数确定批处理大小N′、输入特征图像通道C′和输出特征图像通道M′这三个维度展开的先后顺序,以及在存储层级间传输的数据块大小;
其中,GLBifms为输入特征图像所需的全局缓存容量,GLBfilter为卷积核所需的全局缓存容量,GLBofms输出特征图像所需的全局缓存容量,regfifms为输入特征图像所需的寄存器堆容量,regffilter为卷积核所需的寄存器堆容量,regfofms为输出特征图像所需的寄存器堆容量,fifms为输入特征图像的访问频率,ffilter为卷积核的访问频率,fofms为输出特征图像的访问频率;
(5)若当前层Li为卷积神经网络的最后一层,则转入步骤(6);否则,将数据访问开销最小的K种分区方案所生成的输出特征图像布局作为卷积神经网络中下一层的输入特征图像,并转入步骤(1);
(6)将数据访问开销最小的调度策略确定为最优调度策略,并按照最优调度策略对执行卷积神经网络的计算任务;
其中,K为正整数。
上述卷积神经网络加速方法,是一种逐层优化的方法,容易理解的是,在实际应用中,进行卷积神经网络加速的初始时刻,还需要进行必要的硬件资源配置,包括3D-Memory中Vault矩阵大小、Vault内物理PE矩阵大小、全局缓存容量、物理PE单元内部寄存器文件堆容量、各存储层访问开销、单个计算开销、批处理大小等等;在进行卷积神经网络加速的初始时刻,还需要获取卷积神经网络模型的描述,依次给出各层类型、卷积核大小、输入通道数和输出通道数。
上述卷积神经网络加速方法,从批处理、输入特征图像通道、输出特征图像通道以及2D特征图像对数据进行多维展开,之后再映射到物理PE矩阵中,物理PE单元内通过卷积滑窗计算会最大化卷积核的重用,同时通过将不同为特征平面连接和交织的方式进一步实现多维数据重用,如图3所示,物理PE单元实现了输出特征图像一行的计算,逻辑PE矩阵实现了输出特征平面部分和的计算;逻辑PE矩阵的高为卷积核的高wgh_h,逻辑PE矩阵的宽为输出特征图像平面的高ofms_h;在一个逻辑PE矩阵内,垂直方向实现同一行输出特征图像的累加,水平方向重用同一行卷积核权值,斜对角方向实现同一行输入特征图像的重用,逻辑PE矩阵只与当前神经网络层的形状有关,与硬件上计算单元的数目无关;因此,上述卷积神经网络加速方法能够最大化数据重用,有效提升卷积神经网络的性能并降低系统的功耗。
总的来说,利用本发明所提供的基于3D-Memory的卷积神经网络加速系统进行卷积神经网络加速时,系统运行过程主要分为两个阶段,如图1所示,第一阶段通过编译器获得最优调度方案编译为相关配置信息的指令,第二个阶段是在系统上执行卷积神经网络推理;深度卷积神经网络的层和卷积参数的多样性要求灵活高效的计算模式,以优化功耗和性能;第一个阶段提出了一个基于层的能效调度框(即上述卷积神经网络加速方法),该框架将产生每一层的最佳计算模式;调度框架产生的每层调度策略将通过一个编译器,将调度策略编码为相应的配置指令;
第二阶段是系统执行阶段;首先,系统加载主处理器上的配置指令到逻辑片上的控制单元中来可重配置相应寄存器参数和信号,同时将模型参数加载到每个Vault单元上来实现模型并行处理;系统逐一处理每一层的计算,并在计算完后写回到DRAM中去;当执行完所有计算再向主处理器返回预测结果。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种基于卷积神经网络加速系统的卷积神经网络加速方法,所述卷积神经网络加速系统包括3D-Memory,用于存储卷积神经网络模型、输入特征图像和输出特征图像,以及对输入特征图像进行计算;所述3D-Memory中,每个Vault单元的内存控制器中集成了卷积神经网络加速引擎;参与卷积神经网络计算的每个Vault单元内,DRAM存储完整的卷积神经网络模型以及输入特征图像子集,Vault单元内存控制器中集成的卷积神经网络加速引擎用于完成卷积神经网络计算任务的一个子集;所述卷积神经网络加速引擎包括全局缓存和物理PE矩阵;所述物理PE矩阵包括以行列形式排布的多个物理PE单元;每一个物理PE单元用于执行行卷积操作以及相关的部分和累加操作;所述行卷积操作为通过滑窗的方式,将卷积核中的一行权重与输入特征图像的一行像素相乘,并将同一滑动窗口内相乘的结果相加;所述部分和累加操作为将多个行卷积操作的部分中间结果累加,得到输出特征图像的一个像素点的操作;在所述全局缓存和所述物理PE矩阵之间,以及在物理PE单元之间实现数据传输的片上互联总线包括:XY互联总线和邻接互联总线;所述XY互联总线由X总线和Y总线构成,所述物理PE矩阵中,每一行物理PE单元与同一X总线相连,所有的X总线以及所述全局缓存均与Y总线相连;所述物理PE矩阵中,每一列物理PE单元与同一邻接互联总线相连;所述XY互联总线,用于将输入特征图像数据、输出特征图像数据和卷积核参数从所述全局缓存传输到所述物理PE矩阵上,或者将所述物理PE矩阵产生的操作结果传输到所述全局缓存中;所述邻接互联总线,用于在同一列物理PE单元之间传输中间结果;
其特征在于,所述卷积神经网络加速方法包括:
(1)在卷积神经网络的当前层Li,获得输入特征图像ifmsi后,穷举从批处理N、输入特征图像通道C、输出特征图像通道M以及2D特征图像E这四个维度对当前层Li的卷积计算任务进行并行展开的所有分区方案,并进行筛选,使得所保留的分区方案在四个维度的分区粒度都能被当前层Li的形状参数整除,且互不等价;
(2)对于所保留的每一个分区方案,生成各个Vault单元所存储的输入特征图像ifmsi的子集的索引,以及需要存储和计算的输出特征图像子集的索引;
(3)为每一个Vault单元确定映射策略,并根据映射策略将2D特征图像所对应的卷积计算任务子集映射到卷积神经网络加速引擎中的物理PE矩阵中;
(4)对于所保留的每一个分区方案,根据映射策略对剩余的批处理大小N′、输入特征图像通道C′和输出特征图像通道M′这三个维度展开的先后顺序以及在存储层级间传输的数据块大小进行优化,以使得该分区方案对应的数据访问开销最小,将优化结果作为该分区方案所对应调度策略;
(5)若当前层Li为卷积神经网络的最后一层,则转入步骤(6);否则,将数据访问开销最小的K种分区方案所生成的输出特征图像布局作为卷积神经网络中下一层的输入特征图像,并转入步骤(1);
(6)将数据访问开销最小的调度策略确定为最优调度策略,并按照最优调度策略对执行卷积神经网络的计算任务;
其中,K为正整数。
2.如权利要求1所述的卷积神经网络加速方法,其特征在于,所述物理PE单元包括:第一缓存、第二缓存、中间结果缓存、乘法器以及加法器;
所述第一缓存和所述第二缓存均采用双缓存设计;
所述第一缓存中的双缓存分别用于缓存两个不同的行卷积操作的输入特征图像数据;
所述第二缓存中的双缓存分别用于缓存两个不同的行卷积操作的卷积核参数;
所述中间结果缓存用于缓存不同行卷积操作所产生的中间结果;
所述乘法器,用于在行卷积操作中实现卷积核权重与输入特征图像像素之间的乘法运算;
所述加法器,用于在行卷积操作中实现中间结果的加法运算,以及在部分和累加操作中实现卷积操作部分中间结果之间的加法运算。
3.如权利要求2所述的卷积神经网络加速方法,其特征在于,物理PE单元中的第一缓存、第二缓存以及中间结果缓存均通过移位寄存器堆实现。
4.如权利要求2所述的卷积神经网络加速方法,其特征在于,所述物理PE单元内的各个功能模块相互独立,且采用流水线异步方式执行行卷积操作及部分和累加操作。
5.如权利要求1~4任一项所述的卷积神经网络加速方法,其特征在于,为任意Vault单元V确定映射策略,包括:
(31)将2D特征图像所对应的卷积计算任务子集分解为行卷积操作,从而得到大小为wgh_h*ofms_h的逻辑PE矩阵PEL;ofms_h表示输出特征图像的高,wgh_h表示卷积核的高;
(32)获得Vault单元V所对应的卷积神经网络加速引擎中,物理PE矩阵PEP的宽phy_w和高phy_h,以分别计算折叠因子
Figure FDA0003597086570000031
折叠因子
Figure FDA0003597086570000032
冗余因子
Figure FDA0003597086570000033
以及冗余因子
Figure FDA0003597086570000034
Figure FDA0003597086570000035
α为逻辑PE矩阵PEL的宽与物理PE矩阵PEP的宽的最大公因子,β为逻辑PE矩阵PEL的高与物理PE矩阵PEP的高的最大公因子;
(33)若replh>1或者replw>1,则沿列方向根据冗余因子replh从批处理N、输入特征图像通道C以及输出特征图像通道M这三个维度进行展开,并沿行方向根据冗余因子replw从批处理N和输出特征图像通道M这两个维度进行展开,从而确定批处理展开因子batch,输入特征图像通道展开因子ifmaps和输出特征图像通道展开因子ofmaps,之后转入步骤(34);否则,设置各展开因子分别为batch=1、ifmaps=1以及ofmaps=1,之后转步骤(34);
(34)根据展开因子对逻辑PE矩阵PEL进行展开后,将逻辑PE矩阵PEL映射到物理PE矩阵PEP,并统计物理PE矩阵PEP处理完数据流的数据访问开销和计算开销,从而得到相应的功耗。
6.如权利要求5所述的卷积神经网络加速方法,其特征在于,所述步骤(33)中,replh>1或者replw>1时,展开因子的确定方式包括:
将冗余因子replh和冗余因子replw的乘积分解为三个因子,分别作为批处理展开因子batch,输入特征图像通道展开因子ifmaps和输出特征图像通道展开因子ofmaps,根据
Figure FDA0003597086570000041
计算相应的迭代次数cntloops
将使得迭代次数cntloops最小的展开因子确定最终的展开因子。
7.如权利要求6所述的卷积神经网络加速方法,其特征在于,所述步骤(4)包括:
(41)根据
Figure FDA0003597086570000042
以及
Figure FDA0003597086570000043
分别计算剩余的批处理大小N′、输入特征图像通道C′和输出特征图像通道M′;
(42)将物理PE矩阵PEP一次处理的数据流porcpass作为嵌套循环的基本单元,相应地,数据流porcpass的总迭代次数为N′*C′*M′;
(43)以数据流porcpass的数据大小为基本粒度,从批处理大小N′、输入特征图像通道C′和输出特征图像通道M′这三个维度进行分块;
(44)以
Figure FDA0003597086570000044
Figure FDA0003597086570000045
分别表示将各维度的数据分块从DRAM传输到全局缓存的迭代次数,在给定的全局缓存和寄存器堆大小下,搜索最小化DRAM的访问量
Figure FDA0003597086570000046
Figure FDA0003597086570000047
所对应的迭代次数
Figure FDA0003597086570000051
Figure FDA0003597086570000052
(45)以
Figure FDA0003597086570000053
Figure FDA0003597086570000054
表示从将各维度数据块从全局缓存传输到寄存器堆的迭代次数,以
Figure FDA0003597086570000055
Figure FDA0003597086570000056
表示数据流porcpass在物理PE矩阵间并行执行的展开次数,搜索最小化全局缓存访问量
Figure FDA0003597086570000057
Figure FDA0003597086570000058
Figure FDA0003597086570000059
的对应的
Figure FDA00035970865700000510
Figure FDA00035970865700000511
以及
Figure FDA00035970865700000512
Figure FDA00035970865700000513
(46)根据所确定的迭代次数确定批处理大小N′、输入特征图像通道C′和输出特征图像通道M′这三个维度展开的先后顺序,以及在存储层级间传输的数据块大小;
其中,GLBifms为输入特征图像所需的全局缓存容量,GLBfilter为卷积核所需的全局缓存容量,GLBofms输出特征图像所需的全局缓存容量,regfifms为输入特征图像所需的寄存器堆容量,regffilter为卷积核所需的寄存器堆容量,regfofms为输出特征图像所需的寄存器堆容量,fifms为输入特征图像的访问频率,ffilter为卷积核的访问频率,fofms为输出特征图像的访问频率。
CN201911377012.5A 2019-12-27 2019-12-27 卷积神经网络加速引擎、卷积神经网络加速系统及方法 Active CN111178519B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911377012.5A CN111178519B (zh) 2019-12-27 2019-12-27 卷积神经网络加速引擎、卷积神经网络加速系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911377012.5A CN111178519B (zh) 2019-12-27 2019-12-27 卷积神经网络加速引擎、卷积神经网络加速系统及方法

Publications (2)

Publication Number Publication Date
CN111178519A CN111178519A (zh) 2020-05-19
CN111178519B true CN111178519B (zh) 2022-08-02

Family

ID=70658233

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911377012.5A Active CN111178519B (zh) 2019-12-27 2019-12-27 卷积神经网络加速引擎、卷积神经网络加速系统及方法

Country Status (1)

Country Link
CN (1) CN111178519B (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113989169A (zh) * 2020-07-08 2022-01-28 嘉楠明芯(北京)科技有限公司 一种膨胀卷积加速计算方法及装置
CN111813709B (zh) * 2020-07-21 2023-08-08 北京计算机技术及应用研究所 一种基于fpga存算一体架构的高速并行存储方法
CN111797985B (zh) * 2020-07-22 2022-11-22 哈尔滨工业大学 一种基于gpu的卷积运算内存访问优化方法
CN112580774B (zh) * 2020-09-01 2022-10-21 浙江大学 一种面向可重构神经网络处理器的神经网络布局方法
TWI798591B (zh) * 2020-10-07 2023-04-11 大陸商星宸科技股份有限公司 卷積神經網路運算方法及裝置
CN112418418A (zh) * 2020-11-11 2021-02-26 江苏禹空间科技有限公司 基于神经网络的数据处理方法、装置、存储介质及服务器
CN112288082B (zh) * 2020-11-23 2023-06-13 天津大学 一种基于hls的可重构通用标准卷积加速器设计方法
CN112149816B (zh) * 2020-11-25 2021-02-12 之江实验室 支持深度神经网络推理加速的异构存算融合系统及方法
CN112836793B (zh) * 2021-01-18 2022-02-08 中国电子科技集团公司第十五研究所 浮点可分离卷积计算加速装置、系统以及图像处理方法
CN112965931A (zh) * 2021-02-22 2021-06-15 北京微芯智通科技合伙企业(有限合伙) 基于cnn细胞神经网络结构的数字集成处理方法
CN113052299B (zh) * 2021-03-17 2022-05-31 浙江大学 基于通信下界的神经网络存内计算装置及加速方法
WO2022222068A1 (en) * 2021-04-21 2022-10-27 Shanghaitech University Methods and systems for multiplier sharing in neural networks
US20220350514A1 (en) * 2021-04-28 2022-11-03 International Business Machines Corporation Memory mapping of activations for convolutional neural network executions
CN113313251B (zh) * 2021-05-13 2023-05-23 中国科学院计算技术研究所 一种基于数据流架构的深度可分离卷积融合方法及系统
CN113379047B (zh) * 2021-05-25 2024-04-05 北京微芯智通科技合伙企业(有限合伙) 一种实现卷积神经网络处理的系统及方法
CN117223008A (zh) * 2021-07-30 2023-12-12 华为技术有限公司 计算机系统和数据处理方法
CN113642724B (zh) * 2021-08-11 2023-08-01 西安微电子技术研究所 一种高带宽存储的cnn加速器
CN113704172B (zh) * 2021-08-20 2023-11-21 北京大学 基于脉动阵列的转置卷积和卷积加速器芯片设计方法
CN113705803A (zh) * 2021-08-31 2021-11-26 南京大学 基于卷积神经网络的图像硬件识别系统及部署方法
CN113807509B (zh) * 2021-09-14 2024-03-22 绍兴埃瓦科技有限公司 神经网络加速装置、方法和通信设备
CN113835758B (zh) * 2021-11-25 2022-04-15 之江实验室 基于向量指令加速计算的Winograd卷积实现方法
CN113986816B (zh) * 2021-12-09 2023-05-02 北京奕斯伟计算技术股份有限公司 可重构计算芯片
CN114327676A (zh) * 2021-12-28 2022-04-12 北京航天自动控制研究所 一种面向卷积神经网络的高可靠加速器

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107229967A (zh) * 2016-08-22 2017-10-03 北京深鉴智能科技有限公司 一种基于fpga实现稀疏化gru神经网络的硬件加速器及方法
KR20180012439A (ko) * 2016-07-27 2018-02-06 삼성전자주식회사 회선 신경망에서 가속기 및 이의 동작 방법
CN108334474A (zh) * 2018-03-05 2018-07-27 山东领能电子科技有限公司 一种基于数据并行的深度学习处理器架构及方法
CN109598338A (zh) * 2018-12-07 2019-04-09 东南大学 一种基于fpga的计算优化的卷积神经网络加速器
CN109934339A (zh) * 2019-03-06 2019-06-25 东南大学 一种基于一维脉动阵列的通用卷积神经网络加速器
CN110097174A (zh) * 2019-04-22 2019-08-06 西安交通大学 基于fpga和行输出优先的卷积神经网络实现方法、系统及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180012439A (ko) * 2016-07-27 2018-02-06 삼성전자주식회사 회선 신경망에서 가속기 및 이의 동작 방법
CN107229967A (zh) * 2016-08-22 2017-10-03 北京深鉴智能科技有限公司 一种基于fpga实现稀疏化gru神经网络的硬件加速器及方法
CN108334474A (zh) * 2018-03-05 2018-07-27 山东领能电子科技有限公司 一种基于数据并行的深度学习处理器架构及方法
CN109598338A (zh) * 2018-12-07 2019-04-09 东南大学 一种基于fpga的计算优化的卷积神经网络加速器
CN109934339A (zh) * 2019-03-06 2019-06-25 东南大学 一种基于一维脉动阵列的通用卷积神经网络加速器
CN110097174A (zh) * 2019-04-22 2019-08-06 西安交通大学 基于fpga和行输出优先的卷积神经网络实现方法、系统及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
TETRIS: Scalable and Efficient Neural Network Acceleration with 3D Memory;Mingyu Gao et al.;《ASPLOS "17》;20170404;751-764 *
徐明.适用于CNN的高能效可配置卷积加速器的设计与实现.《万方》.2019, *
适用于CNN的高能效可配置卷积加速器的设计与实现;徐明;《万方》;20191204;10-36 *

Also Published As

Publication number Publication date
CN111178519A (zh) 2020-05-19

Similar Documents

Publication Publication Date Title
CN111178519B (zh) 卷积神经网络加速引擎、卷积神经网络加速系统及方法
CN108241890B (zh) 一种可重构神经网络加速方法及架构
CN108805266B (zh) 一种可重构cnn高并发卷积加速器
JP6960700B2 (ja) マルチキャストネットワークオンチップに基づいた畳み込みニューラルネットワークハードウェアアクセラレータおよびその動作方式
CN111667051A (zh) 适用边缘设备的神经网络加速器及神经网络加速计算方法
CN112149816B (zh) 支持深度神经网络推理加速的异构存算融合系统及方法
WO2017156968A1 (zh) 神经网络的计算方法、系统及其装置
CN112149369A (zh) 基于芯粒架构的多核封装级系统及其面向芯粒的任务映射方法
CN113469350B (zh) 一种适于npu的深度卷积神经网络加速方法和系统
CN110163355A (zh) 一种计算装置及方法
Chen et al. A NoC-based simulator for design and evaluation of deep neural networks
CN115115043A (zh) 片上-片间互连的神经网络芯片硬件架构设计方法及系统
CN105468439A (zh) 在cpu-gpu异构框架下遍历固定半径内邻居的自适应并行算法
CN114492782A (zh) 基于强化学习的神经网络的片上核心编译映射方法及装置
Chen et al. Towards efficient allocation of graph convolutional networks on hybrid computation-in-memory architecture
Li et al. Fsa: A fine-grained systolic accelerator for sparse cnns
CN114003201A (zh) 矩阵变换方法、装置及卷积神经网络加速器
CN109446478A (zh) 一种基于迭代和可重构方式的复协方差矩阵计算系统
CN105955896A (zh) 一种可重构dbf算法硬件加速器及控制方法
Hu et al. High-performance reconfigurable DNN accelerator on a bandwidth-limited embedded system
CN115221102A (zh) 用于优化片上系统的卷积运算操作的方法和相关产品
CN115713103B (zh) 片上-片间互连的神经网络芯片联合性能预测方法及系统
CN113312285B (zh) 一种卷积神经网络加速器及其工作方法
CN106484532A (zh) 面向sph流体模拟的gpgpu并行计算方法
CN115238879A (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