数据并行化处理方法、系统、设备及存储介质技术方案

技术编号:24124955 阅读:19 留言:0更新日期:2020-05-13 04:17
本发明专利技术公开了一种数据并行化处理方法、系统、设备及存储介质。其中,所述方法包括:将所述具有逻辑关系的至少三个第一计算节点定义为第一并行节点组,第一并行节点组包括第一前节点和至少两个第一后节点;获取第一前节点的第一输入数据模型并生成第一前节点的第一输入张量;根据第一输入数据模型和第一输入张量计算第一前节点的第一输出张量;获取至少两个第一后节点的第二输入数据模型并将第一输出张量作为第二输入张量;根据第二输入数据模型和第二输入张量分别计算至少两个第一后节点的第二输出张量,得到第一并行节点组的第一计算结果。本发明专利技术通过多个输入的图推理重叠运行,实现了充分利用CPU和运算卡资源的技术效果。

【技术实现步骤摘要】
数据并行化处理方法、系统、设备及存储介质
本专利技术实施例涉及网络拓扑图推理
,尤其涉及一种数据并行化处理方法、系统、设备及存储介质。
技术介绍
深度学习网络通常由算法训练得来。多数情况下,算法开发人员倾向于使用已有的公开深度学习框架进行模型训练,而大部分公开深度学习框架是针对于中央处理器/图形处理器(CentralProcessingUnit/GraphicsProcessingUnit,CPU/GPU)这类计算设备设计的。CPU/GPU采用传统的指令集架构,架构效率较低,灵活性较高。随着深度学习相关技术的发展,对于计算能力的要求越来越高。相关技术中的指令集的架构效率缺陷已经不能满足应用场景的需求。对比而言,数据流架构效率更高,从技术路线来看更加适合深度学习技术的发展趋势。然而,数据流芯片只适用于深度学习算子,正常使用仍然需要CPU协助进行数据传输和处理。运行过程中,将处理好的数据从内存中搬运到片上内存中,等待运算卡运行完成之后将结果拿回,进行后处理,完成整个图推理过程。相关技术中采用的图推理方法多是单线程运行带有异步计算,而这种图推理方法容易导致不能充分利用CPU和运算卡的运算资源。
技术实现思路
本专利技术提供一种数据并行化处理方法、系统、设备及存储介质,以实现针对多个输入的图推理可以重叠运行,从而充分利用CPU和运算卡的资源的技术效果。第一方面,本专利技术实施例提供了一种数据并行化处理方法,包括:从多个第一计算节点中确认具有逻辑关系的至少三个第一计算节点,将具有逻辑关系的至少三个第一计算节点定义为第一并行节点组,第一并行节点组包括第一前节点和至少两个第一后节点;获取第一前节点的第一输入数据模型并生成第一前节点的第一输入张量;根据第一输入数据模型和第一输入张量计算第一前节点的第一输出张量;获取至少两个第一后节点的第二输入数据模型并将第一输出张量作为成第二输入张量;根据第二输入数据模型和第二输入张量分别计算至少两个第一后节点的第二输出张量,得到第一并行节点组的第一计算结果。第二方面,本专利技术实施例还提供了一种数据并行化处理系统,包括:筛选模块,用于从多个第一计算节点中确认具有逻辑关系的至少三个第一计算节点,将具有逻辑关系的至少三个第一计算节点定义为第一并行节点组,第一并行节点组包括第一前节点和至少两个第一后节点;第一获取模块,用于获取第一前节点的第一输入数据模型并生成第一前节点的第一输入张量;第一计算模块,用于根据第一输入数据模型和第一输入张量计算第一前节点的第一输出张量;第二获取模块,用于获取至少两个第一后节点的第二输入数据模型并将第一输出张量作为第二输入张量;第二计算模块,用于根据第二输入数据模型和第二输入张量分别计算至少两个第一后节点的第二输出张量,得到第一并行节点组的第一计算结果。在一实施例中,本专利技术实施例还提供了一种设备,设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现上述实施例中任一的方法。在一实施例中,本专利技术实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述实施例中的方法。本专利技术通过将具有逻辑关系的多个节点并行进行数据处理,解决了现有技术中无法充分利用CPU和运算卡的运算资源的技术问题,实现了通过多个输入的图推理的重叠运行充分利用CPU和运算卡的资源的技术效果。附图说明图1为本专利技术实施例一提供的一种数据并行化处理方法的流程图;图2为本专利技术实施例二提供的一种数据并行化处理方法的流程图;图3为本专利技术实施例三提供的一种数据并行化处理系统的结构示意图;图4为本专利技术实施例四提供的一种设备的结构示意图。具体实施方式下面结合附图和实施例对本专利技术进行说明。此处所描述的实施例仅仅用于解释本专利技术,而非对本专利技术的限定。为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将一个或多个步骤描述成顺序的处理,但是其特征在于的许多步骤可以被并行地、并发地或者同时实施。此外,一个或多个步骤的顺序可以被重新安排。当其操作完成时处理可以被终止,但是还可以具有未包括在附图中的附加步骤。处理可以对应于方法、函数、规程、子例程、子程序等等。此外,术语“第一”、“第二”等可在本文中用于描述多种方向、动作、步骤或元件等,但这些方向、动作、步骤或元件不受这些术语限制。这些术语仅用于将第一个方向、动作、步骤或元件与另一个方向、动作、步骤或元件区分。举例来说,在不脱离本专利技术的范围的情况下,可以将第一获取模块称为第二获取模块,且类似地,可将第二获取模块称为第一获取模块。第一获取模块和第二获取模块两者都是获取模块,但其不是同一获取模块。术语“第一”、“第二”等而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本专利技术的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确的限定。实施例一图1为本专利技术实施例一提供的一种数据并行化处理方法的流程图。本实施例可适用于多个具有逻辑关系的图推理情况,该方法可以由主机来执行。如图1所示,一种数据并行化处理方法,包括S110至S150。S110、从多个第一计算节点中确认具有逻辑关系的至少三个第一计算节点,将具有逻辑关系的至少三个第一计算节点定义为第一并行节点组,第一并行节点组包括第一前节点和至少两个第一后节点。在本实施例中,具有逻辑关系的至少三个第一计算节点是指这三个第一计算节点至少包括一个位于逻辑关系中上游的第一前节点和至少两个与第一前节点存在直接逻辑关系的位于第一前节点下游的第一后节点,第一后节点在进行数据计算时先接收第一前节点的数据处理结果作为第一后节点的输入数据,也就是说,在第一前节点计算完成后,得到的第一前节点的计算结果传输到与第一前节点直接关联的至少两个第一后节点作为第一后节点的输入数据。以神经网络的计算节点计算为例,神经网络一般有多层,也就是多个逻辑性顺序连接的计算节点,一实施例中,第一前节点可以是指神经网络模型计算的最先开始计算的层级,第一后节点可以是指神经网络模型计算的在第一前节点计算之后马上开始计算的层级。第一前节点也可以是指神经网络模型计算的第n层级,第一后节点可以是指神经网络模型计算的n+1层级。本实施例不做限制。本实施例的神经网络类型包括前馈神经网络、径向基神经网络、深度前馈神经网络、递归神经网络等,此处对于第一神经网络类型不作限制。S120、获取第一前节点的第一输入数据模型并生成第一前节点的第一输入张量。在本实施例中,输入数据模型是指一种用于数据输入的数据模型,例如神经网络每层节点的计算公式或计算模型本文档来自技高网...

