CN114281521A - 优化深度学习异构资源通信效率方法、系统、设备及介质 - Google Patents
优化深度学习异构资源通信效率方法、系统、设备及介质 Download PDFInfo
- Publication number
- CN114281521A CN114281521A CN202111381383.8A CN202111381383A CN114281521A CN 114281521 A CN114281521 A CN 114281521A CN 202111381383 A CN202111381383 A CN 202111381383A CN 114281521 A CN114281521 A CN 114281521A
- Authority
- CN
- China
- Prior art keywords
- resources
- computing resources
- gpu
- heterogeneous
- fpga
- 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.)
- Granted
Links
- 230000006854 communication Effects 0.000 title claims abstract description 85
- 238000004891 communication Methods 0.000 title claims abstract description 83
- 238000013135 deep learning Methods 0.000 title claims abstract description 60
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000012549 training Methods 0.000 claims abstract description 38
- 238000012545 processing Methods 0.000 claims abstract description 21
- 238000004590 computer program Methods 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Stored Programmes (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种优化深度学习异构资源通信效率的方法、系统、设备及介质,方法包括:获取分布式集群中进行深度学习训练任务的异构资源;若异构资源为FPGA计算资源,则根据FPGA计算资源生成第一环形拓扑以使分布式集群中的FPGA计算资源进行通信;若异构资源为GPU计算资源,则根据GPU计算资源生成第二环形拓扑以使分布式集群中的GPU计算资源进行通信;若异构资源为FPGA计算资源和GPU计算资源组成的混合异构资源,则根据混合异构资源所在服务器节点生成第三环形拓扑以使分布式集群中的混合异构资源进行通信。本发明降低了深度学习计算资源间的通信时延,提高了深度学习计算资源间的通信效率和深度学习训练的训练速度。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种优化深度学习异构资源通信效率方法、系统、设备及介质。
背景技术
深度学习领域的计算量非常大,CPU的计算速度以无法满足,因此需要使用FPGA、GPU等作为加速设备。当数据规模巨大时需要多节点多卡进行计算,节点数量达到一定级别,通信就会成为整个计算系统的瓶颈,因此需要多个异构计算资源间使用集合通信操作来降低通信时延。
由于异构资源间尤其是跨节点的异构资源通信是集合通信的瓶颈,目前的深度学习训练方案对时延要求高,主要以同构系统为主;对时延不敏感的任务可以通过CPU将深度学习计算任务卸载到FPGA/GPU异构计算资源;也有异构系统为提高通信效率,将FPGA作为GPU的通信模块,不承担计算任务,但这会造成FPGA算力资源的浪费。
目前的深度学习训练方案,在计算资源固定的集合通信策略中,例如只支持CPU或GPU计算资源,无法最大化利用系统资源;在异构资源集合通信策略中,虽然加大了对系统资源的利用,但无法同时满足低时延的要求。例如:在分布式深度学习训练系统中采用GPU作为计算资源,当加入FPGA资源时,由于GPU-FPGA通信时延长,造成GPU资源空闲,不仅无法提升训练速度,甚至会降低整个训练系统的效率。
发明内容
有鉴于此,本发明提出了一种优化深度学习异构资源通信效率的方法、系统、设备及介质,解决了深度学习计算资源无法同时满足利用最大化与低时延的要求,实现了对集群资源的最大化利用,降低了深度学习计算资源间的通信时延低,提高了深度学习计算资源间的通信效率高,提高了深度学习训练的训练速度。
基于上述目的,本发明实施例的一方面提供了一种优化深度学习异构资源通信效率的方法,具体包括如下步骤:
获取分布式集群中进行深度学习训练任务的异构资源;
若是所述异构资源为FPGA计算资源,则根据所述FPGA计算资源生成第一环形拓扑以使所述分布式集群中的FPGA计算资源进行通信;
若是所述异构资源为GPU计算资源,则根据所述GPU计算资源生成第二环形拓扑以使所述分布式集群中的GPU计算资源进行通信;
若是所述异构资源为FPGA计算资源和GPU计算资源组成的混合异构资源,则根据所述混合异构资源所在服务器节点生成第三环形拓扑以使所述分布式集群中的混合异构资源进行通信。
在一些实施方式中,根据所述FPGA计算资源生成第一环形拓扑,包括:
将每一个所述FPGA计算资源依次连接起来以生成所述第一环形拓扑,并在所述FPGA计算资源之间通过RDMA进行通信。
在一些实施方式中,根据所述GPU计算资源生成第二环形拓扑,包括:
获取所述GPU计算资源所在的服务器节点,并将每个GPU服务器节点连接到对应的网络交换机;
将每个所述GPU服务器节点内的各个GPU计算资源均连接到所述网络交换机;
通过所述网络交换机将对应的GPU服务器节点中的每一个所述GPU计算资源依次连接起来,并将所述网络交换机依次连接起来以生成第二环形拓扑。
在一些实施方式中,根据所述混合异构资源所在服务器节点生成第三环形拓扑,包括:
在混合异构服务器节点内选取一个FPGA计算资源作为通信计算资源,并将其余的所述GPU计算资源和/或所述FPGA计算资源与所述通信计算资源进行连接;
将每个所述混合异构服务器节点的通信计算资源进行连接以生成基于所述混合异构服务器节点的第三环形拓扑。
在一些实施方式中,方法进一步包括:
通过GPU direct RDMA对所述GPU服务器节点间的GPU计算资源进行通信,并且通过GPU direct对所述GPU服务器节点内的GPU计算资源进行通信。
在一些实施方式中,方法进一步包括:
通过DMA使所述GPU计算资源与所述FPGA计算资源进行通信并且通过RDMA使所述FPGA计算资源之间进行通信。
本发明实施例的另一方面,还提供了一种优化深度学习异构资源通信效率的系统,包括:
获取模块,所述获取模块配置为获取分布式集群中进行深度学习训练任务的异构资源;
处理模块,所述处理模块配置为若是所述异构资源为FPGA计算资源,则根据所述FPGA计算资源生成第一环形拓扑以使所述分布式集群中的FPGA计算资源进行通信;
所述处理模块配置还为若是所述异构资源为GPU计算资源,则根据所述GPU计算资源生成第二环形拓扑以使所述分布式集群中的GPU计算资源进行通信;
所述处理模块还配置为若是所述异构资源为FPGA计算资源和GPU计算资源组成的混合异构资源,则根据所述混合异构资源所在服务器节点生成第三环形拓扑以使所述分布式集群中的混合异构资源进行通信。
在一些实施方式中,所述处理模块进一步配置为将每一个所述FPGA计算资源依次连接起来以生成所述第一环形拓扑,并在所述FPGA计算资源之间通过RDMA进行通信。
本发明实施例的又一方面,还提供了一种计算机设备,包括:至少一个处理器;以及存储器,所述存储器存储有可在所述处理器上运行的计算机程序,所述计算机程序由所述处理器执行时实现如上方法的步骤。
本发明实施例的再一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时实现如上方法步骤的计算机程序。
本发明至少具有以下有益技术效果:实现了对集群资源的最大化利用,降低了深度学习计算资源间的通信时延,提高了深度学习计算资源间的通信效率,提高了深度学习训练的训练速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本发明提供的优化深度学习异构资源通信效率的方法的一实施例的框图;
图2为本发明提供的基于FPGA计算资源生成的环形拓扑的一实施例的结构示意图;
图3为本发明提供的基于GPU计算资源生成的环形拓扑的一实施例的结构示意图;
图4为本发明提供的基于GPU计算资源和FPGA计算资源所在服务器节点生成的环形拓扑的一实施例的结构示意图;
图5为本发明提供的优化深度学习异构资源通信效率的系统的一实施例的示意图;
图6为本发明提供的计算机设备的一实施例的结构示意图;
图7为本发明提供的计算机可读存储介质的一实施例的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
基于上述目的,本发明实施例的第一个方面,提出了一种优化深度学习异构资源通信效率的方法的实施例。如图1所示,其包括如下步骤:
步骤S101、获取分布式集群中进行深度学习训练任务的异构资源;
步骤S103、若是所述异构资源为FPGA计算资源,则根据所述FPGA计算资源生成第一环形拓扑以使所述分布式集群中的FPGA计算资源进行通信;
步骤S105、若是所述异构资源为GPU计算资源,则根据所述GPU计算资源生成第二环形拓扑以使所述分布式集群中的GPU计算资源进行通信;
步骤S107、若是所述异构资源为FPGA计算资源和GPU计算资源组成的混合异构资源,则根据所述混合异构资源所在服务器节点生成第三环形拓扑以使所述分布式集群中的混合异构资源进行通信。
具体的,分布式集群为由进行深度学习训练任务的多个服务器组成的集群,集群中每一台服务器称之为节点。在一台服务器节点中,可以进行深度学习训练任务的计算资源包括CPU、GPU、FPGA等,但是由于深度学习训练的计算量非常大,而CPU的计算速度无法满足,因此在深度学习训练过程中一般会引入GPU、FPGA等异构计算资源对CPU进行加速,CPU接收到深度学习训练任务后会传送到GPU或FPGA计算资源进行计算,CPU本身不承担计算任务。
通过获取执行深度学习任务的计算资源的类型,根据计算资源的组成情况,分别生成对应的环形拓扑,基于环形拓扑使拓扑内的计算资源进行通信。
形成拓扑后具体的通信过程如下:
基于环形拓扑,将环形拓扑内进行集合通信的每一个计算资源内的自有信息平均分成预设份数,自有信息指执行深度学习训练任务生成的计算结果、中间结果等信息,计算资源可以根据自身包含的自有信息的大小、类别等进行分份;每一个计算资源都同时将接收并保存前一个计算资源的自有信息的一份并且发送自身的自有信息中的一份到下一个计算资源,直到每一个计算资源都得到了其它计算资源的自有信息,则一次基于环形拓扑的集合通信过程执行结束,各个计算资源对一次通信结束后包含的全部计算信息进行处理以进行下一次通信。
本发明的实施例,降低了深度学习计算资源间的通信时延,提高了深度学习计算资源间的通信效率,提高了深度学习训练的训练速度。
在一些实施方式中,根据所述FPGA计算资源生成第一环形拓扑,包括:
将每一个所述FPGA计算资源依次连接起来以生成所述第一环形拓扑,并在所述FPGA计算资源之间通过RDMA进行通信。
如图2所示,为本发明提供的基于FPGA计算资源生成的环形拓扑的一实施例的结构示意图。
当检测到深度学习训练任务中只有FPGA计算资源,则生成如图2所示的基于FPGA计算资源的环状拓扑图,在FPGA计算资源内运行reduc内核和RMDA内核,FPGA计算资源间使用RDMA以及RDMA的MPI通信库进行通信。
集合通信时,将每个FPGA计算资源内的自有信息,平均分成预设份数,比如4份,每一个FPGA计算资源都同时将接收前一个计算资源的自有信息的1/4份并且发送自身的自有信息中的1/4份到下一个计算资源,直到每一个计算资源都得到了其它计算资源的自有信息,则一个环形拓扑过程执行结束,FPGA计算资源对全部计算信息进行处理以进行下一次通信。
本实施例的集合通信,使FPGA计算资源之间可以跳过CPU的参与直接进行通信,并且通过将自身内的自有信息分份进行传输,降低了深度学习计算资源间的通信时延,提高了深度学习计算资源间的通信效率,提高了深度学习训练的训练速度。
在一些实施方式中,根据所述GPU计算资源生成第二环形拓扑,包括:
获取所述GPU计算资源所在的服务器节点,并将每个GPU服务器节点连接到对应的网络交换机;
将每个所述GPU服务器节点内的各个GPU计算资源均连接到所述网络交换机;
通过所述网络交换机将对应的GPU服务器节点中的每一个所述GPU计算资源依次连接起来,并将所述网络交换机依次连接起来以生成第二环形拓扑。
如图3所示,为本发明提供的基于GPU计算资源生成的环形拓扑的一实施例的结构示意图。
当检测到深度学习训练任务中只有GPU计算资源,则生成如图3所示的基于GPU计算资源的环状拓扑图,获取GPU计算资源所在的服务器节点,将每个GPU服务器节点连接到对应的网络交换机Switch,有几个服务节点就连接几个网络交换机;在每个GPU服务器节点内,将GPU服务器节点下的各个GPU计算资源均连接到对应的网络交换机以生成GPU服务器节点内部的通信拓扑,节点内的每个GPU计算资源都可以通过网络交换机获取到其他GPU计算资源内的信息;节点间的GPU计算资源,通过网络交换机将对应的GPU服务器节点中的每一个GPU计算资源依次连接起来,并将每个网络交换机依次连接起来以生成服务器节点间的环形拓扑。其中,服务器节点内GPU通过PCIE的GPUdirect进行通信,节点间的GPU通过GPUdirect rdma进行集合通信,并且集合通信使用nvidia的NCCL通信库。
集合通信时,将每个GPU计算资源内的自有信息,平均分成预设份数,比如4份,每一个GPU计算资源都同时将接收前一个计算资源的自有信息的1/4份并且发送自身的自有信息中的1/4份到下一个计算资源,直到每一个计算资源都得到了其它计算资源的自有信息,则一个环形拓扑过程执行结束,GPU计算资源对全部计算信息进行处理以进行下一次通信。
本实施例的集合通信,降低了深度学习计算资源间的通信时延,提高了深度学习计算资源间的通信效率,提高了深度学习训练的训练速度。
在一些实施方式中,根据所述混合异构资源所在服务器节点生成第三环形拓扑,包括:
在混合异构服务器节点内选取一个FPGA计算资源作为通信计算资源,并将其余的所述GPU计算资源和/或所述FPGA计算资源与所述通信计算资源进行连接;
将每个所述混合异构服务器节点的通信计算资源进行连接以生成基于所述混合异构服务器节点的第三环形拓扑。
如图4所示,为本发明提供的基于GPU计算资源和FPGA计算资源所在服务器节点生成的环形拓扑的一实施例的结构示意图。
当检测到深度学习训练任务中GPU计算资源和FPGA计算资源的混合资源时,则生成如图4所示的基于服务器节点的环状拓扑图,获取GPU计算资源和FPGA计算资源所在的服务器节点,服务器节点内可能包括多个GPU计算资源和FPGA计算资源,图4中为2个GPU计算资源和1个FPGA计算资源,实际应用场景不限于此,在每个服务器节点内随机选取一个FPGA计算资源作为通信计算资源,将其余的GPU计算资源和/或FPGA计算资源都连接到所述通信计算资源;将每个通信计算资源连接起来以生成基于所述混合异构服务器节点的第三环形拓扑。
集合通信时,FPGA通信资源在接收到所在服务器节点内的其余计算资源的信息后,将信息平均分成预设份数,例如4份,当前FPGA通信资源同时接收前一个FPGA通信资源的信息的1/4份并且发送自身的自有信息中的1/4份到下一个FPGA通信资源,直到每一个FPGA通信资源都得到了其它计算资源的自有信息,则一个环形拓扑过程执行结束,每一个FPGA通信资源对自身包含的全部计算信息进行处理以进行下一次通信。
在FPGA计算资源内运行reduc内核和RMDA内核,在服务器节点内的GPU计算资源和FPGA通信资源通过PICE的DMA进行通信,GPU和FPGA通过PICE的DMA进行通信,FPGA计算资源和FPGA通信资源通过RDMA进行通信,节点间的FPGA通信资源间使用RDMA以及RDMA的MPI通信库进行通信。
本实施例的集合通信,降低了深度学习计算资源间的通信时延,提高了深度学习计算资源间的通信效率,提高了深度学习训练的训练速度。
在一些实施方式中,方法进一步包括:
通过GPU direct RDMA对所述GPU服务器节点间的GPU计算资源进行通信,并且通过GPU direct对所述GPU服务器节点内的GPU计算资源进行通信。
在一些实施方式中,方法进一步包括:
通过DMA使所述GPU计算资源与所述FPGA计算资源进行通信并且通过RDMA使所述FPGA计算资源之间进行通信。
基于同一发明构思,根据本发明的另一个方面,如图5所示,本发明的实施例还提供了一种优化深度学习异构资源通信效率的系统,包括:
获取模块110,所述获取模块110配置为获取分布式集群中进行深度学习训练任务的异构资源;
处理模块120,所述处理模块120配置为若是所述异构资源为FPGA计算资源,则根据所述FPGA计算资源生成第一环形拓扑以使所述分布式集群中的FPGA计算资源进行通信;
所述处理模块120配置还为若是所述异构资源为GPU计算资源,则根据所述GPU计算资源生成第二环形拓扑以使所述分布式集群中的GPU计算资源进行通信;
所述处理模块120还配置为若是所述异构资源为FPGA计算资源和GPU计算资源组成的混合异构资源,则根据所述混合异构资源所在服务器节点生成第三环形拓扑以使所述分布式集群中的混合异构资源进行通信。
在一些实施方式中,所述处理模块进一步配置为将每一个所述FPGA计算资源依次连接起来以生成所述第一环形拓扑,并在所述FPGA计算资源之间通过RDMA进行通信。
基于同一发明构思,根据本发明的另一个方面,如图6所示,本发明的实施例还提供了一种计算机设备30,在该计算机设备30中包括处理器310以及存储器320,存储器320存储有可在处理器上运行的计算机程序321,处理器310执行程序时执行如下的方法的步骤:
获取分布式集群中进行深度学习训练任务的异构资源;
若是所述异构资源为FPGA计算资源,则根据所述FPGA计算资源生成第一环形拓扑以使所述分布式集群中的FPGA计算资源进行通信;
若是所述异构资源为GPU计算资源,则根据所述GPU计算资源生成第二环形拓扑以使所述分布式集群中的GPU计算资源进行通信;
若是所述异构资源为FPGA计算资源和GPU计算资源组成的混合异构资源,则根据所述混合异构资源所在服务器节点生成第三环形拓扑以使所述分布式集群中的混合异构资源进行通信。
在一些实施方式中,根据所述FPGA计算资源生成第一环形拓扑,包括:
将每一个所述FPGA计算资源依次连接起来以生成所述第一环形拓扑,并在所述FPGA计算资源之间通过RDMA进行通信。
在一些实施方式中,根据所述GPU计算资源生成第二环形拓扑,包括:
获取所述GPU计算资源所在的服务器节点,并将每个GPU服务器节点连接到对应的网络交换机;
将每个所述GPU服务器节点内的各个GPU计算资源均连接到所述网络交换机;
通过所述网络交换机将对应的GPU服务器节点中的每一个所述GPU计算资源依次连接起来,并将所述网络交换机依次连接起来以生成第二环形拓扑。
在一些实施方式中,根据所述混合异构资源所在服务器节点生成第三环形拓扑,包括:
在混合异构服务器节点内选取一个FPGA计算资源作为通信计算资源,并将其余的所述GPU计算资源和/或所述FPGA计算资源与所述通信计算资源进行连接;
将每个所述混合异构服务器节点的通信计算资源进行连接以生成基于所述混合异构服务器节点的第三环形拓扑。
在一些实施方式中,方法进一步包括:
通过GPU direct RDMA对所述GPU服务器节点间的GPU计算资源进行通信,并且通过GPU direct对所述GPU服务器节点内的GPU计算资源进行通信。
在一些实施方式中,方法进一步包括:
通过DMA使所述GPU计算资源与所述FPGA计算资源进行通信并且通过RDMA使所述FPGA计算资源之间进行通信。
基于同一发明构思,根据本发明的另一个方面,如图7所示,本发明的实施例还提供了一种计算机可读存储介质40,计算机可读存储介质40存储有被处理器执行时执行如下方法的计算机程序410:
获取分布式集群中进行深度学习训练任务的异构资源;
若是所述异构资源为FPGA计算资源,则根据所述FPGA计算资源生成第一环形拓扑以使所述分布式集群中的FPGA计算资源进行通信;
若是所述异构资源为GPU计算资源,则根据所述GPU计算资源生成第二环形拓扑以使所述分布式集群中的GPU计算资源进行通信;
若是所述异构资源为FPGA计算资源和GPU计算资源组成的混合异构资源,则根据所述混合异构资源所在服务器节点生成第三环形拓扑以使所述分布式集群中的混合异构资源进行通信。
在一些实施方式中,根据所述FPGA计算资源生成第一环形拓扑,包括:
将每一个所述FPGA计算资源依次连接起来以生成所述第一环形拓扑,并在所述FPGA计算资源之间通过RDMA进行通信。
在一些实施方式中,根据所述GPU计算资源生成第二环形拓扑,包括:
获取所述GPU计算资源所在的服务器节点,并将每个GPU服务器节点连接到对应的网络交换机;
将每个所述GPU服务器节点内的各个GPU计算资源均连接到所述网络交换机;
通过所述网络交换机将对应的GPU服务器节点中的每一个所述GPU计算资源依次连接起来,并将所述网络交换机依次连接起来以生成第二环形拓扑。
在一些实施方式中,根据所述混合异构资源所在服务器节点生成第三环形拓扑,包括:
在混合异构服务器节点内选取一个FPGA计算资源作为通信计算资源,并将其余的所述GPU计算资源和/或所述FPGA计算资源与所述通信计算资源进行连接;
将每个所述混合异构服务器节点的通信计算资源进行连接以生成基于所述混合异构服务器节点的第三环形拓扑。
在一些实施方式中,方法进一步包括:
通过GPU direct RDMA对所述GPU服务器节点间的GPU计算资源进行通信,并且通过GPU direct对所述GPU服务器节点内的GPU计算资源进行通信。
在一些实施方式中,方法进一步包括:
通过DMA使所述GPU计算资源与所述FPGA计算资源进行通信并且通过RDMA使所述FPGA计算资源之间进行通信。
最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,程序的存储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。上述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (10)
1.一种优化深度学习异构资源通信效率的方法,其特征在于,包括:
获取分布式集群中进行深度学习训练任务的异构资源;
若是所述异构资源为FPGA计算资源,则根据所述FPGA计算资源生成第一环形拓扑以使所述分布式集群中的FPGA计算资源进行通信;
若是所述异构资源为GPU计算资源,则根据所述GPU计算资源生成第二环形拓扑以使所述分布式集群中的GPU计算资源进行通信;
若是所述异构资源为FPGA计算资源和GPU计算资源组成的混合异构资源,则根据所述混合异构资源所在服务器节点生成第三环形拓扑以使所述分布式集群中的混合异构资源进行通信。
2.根据权利要求1所述的方法,其特征在于,根据所述FPGA计算资源生成第一环形拓扑,包括:
将每一个所述FPGA计算资源依次连接起来以生成所述第一环形拓扑,并在所述FPGA计算资源之间通过RDMA进行通信。
3.根据权利要求1所述的方法,其特征在于,根据所述GPU计算资源生成第二环形拓扑,包括:
获取所述GPU计算资源所在的服务器节点,并将每个GPU服务器节点连接到对应的网络交换机;
将每个所述GPU服务器节点内的各个GPU计算资源均连接到所述网络交换机;
通过所述网络交换机将对应的GPU服务器节点中的每一个所述GPU计算资源依次连接起来,并将所述网络交换机依次连接起来以生成第二环形拓扑。
4.根据权利要求1所述的方法,其特征在于,根据所述混合异构资源所在服务器节点生成第三环形拓扑,包括:
在混合异构服务器节点内选取一个FPGA计算资源作为通信计算资源,并将其余的所述GPU计算资源和/或所述FPGA计算资源与所述通信计算资源进行连接;
将每个所述混合异构服务器节点的通信计算资源进行连接以生成基于所述混合异构服务器节点的第三环形拓扑。
5.根据权利要求3所述的方法,其特征在于,进一步包括:
通过GPU direct RDMA对所述GPU服务器节点间的GPU计算资源进行通信,并且通过GPUdirect对所述GPU服务器节点内的GPU计算资源进行通信。
6.根据权利要求4所述的方法,其特征在于,进一步包括:
通过DMA使所述GPU计算资源与所述FPGA计算资源进行通信并且通过RDMA使所述FPGA计算资源之间进行通信。
7.一种优化深度学习异构资源通信效率的系统,其特征在于,包括:
获取模块,所述获取模块配置为获取分布式集群中进行深度学习训练任务的异构资源;
处理模块,所述处理模块配置为若是所述异构资源为FPGA计算资源,则根据所述FPGA计算资源生成第一环形拓扑以使所述分布式集群中的FPGA计算资源进行通信;
所述处理模块配置还为若是所述异构资源为GPU计算资源,则根据所述GPU计算资源生成第二环形拓扑以使所述分布式集群中的GPU计算资源进行通信;
所述处理模块还配置为若是所述异构资源为FPGA计算资源和GPU计算资源组成的混合异构资源,则根据所述混合异构资源所在服务器节点生成第三环形拓扑以使所述分布式集群中的混合异构资源进行通信。
8.根据权利要求7所述的系统,其特征在于,所述处理模块进一步配置为将每一个所述FPGA计算资源依次连接起来以生成所述第一环形拓扑,并在所述FPGA计算资源之间通过RDMA进行通信。
9.一种计算机设备,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时执行如权利要求1-6任意一项所述的方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时执行如权利要求1-6任意一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111381383.8A CN114281521B (zh) | 2021-11-21 | 2021-11-21 | 优化深度学习异构资源通信效率方法、系统、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111381383.8A CN114281521B (zh) | 2021-11-21 | 2021-11-21 | 优化深度学习异构资源通信效率方法、系统、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114281521A true CN114281521A (zh) | 2022-04-05 |
CN114281521B CN114281521B (zh) | 2024-01-09 |
Family
ID=80869659
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111381383.8A Active CN114281521B (zh) | 2021-11-21 | 2021-11-21 | 优化深度学习异构资源通信效率方法、系统、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114281521B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114884908A (zh) * | 2022-04-29 | 2022-08-09 | 浪潮电子信息产业股份有限公司 | 一种数据同步方法、装置、设备及存储介质 |
CN116069511A (zh) * | 2023-03-10 | 2023-05-05 | 苏州浪潮智能科技有限公司 | 用于深度学习的系统、处理数据的方法及电子设备 |
CN116155750A (zh) * | 2023-04-19 | 2023-05-23 | 之江实验室 | 深度学习作业资源放置方法、系统、设备和存储介质 |
CN116204327A (zh) * | 2023-05-06 | 2023-06-02 | 阿里巴巴(中国)有限公司 | 分布式系统通信调度方法及分布式机器学习系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190312772A1 (en) * | 2018-04-04 | 2019-10-10 | EMC IP Holding Company LLC | Topology-aware provisioning of hardware accelerator resources in a distributed environment |
CN111722923A (zh) * | 2020-05-29 | 2020-09-29 | 浪潮电子信息产业股份有限公司 | 一种异构资源的调用方法、装置和计算机可读存储介质 |
CN113609068A (zh) * | 2021-08-10 | 2021-11-05 | 中国人民解放军61646部队 | 一种基于混合异构处理器的云服务架构 |
-
2021
- 2021-11-21 CN CN202111381383.8A patent/CN114281521B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190312772A1 (en) * | 2018-04-04 | 2019-10-10 | EMC IP Holding Company LLC | Topology-aware provisioning of hardware accelerator resources in a distributed environment |
CN111722923A (zh) * | 2020-05-29 | 2020-09-29 | 浪潮电子信息产业股份有限公司 | 一种异构资源的调用方法、装置和计算机可读存储介质 |
CN113609068A (zh) * | 2021-08-10 | 2021-11-05 | 中国人民解放军61646部队 | 一种基于混合异构处理器的云服务架构 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114884908A (zh) * | 2022-04-29 | 2022-08-09 | 浪潮电子信息产业股份有限公司 | 一种数据同步方法、装置、设备及存储介质 |
WO2023207035A1 (zh) * | 2022-04-29 | 2023-11-02 | 浪潮电子信息产业股份有限公司 | 一种数据同步方法、装置、设备及存储介质 |
CN114884908B (zh) * | 2022-04-29 | 2024-02-13 | 浪潮电子信息产业股份有限公司 | 一种数据同步方法、装置、设备及存储介质 |
CN116069511A (zh) * | 2023-03-10 | 2023-05-05 | 苏州浪潮智能科技有限公司 | 用于深度学习的系统、处理数据的方法及电子设备 |
CN116155750A (zh) * | 2023-04-19 | 2023-05-23 | 之江实验室 | 深度学习作业资源放置方法、系统、设备和存储介质 |
CN116155750B (zh) * | 2023-04-19 | 2023-08-01 | 之江实验室 | 深度学习作业资源放置方法、系统、设备和存储介质 |
CN116204327A (zh) * | 2023-05-06 | 2023-06-02 | 阿里巴巴(中国)有限公司 | 分布式系统通信调度方法及分布式机器学习系统 |
CN116204327B (zh) * | 2023-05-06 | 2023-08-01 | 阿里巴巴(中国)有限公司 | 分布式系统通信调度方法及分布式机器学习系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114281521B (zh) | 2024-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114281521A (zh) | 优化深度学习异构资源通信效率方法、系统、设备及介质 | |
CN108614726B (zh) | 虚拟机创建方法及装置 | |
CN109993299A (zh) | 数据训练方法及装置、存储介质、电子装置 | |
CN111880911A (zh) | 一种任务负载调度方法、装置、设备及可读存储介质 | |
CN111062467B (zh) | 一种应用于ai异构编译器的自动切分神经网络子图方法 | |
CN110415160B (zh) | 一种gpu拓扑分区方法与装置 | |
CN106776455B (zh) | 一种单机多gpu通信的方法及装置 | |
CN111143039A (zh) | 一种虚拟机的调度方法、装置及计算机存储介质 | |
CN113535630A (zh) | 一种跨节点通信方法、装置、设备及可读存储介质 | |
CN109800078B (zh) | 一种任务处理方法、任务分发终端及任务执行终端 | |
CN114884908A (zh) | 一种数据同步方法、装置、设备及存储介质 | |
CN113535381A (zh) | 基于改进遗传算法的服务功能链映射方法、装置及设备 | |
CN105046382A (zh) | 异构系统并行随机森林优化方法和系统 | |
CN117271101A (zh) | 一种算子融合方法、装置、电子设备及存储介质 | |
CN114579311B (zh) | 执行分布式计算任务的方法、装置、设备以及存储介质 | |
CN113259482A (zh) | 多对多通信模式的优化方法、装置、存储介质及电子设备 | |
CN115658269B (zh) | 一种用于任务调度的异构计算终端 | |
CN115774800B (zh) | 基于numa架构的时变图处理方法、电子设备、介质 | |
CN117992223A (zh) | 模型训练方法、装置、电子设备及存储介质 | |
CN114860353A (zh) | 一种程序执行方法、系统、设备以及存储介质 | |
CN117808061A (zh) | 计算图的分割方法、装置、设备及存储介质 | |
CN114565098A (zh) | 一种量子计算模拟多节点任务调度方法及设备 | |
CN117707769A (zh) | 一种基于分组排序的仿真计算加速方法和相关装置 | |
CN117851028A (zh) | 一种分布式模型的训练方法及相关设备 | |
CN117194312A (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 |