CN111738432B - 一种支持自适应并行计算的神经网络处理电路 - Google Patents
一种支持自适应并行计算的神经网络处理电路 Download PDFInfo
- Publication number
- CN111738432B CN111738432B CN202010794982.1A CN202010794982A CN111738432B CN 111738432 B CN111738432 B CN 111738432B CN 202010794982 A CN202010794982 A CN 202010794982A CN 111738432 B CN111738432 B CN 111738432B
- Authority
- CN
- China
- Prior art keywords
- weight
- feature map
- data
- parallel mode
- characteristic diagram
- 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
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
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
本发明公开了一种支持自适应并行计算的神经网络处理电路,属于神经网络硬件实现技术领域。该电路包含指令控制器、交互单元、特征图控制器、特征图存储单元、特征图缓存单元、权重控制器、权重存储单元、权重缓存单元、处理单元阵列;指令控制器中设置的并行模式判决器,根据当前层的特征图结构和权重结构,建立行并行模式、输入通道并行模式、混合并行模式三种并行模式的层计算模型,计算并选取完成当前层运算最少操作周期数的并行模式作为当前层的并行模式。本发明支持具有任意大小的特征图结构和权重结构的卷积网络,对不同的卷积网络能自适应的得到最佳的计算方案,使乘法器最大效率利用,减少资源浪费,提升处理速度。
Description
技术领域
本发明属于神经网络硬件实现技术领域,涉及一种自适应并行计算的神经网络处理电路,自适应是指根据每一层的网络结构,自动选取并行模式,从而充分利用运算资源,提高硬件运算效率。
背景技术
随着现代社会人工智能技术的不断发展,深度学习算法的突破和当前计算能力的增加,基于深度神经网络的机器学习算法已经在视觉、语音等多个领域中体现出了优秀的性能。神经网络的模型规模日益复杂,这也就对执行神经网络运算的处理结构提出了要求。通用的冯诺依曼结构处理器往往在能效比上难以提供令人满意的性能。而针对神经网络的专用硬件加速器具有高并行度的特点,使神经网络在训练和推理中进行的大量运算不再受传统冯诺依曼结构处理器的制约,因此成为一种合理的选择。如今神经网络硬件加速器,主要分为处理大量数据的云端加速器如GPU、TPU,和在终端处理中小量数据的神经网络专用芯片。对于GPU和TPU这种云端硬件加速器,采用的方案为终端传感器配合将采集的数据通过网络送入云端集中计算。针对终端的专用神经网络加速芯片一般采用低比特量化,使用固定的并行模式,可以处理较为简单的神经网络任务。
对于上文提到的一些现有的相关技术,如GPU和TPU等设备,尽管具有较高的并行度,且有完整的神经网络编程框架,但其成本较高,待机功耗大,无法应用到较小的嵌入式物联网终端当中。而对于专用的神经网络芯片,多数只支持全连接神经网络的推理。支持卷积操作的神经网络芯片其并行卷积策略往往受限于卷积核大小,即每个周期内处理的数据量多少,由卷积核形状及大小决定。这种卷积策略并行模式固定,当处理不同大小的卷积神经网络时,其处理单元在特征图的边缘会出现利用率低的情况。从而使推理速度变慢,增加整体功耗。
发明内容
本发明针对上述问题提出了一种支持自适应并行计算的神经网络处理电路。由于神经网络结构的灵活性,本发明处理电路能够针对每一层网络结构,自适应的选取最为合适的并行计算策略。对于特征图较大,通道数较少的优先使用行并行卷积计算方案;对于通道数较多,特征图较小的优先使用输入通道并行卷积计算方案;并且同一层内还可混合使用两种并行计算方案。
本发明采用的技术方案如下:
一种支持自适应并行计算的神经网络处理电路,该处理电路包含指令控制器、交互单元、特征图控制器、特征图存储单元、特征图缓存单元、权重控制器、权重存储单元、权重缓存单元、处理单元阵列。
所述指令控制器用于接收外部输入命令,以及控制特征图控制器、权重控制器和处理单元阵列。指令控制器中设置有并行模式判决器,并行模式判决器根据当前层的特征图结构和权重结构,计算行并行模式、输入通道并行模式、混合并行模式三种并行模式完成当前层运算各需要的操作周期数,选取最少操作周期数的并行模式作为当前层的并行模式,若出现两种及两种以上并行模式的操作周期数同时为最少时,优先选取行并行模式,输入通道并行模式次之;然后指令控制器将相应的并行模式指令分别发送给特征图控制器、权重控制器和处理单元阵列。
所述交互单元与特征图存储单元、权重存储单元相连,交互单元用于与外部进行数据交互,如初始数据的输入、计算结果的输出。
所述特征图存储单元用于存储交互单元传输的特征图数据;所述权重存储单元用于存储交互单元传输的权重数据。
所述特征图控制器用于接收指令控制器发送的并行模式指令,根据并行模式指令将特征图存储单元中的特征图数据整形后,存放到特征图缓存单元中。
所述权重控制器用于接收指令控制器发送的并行模式指令,根据并行模式指令将权重存储单元中的权重数据整形后,存放到权重缓存单元中。
所述处理单元阵列用于接收指令控制器发送的并行模式指令,根据并行模式指令将特征图缓存单元和权重缓存单元中的缓存数据进行计算,然后将计算结果存入特征图存储单元。
所述处理单元阵列包括S个乘法器、S个加法器,S个乘法器和S个加法器按每组
个分为组;所述特征图结构包括特征图的高,即行数Hf;特征图的宽,即列数Wf;特征图的
通道数Cf;令 表示特征图第通道、行、列的特征图数据,其中,1≤≤Cf,1≤≤
Hf,1≤≤Wf;。所述权重结构包括权重的高,即行数Hw;权重的宽,即列数Ww;权重中单个卷
积核的通道数,即输入通道数Cw;权重中卷积核的个数,即输出通道数Uw,令表示权
重第输入通道、输出通道、行、列的权重数据,其中1≤≤Cw,1≤≤Uw,1≤≤
Hw,1≤≤Ww。
所述行并行模式的计算过程为:
A2. 取出特征图中第一个通道中第1行~第N行的第1列特征图数据、
、…、,共取出了N个特征图数据。若特征图的行数Hf≤+Hw-1,则令N=Hf-HW+1;若特征
图的行数Hf>+Hw-1,则令N=。
A4. 令权重数据保持不变,特征图数据向右滑动,改为取第1行~第N行的下一列特征图数据;返回步骤A3,直到完成第1行~第N行前P列的特征图数据的计算,其中P=Wf-Ww+1。此时,若当前权重数据是最后一行最后一列,则跳到步骤A6;若当前权重数据不是最后一行最后一列,则进行下一步。
A5. 按照从左至右的顺序逐行切换权重数据,将前M个卷积核中第一个输入通道
的第行第列的权重数据、、…、看作第一个输入通道的第一行第一
列的权重数据,将特征图第一个通道的第行第列的特征图数据看作第一行第一列的特征
图数据,其中=,=,然后返回步骤A2。
A6. 若当前特征图的行数Hf>+Hw-1,则将当前特征图第+1行至最后一行看
作新的特征图,得到新的特征图行数Hf,且返回步骤A1;若当前特征图的行数Hf≤+Hw-1,
则第一个通道的特征图数据全部计算完成,进行下一步。
A7. 若当前特征图通道数Cf=1,则跳到步骤A8;若当前特征图通道数Cf>1,则特征图向后切换到下一个通道,并将当前特征图通道至最后一个特征图通道看作新的特征图,得到新的特征图通道数Cf,权重也向后切换一个输入通道,将当前权重输入通道至最后一个输入通道看作新的权重,得到新的权重输入通道数Cw,返回步骤A1。
如果特征图的高为+3,宽为+3,通道数为,权重的高为,宽为,输入通道
数为,输出通道数为,当特征图计算到剩余行数小于时,如果使用上述的行并行方
式计算就不能保证S个乘法器充分利用。所以本发明提出了输入通道并行模式,所述输入通
道并行模式的计算过程为:
B1. 取出前M个卷积核中,前N个输入通道的第一行第一列权重数据、、…、,、、…、,…,、、…、,共取
出了M组权重数据,每组权重数据包含N个权重数据。若权重的输入通道数Cw≤,则令N=
Cw;若权重的输入通道数Cw>,则令N=。若权重中卷积核的个数Uw≤,则令M=Uw;若权
重中卷积核的个数Uw>,则令M=。
B4. 令权重数据保持不变,按照从左至右的顺序逐行切换特征图数据,返回步骤B3,直到完成前N个通道的前Q行前P列特征图数据的计算,其中P=Wf-Ww+1,Q=Hf-Hw+1。此时,若当前权重数据是最后一行最后一列,则跳到步骤B6;若当前权重数据不是最后一行最后一列,则进行下一步。
B5. 按照从左至右的顺序逐行切换权重数据,将前M个卷积核中前N个输入通道的
第行第列的权重数据、、…、,、、…、,…,、、…、看作前N个输入通道的第一行第一列的权重数据,将特征图前N个通道的
第行第列的特征图数据看作第一行第一列的特征图数据,其中=,=;然后返回步骤
B2。
B6. 若当前特征图通道数Cf≤,则前M个卷积核的所有权重数据已完成计算,进
行下一步。若当前特征图通道数Cf>,则将当前特征图第N+1个通道至最后一个特征图通
道作为新的特征图,得到新的特征图通道数Cf,将权重前M个卷积核的第N+1个输入通道至
最后一个输入通道作为新的权重,得到新的权重输入通道数Cw,返回步骤B1。
如果特征图的高为+3,宽为+3,通道数为+1,权重的高为,宽为,输入通
道数为+1,输出通道数为,若只使用行并行模式,则特征图在计算到剩余行数小于
时,就不能保证所有乘法器同时工作,造成运算资源浪费。若只使用输入通道并行模式,则
特征图在计算到剩余通道小于时,同样会造成运算单元较大的浪费。所以可先使用行并
行模式计算,待特征图计算到剩余行数小于时,转为输入通道并行模式,这就确保乘法器
能充分利用,减小资源浪费带来的功耗。
所述混合并行模式的计算过程为:
C2. 使用行并行模式计算A部分。
C3. 若B部分中特征图的行数大于+HW-1,则把B部分特征图作为新的特征图,得
到新的特征图行数Hf,返回步骤C1;若B部分中特征图的行数等于+HW-1,则使用行并行模
式计算B部分;若B部分中特征图的行数小于+HW-1,则使用通道并行模式计算B部分。完成
全部特征图数据的计算,计算结束。
与现有技术相比,本发明具有如下突出实质性特点和显著优点:
1、自适应选择并行模式:本发明通过并行模式判决器,能够自适应的选取合适的并行模式,使S个乘法器最大效率利用,相比传统的方案架构,减少资源浪费,处理速度有很大提升。
2、灵活性高:本发明支持具有任意大小的特征图结构和权重结构的卷积网络,对不同的卷积网络能得到最佳的计算方案。
3、混合并行模式:本发明提出混合并行模式,在同一层卷积神经网络中,使用行并行、输入通道并行两种并行模式。相比同一层使用单一的并行模式,提高了资源利用率。
附图说明
图1为支持自适应并行计算的神经网络处理电路示意图。
图2为实施例一行并行模式计算过程一示意图。
图3为实施例一行并行卷积计算过程二示意图。
图4为实施例一行并行卷积计算过程三示意图。
图5为实施例一行并行卷积计算过程四示意图。
图6为实施例二输入通道并行卷积计算过程一示意图。
图7为实施例二输入通道并行卷积计算过程二示意图。
图8为实施例二输入通道并行卷积计算过程三示意图。
图9为实施例二输入通道并行卷积计算过程四示意图。
图10为实施例三混合并行模式计算过程示意图。
图11为实施例四的特征图和权重示意图。
图12为自适应判断并行模式流程图。
图13为并行模式判决器示意图。
附图标号说明:A表示特征图,B表示权重。
具体实施方式
为了使读者对本发明的目的、技术方案及优点更加明白,以下结合实例及附图,对本发明做进一步说明。
图1为支持自适应并行计算的神经网络处理电路示意图,该电路包含指令控制器、交互单元、特征图控制器、特征图存储单元、特征图缓存单元、权重控制器、权重存储单元、权重缓存单元、处理单元阵列。
结合附图12对本实施例的自适应判断并行模式流程详细说明,在每一层神经网络计算前,指令控制器会获取当前层特征图结构和当前层权重结构两部分信息,指令控制器中的并行模式判决器根据当前层特征图结构、当前层权重结构、同时结合乘法器个数,计算行并行模式、输入通道并行模式、混合并行模式完成这一层运算各需要的操作周期数。最终选取最少操作周期数的并行模式作为当前层的并行模式,然后指令控制器将相应的并行模式指令分别发送给特征图控制器、权重控制器和处理单元阵列。特征图控制器和权重控制器会根据相应的并行模式指令将特征图存储单元和权重存储单元的数据对应的存放到各自的缓存中。处理单元阵列依据并行模式指令将特征图缓存单元和权重缓存单元中的缓存数据进行计算,然后将计算结果存入特征图存储单元。当前层神经网络计算结束后,指令控制器判断是否是最后一层神经网络,若是,则计算结束,若不是,则开始下一层神经网络的计算。
结合附图13对本实施例的并行模式判决器详细说明,所述并行模式判决器包括计算单元A、计算单元B、计算单元C、比较器、以及选择器,所述计算单元A、计算单元B、计算单元C的输入为特征图结构、权重结构、乘法器个数三组数据,其中特征图结构和权重结构两组数据由外部指令输入,对于确定的电路,乘法器个数为固定不变的常值。计算单元A、计算单元B、计算单元C根据输入的三组数据分别计算出行并行模式、输入通道并行模式、混合并行模式完成当前层运算各需要的操作周期数,然后将计算结果传输给比较器。所述比较器将输入的三组并行模式的操作周期数进行大小比较,得到最小操作周期数对应并行模式的索引(比如行并行模式操作周期数最小,输出就是0;输入通道并行模式操作周期数最小,输出就是1;混合并行模式操作周期数最小,输出就是2),将索引发送给选择器。所述选择器的输入为行并行模式指令、输入通道并行模式指令、混合并行模式指令,选择器根据索引输出对应的并行模式指令。若出现两种及两种以上并行模式的操作周期数同时为最少时,比较器优先选取行并行模式,输入通道并行模式次之。
实施例一:假设实际方案中共有144个乘法器,将这144个乘法器分为每组6个,共24组。当一层的输入特征图结构为Hf*Wf*Cf=8*8*8,权重结构为Hw*Ww*Cw*Uw=3*3*8*24。经过并行模式判决器计算,行并行模式完成这一层计算所需的操作周期为432,输入通道并行模式所需操作周期为648,混合并行模式与行并行模式所需操作周期数一致,所以选取行并行模式为当前层并模式。
其计算方法为:
(3)将24个权重数据和6个特征图数据分别做乘法。
(4)参考图3,权重数据保持不变,特征图数据向右滑动,改为取第1行~第6行的下一列特征图数据;返回步骤(3),直到完成第1行~第6行前6列的特征图数据的计算。
(5)参考图1、图4、图5,按照从左至右的顺序逐行切换权重数据,将24个卷积核中
第一个输入通道的第行第列的权重数据、、…、作为第一个输入通
道的第一行第一列的权重数据,将特征图第一个通道的第行第列的特征图数据作为第一
行第一列的特征图数据,其中=,=,然后返回步骤(2),直到完成一个通道特征图数据
的计算。
(6)特征图向后切换到下一个通道,并将第二个特征图通道至最后一个特征图通道作为新的特征图,权重也向后切换一个输入通道,将第二个输入通道至最后一个输入通道作为新的权重,返回步骤(1)。直到完成全部特征图数据和权重数据的计算,计算结束。
实施例二:假设实际方案中共有144个乘法器,将这144个乘法器分为每组6个,共24组。当一层的输入特征图结构为Hf*Wf*Cf=7*8*6,权重结构为Hw*Ww*Cw*Uw=3*3*6*24。经过计算,行并行模式完成这一层计算所需的操作周期为324,输入通道并行模式所需操作周期为270,混合并行模式与输入通道并行模式所需操作周期数一致。所以选取输入通道并行模式为当前层并行模式。
其计算方法为:
(3)令取出的24组权重数据依次和6个特征图数据做乘法。
(4)参考图7,权重数据保持不变,按照从左至右的顺序逐行切换特征图数据,返回步骤(3),直到完6个通道的前5行前6列特征图数据的计算。
(5)参考图6、图8、图9,按照从左至右的顺序逐行切换权重数据,将24个卷积核中6
个输入通道的第行第列的权重数据 、、…、, 、、…、
,…,、、…、作为6个输入通道的第一行第一列的权重数据,将特征图6
个通道的第行第列的特征图数据作为第一行第一列的特征图数据,其中=,=;然后
返回步骤(2)。直到完成全部特征图数据和权重数据的计算。计算结束。
实施例三:假设实际方案中共有36个乘法器,将这36个乘法器分为每组6个,共6组。当一层的输入特征图结构为Hf*Wf*Cf=8*8*4,权重结构为Hw*Ww*Cw*Uw=2*2*4*6时。经过计算,行并行模式完成这一层计算所需的操作周期为224,输入通道并行模式所需操作周期为196,混合并行模式所需操作周期为140。所以选取混合并行模式为当前层并行模式。
其计算方法为:
(1)参考图10,将特征图分为A、B两部分,A部分特征图结构为7*8*4,B部分特征图结构为2*8*4。
(2) A部分特征图使用行并行模式计算,B部分特征图使用输入通道并行模式计算,全部特征图数据完成计算,计算结束。
实施例四:参考图11,对于全连接层,若输入特征图是长度为E的向量,先转化为1*1*E的3维特征图结构,若权重为E*F的2维结构,则转化为1*1*E*F的4维权重结构,再使用输入通道并行模式计算。
Claims (3)
1.一种支持自适应并行计算的神经网络处理电路,其特征在于,该处理电路包含指令控制器、交互单元、特征图控制器、特征图存储单元、特征图缓存单元、权重控制器、权重存储单元、权重缓存单元、处理单元阵列;
所述指令控制器用于接收外部输入命令,以及控制特征图控制器、权重控制器和处理单元阵列;指令控制器中设置有并行模式判决器,并行模式判决器根据当前层的特征图结构和权重结构,计算行并行模式、输入通道并行模式、混合并行模式三种并行模式完成当前层运算各需要的操作周期数,选取最少操作周期数的并行模式作为当前层的并行模式,若出现两种及两种以上并行模式的操作周期数同时为最少时,优先选取行并行模式,输入通道并行模式次之;然后指令控制器将相应的并行模式指令分别发送给特征图控制器、权重控制器和处理单元阵列;
所述交互单元与特征图存储单元、权重存储单元相连,交互单元用于与外部进行数据交互;
所述特征图存储单元用于存储交互单元传输的特征图数据;所述权重存储单元用于存储交互单元传输的权重数据;
所述特征图控制器用于接收指令控制器发送的并行模式指令,根据并行模式指令将特征图存储单元中的特征图数据整形后,存放到特征图缓存单元中;
所述权重控制器用于接收指令控制器发送的并行模式指令,根据并行模式指令将权重存储单元中的权重数据整形后,存放到权重缓存单元中;
所述处理单元阵列用于接收指令控制器发送的并行模式指令,根据并行模式指令将特征图缓存单元和权重缓存单元中的缓存数据进行计算,然后将计算结果存入特征图存储单元;
所述处理单元阵列包括S个乘法器,S个乘法器按每组N′个分为M′组;
所述特征图结构包括特征图的行数Hf,特征图的列数Wf,特征图的通道数Cf,令表示特征图第k通道、i行、j列的特征图数据,其中,1≤k≤Cf,1≤i≤Hf,1≤j≤Wf;所述权重结构包括权重的行数Hw,权重的列数Ww,权重中单个卷积核的通道数,作为输入通道数Cw,权重中卷积核的个数Uw,作为输出通道数,令表示权重第k′输入通道、r′输出通道、i′行、j′列的权重数据,其中1≤k′≤Cw,1≤r′≤Uw,1≤i′≤Hw,1≤j′≤Ww;
所述行并行模式的计算过程为:
A1.取出前M个卷积核中,第一个输入通道的第一行第一列数据,共取出了M个权重数据;若权重中卷积核的个数Uw≤M′,则令M=Uw;若权重中卷积核的个数Uw>M′,则令M=M′;
A2.取出特征图中第一个通道中第1行~第N行的第1列特征图数据,共取出了N个特征图数据;若特征图的行数Hf≤N′+Hw-1,则令N=Hf-HW+1;若特征图的行数Hf>N′+Hw-1,则令N=N′;
A3.将M个权重数据和N个特征图数据分别做乘法;
A4.令权重数据保持不变,特征图数据向右滑动,改为取第1行~第N行的下一列特征图数据;返回步骤A3,直到完成第1行~第N行前P列的特征图数据的计算,其中P=Wf-Ww+1;此时,若当前权重数据是最后一行最后一列,则跳到步骤A6;若当前权重数据不是最后一行最后一列,则进行下一步;
A5.按照从左至右的顺序逐行切换权重数据,将前M个卷积核中第一个输入通道的第i′行第j′列的权重数据看作第一个输入通道的第一行第一列的权重数据,将特征图第一个通道的第i行第j列的特征图数据看作第一行第一列的特征图数据,其中i=i′,j=j′,然后返回步骤A2;
A6.若当前特征图的行数Hf>N′+Hw-1,则将当前特征图第N′+1行至最后一行看作新的特征图,得到新的特征图行数Hf,且返回步骤A1;若当前特征图的行数Hf≤N′+Hw-1,则第一个通道的特征图数据全部计算完成,进行下一步;
A7.若当前特征图通道数Cf=1,则跳到步骤A8;若当前特征图通道数Cf>1,则特征图向后切换到下一个通道,并将当前特征图通道至最后一个特征图通道看作新的特征图,得到新的特征图通道数Cf,权重也向后切换一个输入通道,将当前权重输入通道至最后一个输入通道看作新的权重,得到新的权重输入通道数Cw,返回步骤A1;
A8.若当前卷积核个数Uw≤M′,则计算结束;若当前卷积核个数Uw>M′,则将当前第M′+1个卷积核至最后一个卷积核看作新的卷积核,得到新的卷积核个数Uw,且Cw、Cf恢复为原始值,返回步骤A1;
所述输入通道并行模式的计算过程为:
B1.取出前M个卷积核中,前N个输入通道的第一行第一列权重数据,共取出了M组权重数据,每组包含N个权重数据;若权重的输入通道数Cw≤N′,则令N=Cw;若权重的输入通道数Cw>N′,则令N=N′;若权重中卷积核的个数Uw≤M′,则令M=Uw;若权重中卷积核的个数Uw>M′,则令M=M′;
B3.将取出的M组权重数据依次和N个特征图数据做乘法;
B4.令权重数据保持不变,按照从左至右的顺序逐行切换特征图数据,返回步骤B3,直到完成前N个通道的前Q行前P列特征图数据的计算,其中P=Wf-Ww+1,Q=Hf-Hw+1;此时,若当前权重数据是最后一行最后一列,则跳到步骤B6;若当前权重数据不是最后一行最后一列,则进行下一步;
B5.按照从左至右的顺序逐行切换权重数据,将前M个卷积核中前N个输入通道的第i′行第j′列的权重数据看作前N个输入通道的第一行第一列的权重数据,将特征图前N个通道的第i行第j列的特征图数据看作第一行第一列的特征图数据,其中i=i′,j=j′,然后返回步骤B2;
B6.若当前特征图通道数Cf≤N′,则前M个卷积核的所有权重数据已完成计算,进行下一步;若当前特征图通道数Cf>N′,则将当前特征图第N+1个通道至最后一个特征图通道看作新的特征图,得到新的特征图通道数Cf,将权重前M个卷积核的第N+1个输入通道至最后一个输入通道看作新的权重,得到新的权重输入通道数Cw,返回步骤B1;
B7.若当前卷积核个数Uw≤M′,则计算结束;若当前卷积核个数Uw>M′,则将第M′+1个卷积核至最后一个卷积核看作新的权重,得到新的权重卷积核个数Uw,且Cw、Cf恢复为原始值,返回步骤B1;
所述混合并行模式的计算过程为:
C1.将特征图拆分为A、B两部分,其中A部分中特征图的行数为N′+HW-1,B部分中特征图的行数为Hf-N′;
C2.使用行并行模式计算A部分;
C3.若B部分中特征图的行数大于N′+HW-1,则把B部分特征图看作新的特征图,得到新的特征图行数Hf,返回步骤C1;若B部分中特征图的行数等于N′+HW-1,则使用行并行模式计算B部分;若B部分中特征图的行数小于N′+HW-1,则使用通道并行模式计算B部分;完成全部特征图数据的计算,计算结束。
2.如权利要求1所述的一种支持自适应并行计算的神经网络处理电路,其特征在于,所述并行模式判决器包括计算单元A、计算单元B、计算单元C、比较器、以及选择器,所述计算单元A、计算单元B、计算单元C的输入为特征图结构、权重结构、乘法器个数三组数据,其中特征图结构和权重结构两组数据由外部指令输入,对于确定的电路,乘法器个数为固定不变的常值;计算单元A、计算单元B、计算单元C根据输入的三组数据分别计算行并行模式、输入通道并行模式、混合并行模式完成当前层运算各需要的操作周期数,然后将计算结果传输给比较器;若出现两种及两种以上并行模式的操作周期数同时为最少时,比较器优先选取行并行模式,输入通道并行模式次之;所述比较器将输入的三组并行模式的操作周期数进行大小比较,得到最小操作周期数对应并行模式的索引,将索引发送给选择器;所述选择器的输入为行并行模式指令、输入通道并行模式指令、混合并行模式指令,选择器根据索引输出对应的并行模式指令。
3.如权利要求1所述的一种支持自适应并行计算的神经网络处理电路,其特征在于,对于全连接层,若输入特征图是长度为E的向量,则转化为行数*列数*通道数=1*1*E的特征图结构,若权重为E*F的2维结构,则转化为行数*列数*输入通道数*输出通道数=1*1*E*F的权重结构,再使用输入通道并行模式计算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010794982.1A CN111738432B (zh) | 2020-08-10 | 2020-08-10 | 一种支持自适应并行计算的神经网络处理电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010794982.1A CN111738432B (zh) | 2020-08-10 | 2020-08-10 | 一种支持自适应并行计算的神经网络处理电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111738432A CN111738432A (zh) | 2020-10-02 |
CN111738432B true CN111738432B (zh) | 2020-12-29 |
Family
ID=72658288
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010794982.1A Active CN111738432B (zh) | 2020-08-10 | 2020-08-10 | 一种支持自适应并行计算的神经网络处理电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111738432B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115459896B (zh) * | 2022-11-11 | 2023-03-03 | 北京超摩科技有限公司 | 多通道数据传输的控制方法、控制***、介质及芯片 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106203621A (zh) * | 2016-07-11 | 2016-12-07 | 姚颂 | 用于卷积神经网络计算的处理器 |
CN107918794A (zh) * | 2017-11-15 | 2018-04-17 | 中国科学院计算技术研究所 | 基于计算阵列的神经网络处理器 |
CN108804139A (zh) * | 2017-06-16 | 2018-11-13 | 上海兆芯集成电路有限公司 | 可编程设备及其操作方法和计算机可用介质 |
CN109255434A (zh) * | 2018-10-15 | 2019-01-22 | 旺微科技(上海)有限公司 | 一种卷积神经网络中计算资源的调度方法及装置 |
CN109669772A (zh) * | 2018-12-28 | 2019-04-23 | 第四范式(北京)技术有限公司 | 计算图的并行执行方法和设备 |
CN110084739A (zh) * | 2019-03-28 | 2019-08-02 | 东南大学 | 一种基于cnn的画质增强算法的fpga并行加速*** |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109961136B (zh) * | 2017-12-14 | 2020-05-19 | 中科寒武纪科技股份有限公司 | 集成电路芯片装置及相关产品 |
CN109993301B (zh) * | 2017-12-29 | 2020-05-19 | 中科寒武纪科技股份有限公司 | 神经网络训练装置及相关产品 |
EP3803693A4 (en) * | 2018-05-24 | 2022-06-22 | Nokia Technologies OY | METHOD AND DEVICE FOR COMPUTER VIEWING |
CN109034373B (zh) * | 2018-07-02 | 2021-12-21 | 鼎视智慧(北京)科技有限公司 | 卷积神经网络的并行处理器及处理方法 |
CN110766127B (zh) * | 2018-07-25 | 2022-09-23 | 赛灵思电子科技(北京)有限公司 | 神经网络计算专用电路及其相关计算平台与实现方法 |
CA3051429A1 (en) * | 2018-08-08 | 2020-02-08 | Applied Brain Research Inc. | Digital circuits for evaluating neural engineering framework style neural networks |
CN109902818B (zh) * | 2019-01-15 | 2021-05-25 | 中国科学院信息工程研究所 | 一种面向深度学习训练任务的分布式加速方法及*** |
-
2020
- 2020-08-10 CN CN202010794982.1A patent/CN111738432B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106203621A (zh) * | 2016-07-11 | 2016-12-07 | 姚颂 | 用于卷积神经网络计算的处理器 |
CN108804139A (zh) * | 2017-06-16 | 2018-11-13 | 上海兆芯集成电路有限公司 | 可编程设备及其操作方法和计算机可用介质 |
CN107918794A (zh) * | 2017-11-15 | 2018-04-17 | 中国科学院计算技术研究所 | 基于计算阵列的神经网络处理器 |
CN109255434A (zh) * | 2018-10-15 | 2019-01-22 | 旺微科技(上海)有限公司 | 一种卷积神经网络中计算资源的调度方法及装置 |
CN109669772A (zh) * | 2018-12-28 | 2019-04-23 | 第四范式(北京)技术有限公司 | 计算图的并行执行方法和设备 |
CN110084739A (zh) * | 2019-03-28 | 2019-08-02 | 东南大学 | 一种基于cnn的画质增强算法的fpga并行加速*** |
Also Published As
Publication number | Publication date |
---|---|
CN111738432A (zh) | 2020-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108241890B (zh) | 一种可重构神经网络加速方法及架构 | |
CN109409510B (zh) | 神经元电路、芯片、***及其方法、存储介质 | |
CN107301456B (zh) | 基于向量处理器的深度神经网络多核加速实现方法 | |
CN109543830B (zh) | 一种用于卷积神经网络加速器的拆分累加器 | |
CN108090560A (zh) | 基于fpga的lstm递归神经网络硬件加速器的设计方法 | |
KR101803409B1 (ko) | 다중 계층 신경망 컴퓨팅 장치 및 방법 | |
CN112633490B (zh) | 执行神经网络模型的数据处理装置、方法及相关产品 | |
CN111898733A (zh) | 一种深度可分离卷积神经网络加速器架构 | |
CN113033794B (zh) | 基于深度可分离卷积的轻量级神经网络硬件加速器 | |
CN111831359A (zh) | 权重精度配置方法、装置、设备及存储介质 | |
CN111738432B (zh) | 一种支持自适应并行计算的神经网络处理电路 | |
CN116644804A (zh) | 分布式训练***、神经网络模型训练方法、设备和介质 | |
CN111831354A (zh) | 数据精度配置方法、装置、芯片、芯片阵列、设备及介质 | |
WO2022028232A1 (zh) | 执行lstm神经网络运算的装置和方法 | |
CN114519425A (zh) | 一种规模可扩展的卷积神经网络加速*** | |
CN113688988A (zh) | 精度调整方法及装置、存储介质 | |
CN111831356B (zh) | 权重精度配置方法、装置、设备及存储介质 | |
CN108647780A (zh) | 面向神经网络的可重构池化操作模块结构及其实现方法 | |
Zhang et al. | Hardware-software codesign of weight reshaping and systolic array multiplexing for efficient CNNs | |
CN112862083A (zh) | 一种边缘环境下的深度神经网络推断方法及装置 | |
CN117436485A (zh) | 基于权衡时延和精度的多退出点的端-边-云协同***及方法 | |
CN115528750B (zh) | 一种面向电网安全稳定的数据模型混合驱动机组组合方法 | |
CN115169754B (zh) | 能源调度方法、装置、电子设备及存储介质 | |
CN112764932B (zh) | 基于深度强化学习的计算密集型工作负载高能效分配方法 | |
CN114327853A (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 |
Effective date of registration: 20220629 Address after: 401329 building 4, No. 15, Fengsheng Road, Jinfeng Town, high tech Zone, Jiulongpo District, Chongqing Patentee after: Chongqing Lianxin Zhikang Biotechnology Co.,Ltd. Address before: 611731, No. 2006, West Avenue, Chengdu hi tech Zone (West District, Sichuan) Patentee before: University of Electronic Science and Technology of China |
|
TR01 | Transfer of patent right |