【技术保护点】
1.一种数据并行化处理方法,其特征在于,包括:/n从多个第一计算节点中确认具有逻辑关系的至少三个第一计算节点,将所述具有逻辑关系的至少三个第一计算节点定义为第一并行节点组,所述第一并行节点组包括第一前节点和至少两个第一后节点;/n获取所述第一前节点的第一输入数据模型并生成所述第一前节点的第一输入张量;/n根据所述第一输入数据模型和所述第一输入张量计算所述第一前节点的第一输出张量;/n获取所述至少两个第一后节点的第二输入数据模型并将所述第一输出张量作为第二输入张量;/n根据所述第二输入数据模型和所述第二输入张量分别计算所述至少两个第一后节点的第二输出张量,得到所述第一并行节点组的第一计算结果。/n

【技术特征摘要】
1.一种数据并行化处理方法,其特征在于,包括:
从多个第一计算节点中确认具有逻辑关系的至少三个第一计算节点,将所述具有逻辑关系的至少三个第一计算节点定义为第一并行节点组,所述第一并行节点组包括第一前节点和至少两个第一后节点;
获取所述第一前节点的第一输入数据模型并生成所述第一前节点的第一输入张量;
根据所述第一输入数据模型和所述第一输入张量计算所述第一前节点的第一输出张量;
获取所述至少两个第一后节点的第二输入数据模型并将所述第一输出张量作为第二输入张量;
根据所述第二输入数据模型和所述第二输入张量分别计算所述至少两个第一后节点的第二输出张量,得到所述第一并行节点组的第一计算结果。


2.根据权利要求1所述的方法,其特征在于,所述从多个第一计算节点中确认具有逻辑关系的至少三个第一计算节点,将所述具有逻辑关系的至少三个第一计算节点定义为第一并行节点组,包括:
判断所述至少三个第一计算节点是否包括具有逻辑关系的所述第一前节点和所述至少两个第一后节点;
响应于所述至少三个第一计算节点包括具有逻辑关系的所述第一前节点和所述至少两个第二后节点,将所述至少三个第一计算节点定义为所述第一并行节点组。


3.根据权利要求1所述的方法,其特征在于,在所述获取所述第一前节点的第一输入数据模型并生成所述第一前节点的第一输入张量之前,还包括:
根据所述至少两个第一后节点的数量确认所述第一前节点的引用次数。


4.根据权利要求1所述的方法,其特征在于,在所述获取所述第一前节点的第一输入数据模型并生成所述第一前节点的第一输入张量之前,还包括:
对所述第一并行节点组的所述第一前节点和所述至少两个第一后节点进行加锁。


5.根据权利要求3所述的方法,其特征在于,在所述根据所述第二输入数据模型和第二输入张量计算所述至少两个第一后节点的第二输出张量,得到所述第一并行节点组的第一计算结果之后,还包括:
判断每个第一后节点是否完成计算:
在每个第一后节点完成计算后,分别对所述第一前节点的引用次数减一;
判断所述第一前节点的引用次数是否为零;
在所述第一前节点的引用次数为零的情况下,删除片上存储的所述第一输出张量并将所述第一输出张量存储到片外存储器中。


6.根据权利要求5所述的方法,其特征在于,在所述第一前节点的引用次数为零的情况下,删除片上存储的所述第一输出张量并将所述第一输出张量存储到片外...

【专利技术属性】
技术研发人员:马恺熊超牛昕宇蔡权雄
申请(专利权)人:深圳鲲云信息科技有限公司
类型:发明
国别省市:广东;44

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

1