一种跨节点通信方法、装置、设备及可读存储介质制造方法及图纸

技术编号:30447590 阅读:15 留言:0更新日期:2021-10-24 18:40
本申请公开了一种跨节点通信方法、装置、设备及可读存储介质,该方法包括:从第一节点中选出至少2个第一GPU,从第二节点中选出与第一GPU数量相同的第二GPU;通过IB卡建立第一GPU与第二GPU间一一对应的通信链路;在通信链路中分别传输目标数据中的各个数据块;在第二节点中的每个GPU保存有目标数据的部分数据块后,对第二节点中的GPU进行数据收集处理,以使第二节点中的各个GPU都完整保存目标数据。由于,整个传输过程,在第一节点向第二节点进行数据传输时,仅需传递一份目标数据,且还采用并行传输,可以在节点配置的IB卡数量少于4个时,完成节点间高效的数据传输。完成节点间高效的数据传输。完成节点间高效的数据传输。

【技术实现步骤摘要】
一种跨节点通信方法、装置、设备及可读存储介质


[0001]本申请涉及通信
,特别是涉及一种跨节点通信方法、装置、设备及可读存储介质。

技术介绍

[0002]在对大规模深度学习模型进行训练的时候,由于受到GPU(Graphics Processing Unit,图形处理器)显存容量的限制,通常需要采取多种分布式并行策略混合的方式,才能够在将模型放到多个GPU中进行训练。通常采用的并行策略包括了数据并行,张量模型并行和流水线并行。
[0003]在使用流水线并行过程中,节点间通信的效率和带宽对模型训练的速度影响至关重要。可以采用8*200Gb的IB(InfiniBand,网络适配器,本文简称IB卡)互联的方案来解决这一问题。但是,在实际当中,很多超算中心和互联网企业的计算集群并不具备这一网络通信的条件,即,现在大部分的超算中心都没有实现所有的计算节点都配置8个IB卡,并且只有少部分的计算节点会配置2~4个IB卡。在使用单个IB进行通信的时候,跨NUMA(Non Uniform Memory Access,非一致内存访问)节点进行GPURDMA(一种GPU之间高效通信的应用程序接口)通信的效率会受到CPU和I/O Die的带宽影响。
[0004]综上所述,如何有效地解决跨NUMA节点进行GPURDMA通信的效率等问题,是目前本领域技术人员急需解决的技术问题。

技术实现思路

