一种实现并行卷积计算的数据映射系统及方法与流程

文档序号:15639011发布日期:2018-10-12 21:50阅读:833来源:国知局

本发明涉及神经网络技术领域,具体提供一种实现并行卷积计算的数据映射系统及方法。



背景技术:

随着人工智能(ai)领域的发展,cnn(convolutionalneuralnetwork即卷积神经网络)得到了充分利用。目前主流卷积神经网络模型不但结构复杂,计算数据量大,而且各层架构差异也很大,硬件电路实现高性能同时实现高通用性并不轻松,既要考虑资源利用率,又要考虑能效比。用硬件电路同时实现整个网络模型各层并不现实,功耗、面积、资源利用率等难以得到满意的结果,通常解决该问题的做法是用时间换取面积,也即将整个模型进行分层分块处理,把电路设计成通用的基本单元,通过控制电路分时构造整个模型,同时通过高效的数据映射手段提高资源利用率,以此提高电路工作性能。现有技术中在硬件电路实现某些卷积神经网络模型计算中存在卷积核滑动步长大于1的情况下,存在无效计算,降低了资源利用率;另一方面,计算阵列电路设计固定的情况下,若存在输出特征图与计算阵列尺寸不匹配的情况,存在不参与计算的资源,资源利用率也存在浪费,计算资源浪费会使整体性能得不到理想的结果。



技术实现要素:

本发明的技术任务是针对上述存在的问题,提供一种能够消除无效或不参与的计算资源,提高计算资源利用率的实现并行卷积计算的数据映射系统。

本发明进一步的技术任务是提供一种实现并行卷积计算的数据映射方法。

为实现上述目的,本发明提供了如下技术方案:

一种实现并行卷积计算的数据映射系统,该系统包括输入特征缓存模块、映射逻辑模块、输出特征图缓存模块、权重缓存模块、卷积计算阵列和控制逻辑模块,所述输入特征图缓存模块与控制逻辑模块、映射逻辑模块分别连接,权重缓存模块与控制逻辑模块、映射逻辑模块分别连接,卷积计算阵列与控制逻辑模块、映射逻辑模块、输出特征图缓存模块相连,输出特征图缓存模块与控制逻辑模块相连。

所述实现并行卷积计算的数据映射系统通过重新组合输入特征图,增加卷积计算的并行度,消除无效或不参与的计算资源。具体的是将输入特征图进行有规则的分块,通过有效的映射手段,重新组合输入特征图,将无效或不参与计算部分替换成有效计算部分,增加整体卷积计算的并行度,提高了计算资源的利用率,提高系统性能。

作为优选,所述输入特征图缓存模块作为外部输入数据的缓存,映射逻辑模块按照控制逻辑模块下发的命令从输入特征图缓存模块和权重缓存模块获取数据,映射逻辑模块将获取的数据送至卷积计算阵列,卷积计算阵列将计算完成的数据送至输出特征图缓存模块。

作为优选,所述卷积计算阵列采用n行乘n列个卷积计算单元,相邻卷积计算单元互联。

所述每个卷积计算单元包括2x2个pe(processingelement即处理单元),卷积计算时,每个pe对应一个输出特征图的一个像素点的计算。

一种实现并行卷积计算的数据映射的方法,所述方法将输入特征图进行有规则的分块,通过映射手段,重新组合输入特征图,增加卷积计算的并行度,映射逻辑将从重新组合的输入特征图获取的数据送至卷积计算阵列,卷积计算阵列将计算完成的数据送至输出特征图缓存模块。

作为优选,卷积核滑动步长大于1时,将输入特征图中卷积核滑动无效计算的部分用有效计算的部分填充,得到重新组合的输入特征图作为卷积单元输入。

作为优选,所述将输入特征图中卷积核滑动无效计算的部分用有效计算的部分填充,采用矩阵右上角有效计算位置的数据填充无效计算部分阵列,将输入特征图中参与有效计算的数据向右向下平移,复制到相邻的卷积计算单元中。

作为优选,所述复制到相邻的卷积计算单元中的数据与从权重缓存模块读入的卷积核权重值进行卷积计算,使新组合的特征图遍历完权重值,将计算结果送至输出特征图缓存模块。

作为优选,输出特征图与计算阵列尺寸不匹配时,将多通道输入特征图划分为较小的特征图单元,将相邻通道同一位置的特征图单元重新组合为新的输入特征图,作为卷积计算阵列输入。

作为优选,所述多通道输入特征图划分比例取决于输出特征图尺寸,通道数取决于卷积计算阵列尺寸和输出特征图尺寸。

与现有技术相比,本发明的实现并行卷积计算的数据映射方法具有以下突出的有益效果:所述实现并行卷积计算的数据映射方法通过有效的映射手段,重新组合输入特征图,增加卷积计算的并行度,具体的是将输入特征图进行有规则的分块,将无效或不参与计算部分替换成有效计算部分,消除无效或不参与的计算资源,增加整体卷积计算的并行度,提高了计算资源的利用率,提高系统性能,具有良好的推广应用价值。

附图说明

图1是本发明所述实现并行卷积计算的数据映射系统的拓扑图;

图2是本发明所述实现并行卷积计算的数据映射系统中卷积计算单元进行卷积计算拓扑图;

图3是本发明所述实现并行卷积计算的数据映射方法卷积核滑动步长大于1时的示意图;

图4是本发明所述实现并行卷积计算的数据映射方法输出特征图与计算阵列尺寸不匹配时的示意图。

具体实施方式

