用于执行并行计算的方法和系统技术方案

技术编号:28048530 阅读:25 留言:0更新日期:2021-04-09 23:39
本公开的实施例提供了用于执行并行计算的系统和方法。所述系统可包括:任务管理器;和多个核心,所述多个核心与所述任务管理器耦合并被配置成基于来自所述任务管理器的指令分别地执行并行计算任务集,其中所述多个核心中的每一个还包括:处理单元,所述处理单元被配置成生成与所述并行计算任务集当中的第一计算任务相对应的第一输出特征图;接口,所述接口被配置成从所述任务管理器接收一个或多个指令以从所述多个核心中的其他核心收集与所述并行计算任务集相对应的外部输出特征图;约简单元,所述约简单元被配置成基于所述第一输出特征图和接收到的外部输出特征图生成约简特征图。

【技术实现步骤摘要】
【国外来华专利技术】用于执行并行计算的方法和系统相关申请的交叉引用本公开要求2018年8月29日提交的美国临时申请号62/724,539和2019年7月30日提交的美国专利申请号16/526,597的优先权的权益,这些申请通过引用整体地并入本文中。
技术介绍
卷积神经网络(CNN)是广泛地应用在机器学习上的一种类型的神经网络。CNN被用在包括图像处理、语音识别、玩游戏、机器人等的各种应用中。用于CNN运算的高效架构并将CNN运算映射到架构中的设计可能是非常重要的。
技术实现思路
本公开的实施例提供一种用于执行并行计算的系统。该系统可包括:任务管理器;和多个核心,该多个核心与任务管理器耦合并被配置成基于来自任务管理器的指令分别地执行并行计算任务集,其中多个核心中的每一个还包括:处理单元,该处理单元被配置成生成与并行计算任务集当中的第一计算任务相对应的第一输出特征图;接口,该接口被配置成从任务管理器接收一个或多个指令以从多个核心中的其他核心收集与并行计算任务集相对应的外部输出特征图;约简单元,该约简单元被配置成基于第一输出特征图和接收到的外部输出特征图生成约简特征图。本公开的实施例还提供一种用于在与任务管理器耦合的多个核心中的一核心处执行并行计算任务集的方法。该方法可包括:由核心的处理单元生成与并行计算任务集当中的第一计算任务相对应的第一输出特征图;由核心的接口从任务管理器接收一个或多个指令以从多个核心中的其他核心收集与并行计算任务集相对应的外部输出特征图;由核心的约简单元基于第一输出特征图和接收到的外部输出特征图生成约简特征图。本公开的实施例还提供一种用于由与多个核心耦合的任务管理器来管理任务的方法。该方法可包括:指示多个核心中的一核心生成与并行计算任务集当中的第一计算任务相对应的第一输出特征图,其中在生成第一输出特征图之后,核心向任务管理器发出屏障指令并且停止与第二计算任务相对应的第二输出特征图的生成;从多个核心中的其他核心接收屏障指令;在接收到屏障指令之后,向核心发送恢复指令以恢复第二输出特征图的生成;选择核心作为约简核心以从其他核心接收与并行计算任务集相对应的外部输出特征图,以基于第一输出特征图和外部输出特征图生成约简特征图,其中第二输出特征图的生成与约简特征图的生成并行地发生。所公开的实施例的附加特征和优点将部分地在以下描述中被阐述,并且部分地将从描述中显而易见,或者可以通过对实施例的实践来学习。可以通过权利要求中阐述的要素和组合来实现和获得所公开的实施例的特征和优点。应当理解,上述一般描述和以下详细描述都仅仅是示例性和说明性的,而不限制如要求保护的所公开的实施例。附图说明在以下详细描述和附图中图示本公开的实施例和各个方面。图中所示的各种特征未按比例绘制。图1A图示示例性卷积神经网络(CNN)运算。图1B图示CNN运算的划分。图1C图示用于训练卷积神经网络的示例性程序。图2A图示根据本公开的实施例的示例性神经网络处理架构。图2B图示根据本公开的实施例的并入神经网络处理架构的示例性云系统的示意图。图3图示根据本公开的实施例的用于执行并行计算的系统的结构图。图4图示根据本公开的实施例的用于执行并行计算的示例性程序。图5图示根据本公开的实施例的提供用于由与任务管理器耦合的多个核心对矩阵集执行并行计算任务集的示例性方法的流程图。图6图示根据本公开的实施例的提供用于由与多个核心耦合的任务管理器来管理任务的示例性方法的流程图。具体实施方式在下面更详细地描述本公开的特定方面。如果与通过引用并入的术语和/或定义冲突,则本文提供的术语和定义为准。本公开中描述的技术具有以下技术效果中的一种或多种。在一些实现方式中,本公开中描述的技术提供一种用于执行并行计算的系统,包括:任务管理器;和多个核心,该多个核心与任务管理器耦合并被配置成基于来自任务管理器的指令分别地执行并行计算任务集,其中多个核心中的每一个还包括:处理单元,该处理单元被配置成生成与并行计算任务集当中的第一计算任务相对应的第一输出特征图;接口,该接口被配置成从任务管理器接收一个或多个指令以从多个核心中的其他核心收集与并行计算任务集相对应的外部输出特征图;约简单元,该约简单元被配置成基于第一输出特征图和接收到的外部输出特征图生成约简特征图。此任务管理器允许处理单元处理用于当前迭代和其他组件(例如,接口、存储器单元和约简单元)的矩阵以并行地基于先前迭代的结果生成约简特征图。因此,可进一步利用例如CNN运算的并行性。如本文所使用的,术语“包括”、“包括有”或其任何其他变化旨在涵盖非排他性包括,使得包括元件的列表的过程、方法、组合物、制品或装置不仅包括那些元件,而且可以包括未明确地列举或这种过程、方法、组合物、制品或装置所固有的其他元件。在“示例”而不是“理想”的意义使用术语“示例性”。图1A图示示例性卷积神经网络(CNN)运算。在此示例性运算中,层的输入激活被构造为跨许多(例如,C个)通道的二维(2D)输入特征图集。可将二维输入特征图中的每一个称为通道。如图1A中所示,一个通道的输入数据102(例如,图像)具有H×W的大小。因此,二维(2D)输入特征图集的大小可以为H×W×C。每个通道可与来自一堆过滤器104的大小为S×R的2D过滤器进行卷积。一个过滤器104可被相应地用于一个通道。过滤器104可在输入特征图上滑动,并且可从过滤器104(包括权重)和由过滤器104覆盖的输入特征图的一部分的卷积运算生成点。通过在特征图上滑动过滤器104并重复卷积运算,可生成H’×W’大小的特征输出图106。如图1A中所示,存在K个过滤器组104,从而H’×W’大小的特征输出图106的K个维度。换句话说,特征输出图106的大小是H’×W’×K。在CNN模型中,此类运算可针对多个层重复。在这些运算期间,前一层的特征输出图106用作下一层的输入数据。换句话说,在前一层中大小为H’×W’×K的特征输出图106可用作下一层中的输入数据102。应领会,前一层中的特征输出图106的大小值(例如,H’、W’和K)可被用作下一层中的输入数据102的大小值(例如,H、W和C)。由于CNN训练的并行性,CNN训练的CNN运算可在K个维度上分布在多个处理核心之间。图1B图示CNN运算的划分。在一些实施例中,可在若干处理核心之间划分和分发CNN运算。例如,如图1B中所示,大小为H×W×C的输入数据102可被划分成例如四个部分112、114、116和18,并且被分发给四个处理核心(例如,核心132、134、136和138)。因此,每个处理核心负责输入数据102的1/4。大小为S×R×C的过滤器也跨四个处理核心132、134、136和138分布。因此,在图1B的并行计算的阶段中,四个处理核心132、134、136和138中的每一个可并行地生成中间特征图。在四个处理核心132、134、136和138生成中间特征图之后,四个处理核心132、134、136和138中的第一核心(例如本文档来自技高网...

【技术保护点】
1.一种用于执行并行计算的系统,包括:/n任务管理器;和/n多个核心,所述多个核心与所述任务管理器耦合并被配置成基于来自所述任务管理器的指令分别地执行并行计算任务集,其中所述多个核心中的每一个还包括:/n处理单元,所述处理单元被配置成生成与所述并行计算任务集当中的第一计算任务相对应的第一输出特征图;/n接口,所述接口被配置成从所述任务管理器接收一个或多个指令以从所述多个核心中的其他核心收集与所述并行计算任务集相对应的外部输出特征图;/n约简单元,所述约简单元被配置成基于所述第一输出特征图和接收到的外部输出特征图生成约简特征图。/n

【技术特征摘要】
【国外来华专利技术】20180829 US 62/724,539;20190730 US 16/526,5971.一种用于执行并行计算的系统,包括:
任务管理器;和
多个核心,所述多个核心与所述任务管理器耦合并被配置成基于来自所述任务管理器的指令分别地执行并行计算任务集,其中所述多个核心中的每一个还包括:
处理单元,所述处理单元被配置成生成与所述并行计算任务集当中的第一计算任务相对应的第一输出特征图;
接口,所述接口被配置成从所述任务管理器接收一个或多个指令以从所述多个核心中的其他核心收集与所述并行计算任务集相对应的外部输出特征图;
约简单元,所述约简单元被配置成基于所述第一输出特征图和接收到的外部输出特征图生成约简特征图。


2.根据权利要求1所述的系统,其中所述任务管理器被配置成指示所述核心同时地执行与第二计算任务相对应的第二输出特征图的生成和所述约简特征图的生成。


3.根据权利要求2所述的系统,其中当所述第一输出特征图被生成时,所述处理单元还被配置成向所述任务管理器发出屏障指令,并且停止所述第二输出特征图的生成。


4.根据权利要求3所述的系统,其中所述任务管理器还被配置成从所述多个核心中的每一个接收所述屏障指令。


5.根据权利要求4所述的系统,其中响应于确定从所述多个核心中的每一个接收到所述屏障指令,所述任务管理器被配置成向所述核心发送恢复指令以恢复所述第二输出特征图的产生。


6.根据权利要求2所述的系统,其中所述任务管理器还被配置成在所述多个核心当中选择约简核心以接收所述外部输出特征图并且与所述第二输出特征图的生成并行地生成所述约简特征图。


7.根据权利要求6所述的系统,其中所述第一输出特征图是通过对矩阵集中的第一矩阵执行卷积处理而生成的。


8.根据权利要求7所述的系统,其中所述核心的数目是N,所述矩阵集的数目是K,并且对于第k次迭代,所述约简核心是所述多个核心当中的第(k%N)个核心,其中k是小于或等于K的正整数。


9.根据权利要求1所述的系统,其中,在所述多个核心当中,第一核心生成第一约简输出特征图,第二核心生成第二约简输出特征图,第三核心生成第三约简输出特征图,并且第四核心生成第四约简输出特征图,并且所述第一约简输出特征图、所述第二约简输出特征图、所述第三约简输出特征图和所述第四约简输出特征图被以交错方式组合成约简输出特征图集。


10.根据权利要求1所述的系统,其中所述存储单元包括用于生成所述第二输出特征图的第一端口和用于生成所述约简输出特征图的第二端口。


11.一种用于在与任务管理器耦合的多个核心中的一核心处执行并行计算任务集的方法,包括:
由所述核...

【专利技术属性】
技术研发人员:韩亮
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1