[0005]本申请的目的是提供一种跨节点通信方法、装置、设备及可读存储介质,能够有效提高跨NUMA节点进行GPURDMA通信的效率。
[0006]为解决上述技术问题,本申请提供如下技术方案:一种跨节点通信方法,包括:从第一节点中选出至少2个第一GPU,从第二节点中选出与所述第一GPU数量相同的第二GPU;其中,所述GPU为Graphics Processing Unit,图形处理器;通过IB卡建立所述第一GPU与所述第二GPU间一一对应的通信链路;其中,所述IB为InfiniBand,网络适配器;在所述通信链路中分别传输目标数据中的各个数据块;在所述第二节点中的每个GPU保存有所述目标数据的部分数据块后,对所述第二节点中的GPU进行数据收集处理,以使所述第二节点中的各个GPU都完整保存所述目标数据。
[0007]优选地,所述从第一节点中选出至少2个第一GPU,从第二节点中选出与所述第一GPU数量相同的第二GPU,包括:在所述第一节点需向所述第二节点传输所述目标数据的情况下,获取所述第一节点与所述第二节点间的IB卡挂载信息;
利用所述IB卡挂载信息,从所述第一节点中选出至少2个所述第一GPU,从所述第二节点中选出与所述第一GPU数量匹配的所述第二GPU。
[0008]优选地,利用所述IB卡挂载信息,从所述第一节点中选出至少2个所述第一GPU,从所述第二节点中选出与所述第一GPU数量匹配的所述第二GPU,包括:利用所述IB卡挂载信息中的GPU挂载分布信息,从所述第一节点和所述第二节点中查找与所述IB卡挂载在同一个总线开关的目标CPU;按照所述目标GPU所属节点,分别将所述目标GPU确定为所述第一GPU和所述第二GPU。
[0009]优选地,在所述通信链路中分别传输目标数据中的各个数据块,包括:若所述通信链路的数量为2,则在每一条所述通信链路中传输数据量为所述目标数据一半的数据块。
[0010]优选地,在所述通信链路中分别传输目标数据中的各个数据块之后,还包括;若所述通信链路的数量小于所述第二节点中GPU数量,则利用所述第二GPU,将所述数据块分散给所述第二节点的各个GPU。
[0011]优选地,利用所述第二GPU,将所述数据块分散给所述第二节点的各个GPU,包括:利用所述第二GPU,划分自身接收到的所述数据块,并将划分后的数据块分散给所述第二节点的各个GPU。
[0012]优选地,在所述第二节点中的各个GPU都完整保存所述目标数据之后,还包括:利用所述第二节点中的各个GPU和所述第二节点中的各个GPU,结合所述目标数据对模型并行训练。
[0013]一种跨节点通信装置,包括:GPU选择模块,用于从第一节点中选出至少2个第一GPU,从第二节点中选出与所述第一GPU数量相同的第二GPU;其中,所述GPU为Graphics Processing Unit,图形处理器;通信链路建立模块,用于通过IB卡建立所述第一GPU与所述第二GPU间一一对应的通信链路;其中,所述IB为InfiniBand,网络适配器;数据并行传输模块,用于在所述通信链路中分别传输目标数据中的各个数据块;数据收集模块,用于在所述第二节点中的每个GPU保存有所述目标数据的部分数据块后,对所述第二节点中的GPU进行数据收集处理,以使所述第二节点中的各个GPU都完整保存所述目标数据。
[0014]一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现上述跨节点通信方法的步骤。
[0015]一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述跨节点通信方法的步骤。
[0016]应用本申请实施例所提供的方法,从第一节点中选出至少2个第一GPU,从第二节点中选出与第一GPU数量相同的第二GPU;通过IB卡建立第一GPU与第二GPU间一一对应的通信链路;在通信链路中分别传输目标数据中的各个数据块;在第二节点中的每个GPU保存有目标数据的部分数据块后,对第二节点中的GPU进行数据收集处理,以使第二节点中的各个GPU都完整保存目标数据。
[0017]首先,从第一节点中选出至少2个第一GPU,从第二节点中选出数量相同的第二GPU,然后通过IB卡建立第一GPU与第二GPU之间一一对应的通信链路。然后,在通信链路中分别传输目标数据中的各个数据块。即,每一条通信链路中并不传输完整的目标数据,则是仅传输目标数据的一个数据块,即第一节点与第二节点之间传递目标数据时,有至少2个第一GPU在发送数据,至少2个第二GPU在接收数据,第一节点与第二节点间的数据传输总量与目标数据对应,在传输时,由于有至少2个通信链路在参与传输,可以加快数据传输效率。此外,在第二节点中的各个GPU都保存有目标数据的一部分数据块之后,仅需对第二节点中的GPU进行数据收集处理,即可使得第二节点中的各个GPU都完整保持该目标数据,即实现了将第一节点中的目标数据传输至第二节点中的各个GPU。由于,整个传输过程,在第一节点向第二节点进行数据传输时,仅需传递一份目标数据,且还采用并行传输,可以在节点配置的IB卡数量少于4个时,完成节点间高效的数据传输。
[0018]相应地,本申请实施例还提供了与上述跨节点通信方法相对应的跨节点通信装置、设备和可读存储介质,具有上述技术效果,在此不再赘述。
附图说明
[0019]为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种跨节点通信方法,其特征在于,包括:从第一节点中选出至少2个第一GPU,从第二节点中选出与所述第一GPU数量相同的第二GPU;其中,所述GPU为Graphics Processing Unit,图形处理器;通过IB卡建立所述第一GPU与所述第二GPU间一一对应的通信链路;其中,所述IB为InfiniBand,网络适配器;在所述通信链路中分别传输目标数据中的各个数据块;在所述第二节点中的每个GPU保存有所述目标数据的部分数据块后,对所述第二节点中的GPU进行数据收集处理,以使所述第二节点中的各个GPU都完整保存所述目标数据。2.根据权利要求1所述的跨节点通信方法,其特征在于,所述从第一节点中选出至少2个第一GPU,从第二节点中选出与所述第一GPU数量相同的第二GPU,包括:在所述第一节点需向所述第二节点传输所述目标数据的情况下,获取所述第一节点与所述第二节点间的IB卡挂载信息;利用所述IB卡挂载信息,从所述第一节点中选出至少2个所述第一GPU,从所述第二节点中选出与所述第一GPU数量匹配的所述第二GPU。3.根据权利要求2所述的跨节点通信方法,其特征在于,利用所述IB卡挂载信息,从所述第一节点中选出至少2个所述第一GPU,从所述第二节点中选出与所述第一GPU数量匹配的所述第二GPU,包括:利用所述IB卡挂载信息中的GPU挂载分布信息,从所述第一节点和所述第二节点中查找与所述IB卡挂载在同一个总线开关的目标CPU;按照所述目标GPU所属节点,分别将所述目标GPU确定为所述第一GPU和所述第二GPU。4.根据权利要求1所述的跨节点通信方法,其特征在于,在所述通信链路中分别传输目标数据中的各个数据块,包括:若所述通信链路的数量为2,则在每一条所述通信链路中传输数据量为所述目标数据一半的数据块。5.根据权利要求1所述的跨节点通信方法,其特征...

【专利技术属性】
技术研发人员:赵旭东
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1