下面将结合附图和实施例,对本发明的实现并行卷积计算的数据映射系统及方法作进一步详细说明。

实施例

如图1所示,本发明的实现并行卷积计算的数据映射系统,包括输入特征缓存模块、映射逻辑模块、输出特征图缓存模块、权重缓存模块、卷积计算阵列和控制逻辑模块。

输入特征图缓存模块作为外部输入数据的缓存,与控制逻辑模块、映射逻辑模块分别连接。

卷积计算阵列采用n行乘n列个卷积计算单元,相邻卷积计算单元互联。如图2所示,每个卷积计算单元包括2x2个pe,卷积计算时,每个pe对应一个输出特征图的一个像素点的计算。

映射逻辑模块按照控制逻辑模块下发的命令从输入特征图缓存模块和权重缓存模块获取数据,映射逻辑模块将获取的数据送至卷积计算阵列,卷积计算阵列将计算完成的数据送至输出特征图缓存模块。

权重缓存模块与控制逻辑模块、映射逻辑模块分别连接。卷积计算阵列与控制逻辑模块、映射逻辑模块、输出特征图缓存模块相连。输出特征图缓存模块与控制逻辑模块相连。

本发明的实现并行卷积计算的数据映射方法将输入特征图进行有规则的分块,通过映射手段,重新组合输入特征图,增加卷积计算的并行度,映射逻辑将从重新组合的输入特征图获取的数据送至卷积计算阵列,卷积计算阵列将计算完成的数据送至输出特征图缓存模块。

卷积核滑动步长大于1时,将输入特征图中卷积核滑动无效计算的部分用有效计算的部分填充,采用矩阵右上角有效计算位置的数据填充无效计算部分阵列,将输入特征图中参与有效计算的数据向右向下平移,复制到相邻的计算单元中。复制到相邻的计算单元中的数据与从权重缓存模块读入的卷积核权重值进行卷积计算,使新组合的特征图遍历完权重值,得到重新组合的输入特征图作为卷积单元输入,将计算结果送至输出特征图缓存模块。具体实施过程如图3所示。以卷积计算阵列尺寸为4x4,输出特征图为2x2,卷积核权重矩阵为1x1,卷积核滑动步长为2的例子为例说明。卷积核每次滑动步长为2,每计算一个有效输出点都会进行一次无效的计算,整个计算阵列有效利用率为(2x2)/(4x4)=1/4,计算资源收到浪费,为了充分利用计算资源,采用将有效计算资源并行复制,然后分别与不同卷积核卷积,并缓存中间结果的方式。

1、第一周期t0时刻,控制逻辑指令映射逻辑,从输入特征图缓存获取输入特征图中11点值输入计算阵列,从权重缓存获取对应权重k1输入计算阵列。

2、t1时刻,计算阵列中,11点值与权重k1进行计算得到计算结果out0到输出特征图缓存,同时将11点复制到结算阵列12位置。

3、t2时刻,计算阵列中12点值与权重k2进行计算得到结果out1到输出特征图缓存,同时将11点复制到结算阵列21位置。

4、t3时刻,计算阵列中,21点值与权重k3进行计算得到结果out2到输出特征图缓存,同时将11点复制到结算阵列22位置。

5、t4时刻,22点位置与权重k4进行计算得到结果out3,到输出特征图缓存。

其他计算单元同样的处理方式,直到将输入特征图的第一个特征值与所有权重计算完成,并保存中间结果,然后进行下一特征值结算,以此类推,第一通道输入特征图全部计算完成后,下一通道输入特征图进入计算,并将不同通道对应中间计算结果进行加和处理。

输出特征图与计算阵列尺寸不匹配时,将多通道输入特征图划分为较小的特征图单元,将相邻通道同一位置的特征图单元重新组合为新的输入特征图,作为卷积计算阵列输入。多通道输入特征图划分比例取决于输出特征图尺寸,通道数取决于计算阵列尺寸和输出特征图尺寸。具体实施过程如图4所示。以卷积计算阵列尺寸为3x3,输出特征图尺寸为2x2,卷积核尺寸为1x1,滑动步长为1的例子进行说明,该种情况下,计算阵列尺寸大于输出特征图尺寸,且不是整数倍关系,计算资源利用率为(2x2)/(3x3)=4/9,不参与计算的资源得到了浪费。采取输入特征图切块,将不同通道的输入特征图切块进行组合,充分利用计算阵列所有资源,使得计算资源能够得到充分利用。具体过程如下:

1、第一周期t0时刻,控制逻辑指令映射逻辑将第一二三四通道的同一位置的11点值分别输入计算阵列的11,12,21,22位置,四路并行计算同时得到4张输出特征图的11点值,并暂存到输出特征图缓存。

2、t1时刻,控制逻辑指令映射逻辑将第一二三四通道的同一位置的12点值分别输入计算阵列的11,12,21,22位置,四路并行计算同时得到4张输出特征图的12点值,并暂存到输出特征图缓存。

3、t2时刻,控制逻辑指令映射逻辑将第一二三四通道的同一位置的21点值分别输入计算阵列的11,12,21,22位置,四路并行计算同时得到4张输出特征图的21点值,并暂存到输出特征图缓存。

4、t3时刻,控制逻辑指令映射逻辑将第一二三四通道的同一位置的22点值分别输入计算阵列的11,12,21,22位置,四路并行计算同时得到4张输出特征图的22点值,并暂存到输出特征图缓存。

t3时刻结束时,四个通道的输出特征图所有点值全部计算完成。

以上所述的实施例,只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1