CN113900793B - 一种服务器集群及其深度学习的集合通信***和方法 - Google Patents
一种服务器集群及其深度学习的集合通信***和方法 Download PDFInfo
- Publication number
- CN113900793B CN113900793B CN202110866054.6A CN202110866054A CN113900793B CN 113900793 B CN113900793 B CN 113900793B CN 202110866054 A CN202110866054 A CN 202110866054A CN 113900793 B CN113900793 B CN 113900793B
- Authority
- CN
- China
- Prior art keywords
- fpga
- communication
- gpu
- reduction
- deep learning
- 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.)
- Active
Links
- 230000006854 communication Effects 0.000 title claims abstract description 88
- 238000004891 communication Methods 0.000 title claims abstract description 86
- 238000013135 deep learning Methods 0.000 title claims abstract description 38
- 238000000034 method Methods 0.000 title claims abstract description 32
- 230000009467 reduction Effects 0.000 claims abstract description 93
- 238000004364 calculation method Methods 0.000 description 7
- 238000012549 training Methods 0.000 description 7
- 230000001133 acceleration Effects 0.000 description 4
- 238000013136 deep learning model Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种深度学习的集合通信方法,应用于环形通信连接的N个FPGA中的任一FPGA中,N为不小于2的正整数,包括:从与自身连接的各个GPU中读取待处理数据块,并对各个待处理数据块进行归约操作,得到归约操作结果;基于自身得到的归约操作结果以及其他各个FPGA得到的归约操作结果,按照环形全局归约算法,得到全局归约结果;将全局归约结果分发至与自身连接的各个GPU中。应用本申请的方案,可以有效地对深度学习的集合通信进行加速。本申请还提供了一种服务器及其深度学习的集合通信***,具有相应技术效果。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种服务器集群及其深度学习的集合通信***和方法。
背景技术
深度学习的模型训练计算量非常大,目前广泛采用GPU(Graphics ProcessingUnit,图形处理器)进行加速训练。当模型规模大到单卡内存无法存放,或者计算耗时长到单卡处理无法忍受时,就需要使用单机多卡,甚至是多机多卡来进行加速模型的训练。此时,多个GPU之间高度依赖一种被称为All Reduce的集合通信操作,即全局归约操作。
集合通信是指多个通信单元按照某种固定的模式同时发送和接收数据,以此来完成特定数据交换的一种通信方式。在并行计算的应用中,大部分通信任务都可以归纳为若干种集合通信操作。其中的All Reduce集合通信操作可以参阅图1,例如在执行All Reduce之前,GPU0至GPU3上分别具有一组数据,标示为A至D,则在执行All Reduce之后,每个GPU上都有A+B+C+D,也就是将执行All Reduce之前的每个GPU上的数据的对应元素相加。当然,除了相加之外,其他场合中也可以有其他的具体运算类型,例如相乘。
随着利用GPU加速深度学习模型训练的不断发展,Ring-All Reduce算法得到了广泛的应用,这一算法是采用环形拓扑连接多个GPU,将数据切分为小块并在环内循环传递。具体的通信过程可参阅图2,整个通信过程可以视为图2左侧的一个Reduce-Scatter操作,以及图2右侧的一个All Gather操作。这样的优点是当通信的数据量足够大时,可以充分利用每条链路的发送和接收带宽。
但是,按照图2的方式实现All Reduce时,会占用GPU较多的计算资源,进而对GPU执行深度学习模型训练的其他计算任务造成影响。
综上所述,如何有效地对深度学习的集合通信进行加速,是目前本领域技术人员急需解决的技术问题。
发明内容
本发明的目的是提供一种服务器集群及其深度学习的集合通信***和方法,以有效地对深度学习的集合通信进行加速。
为解决上述技术问题,本发明提供如下技术方案:
一种深度学习的集合通信方法,应用于环形通信连接的N个FPGA中的任一FPGA中,N为不小于2的正整数,包括:
从与自身连接的各个GPU中读取待处理数据块,并对各个所述待处理数据块进行归约操作,得到归约操作结果;
基于自身得到的所述归约操作结果以及其他各个FPGA得到的归约操作结果,按照环形全局归约算法,得到全局归约结果;
将所述全局归约结果分发至与自身连接的各个GPU中。
优选的,每一个FPGA均与相同数量的GPU连接。
优选的,按照机内通信耗时和机外通信耗时平衡的原则,确定出与各个 FPGA连接的GPU数量。
优选的,所述按照机内通信耗时和机外通信耗时平衡的原则,确定出与各个FPGA连接的GPU数量,包括:
确定出使得最小的数值G,并将确定出的所述数值G作为确定出的与各个FPGA连接的GPU数量;
其中,每个服务器中包括1个FPGA,X表示服务器的数量,K表示单个所述待处理数据块的大小,G表示确定出的与各个FPGA连接的GPU数量,V1表示FPGA之间的网络带宽,V2表示机内总线带宽。
优选的,确定出的与各个FPGA连接的GPU数量为2。
优选的,所述从与自身连接的各个GPU中读取待处理数据块,包括:
通过直接内存访问单元从与自身连接的各个GPU中读取待处理数据块。
优选的,N个FPGA中均具有远程直接内存访问单元以进行N个FPGA的环形通信连接。
优选的,任一FPGA均按照流水线的方式执行所述深度学习的集合通信方法的各个步骤。
一种深度学习的集合通信***,应用于环形通信连接的N个FPGA中的任一FPGA中,N为不小于2的正整数,包括:
直接内存访问单元,用于从与自身连接的各个GPU中读取待处理数据块;
归约单元,用于对各个所述待处理数据块进行归约操作,得到归约操作结果;
远程直接内存访问单元;
全局归约单元,用于利用所述远程直接内存访问单元,基于自身得到的所述归约操作结果以及其他各个FPGA得到的归约操作结果,按照环形全局归约算法,得到全局归约结果;通过所述直接内存访问单元将所述全局归约结果分发至与自身连接的各个GPU中。
一种服务器集群,包括上述的深度学习的集合通信***。
申请人考虑到在实现All Reduce时,涉及到计算操作以及通信操作,因此传统方案中会占用GPU的计算资源。并且申请人考虑到,涉及到的计算操作对于GPU来说属于访存密集型操作,执行效率不高,因此,本申请通过设置环形通信连接的N个FPGA,来实现深度学习的集合通信的加速。具体的,任一FPGA 可以从与自身连接的各个GPU中读取待处理数据块,并对各个待处理数据块进行归约操作,得到归约操作结果,由于是通过FPGA得到归约操作结果,使得本申请的方案降低了对于GPU计算资源的占用,同时,由于是采用FPGA通过硬件逻辑电路,便可以得到归约操作结果,执行效率非常高。之后,FPGA会基于自身得到的归约操作结果以及其他各个FPGA得到的归约操作结果,按照环形全局归约算法,得到全局归约结果,之后再将全局归约结果分发至与自身连接的各个GPU中。也就是说,得到全局归约结果的操作也是由FPGA完成,降低了对于GPU计算资源的占用,且FPGA的执行效率也很高。由于利用FPGA 实现All Reduce,降低了对于GPU计算资源的占用,也就不会对GPU执行深度学习模型训练的其他计算任务造成影响,因此本申请的方案可以有效地对深度学习的集合通信进行加速。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为All Reduce集合通信操作的示意图;
图2为传统的Ring-All Reduce算法的执行示意图;
图3为本发明中一种深度学习的集合通信方法的实施流程图;
图4为本发明一种具体场合中的环形通信连接的N个FPGA的结构示意图;
图5为本发明一种具体场合中的FPGA的结构示意图。
具体实施方式
本发明的核心是提供一种深度学习的集合通信方法,可以有效地对深度学习的集合通信进行加速。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图3,图3为本发明中一种深度学习的集合通信方法的实施流程图,该深度学习的集合通信方法可以应用于环形通信连接的N个FPGA中的任一 FPGA中,N为不小于2的正整数,包括以下步骤:
步骤S301:从与自身连接的各个GPU中读取待处理数据块,并对各个待处理数据块进行归约操作,得到归约操作结果。
N个FPGA环形通信连接,N的具体取值可以根据实际需要进行设定和调整,例如图4中设置了4台服务器,每台服务中均设置了1个FPGA,即该种实施方式的N=4,图4中分别标示为FPGA-1,FPGA-2,FPGA-3以及FPGA-4。 N个FPGA进行环形通信连接时,通常可以基于以太网进行连接,当然,其他具体场合中可以根据需要设置其他的连接方式。
任一FPGA可以从与自身连接的各个GPU中读取待处理数据块,在图4的实施方式中,每一个FPGA均与2个GPU连接。此外需要说明的是,不同的FPGA 所连接的GPU的数量可以根据需要进行设定和调整,可以相同,也可以不同,但是在实际应用中,每一个FPGA通常均会与相同数量的GPU连接,从而有效地保障负载均衡,不容易出现个别FPGA由于负载较大而影响总体通信的情况。
任一FPGA从与自身连接的各个GPU中读取待处理数据块时,可参阅图5,通常可以通过直接内存访问单元501从与自身连接的各个GPU中读取待处理数据块,直接内存访问单元501即DMA(Direct Memory Access,直接内存访问) 单元,可以从与自身连接的各个GPU中读取待处理数据块。FPGA通常可以通过PCIE(Peripheral Component InterconnectExpress,高速串行计算机扩展总线标准)总线与各个GPU连接。
FPGA读取了与自身连接的各个GPU的待处理数据块之后,需要对读取的各个待处理数据块进行归约操作,即进行Reduce操作,从而得到归约操作结果。在实际应用中,可以由Reduce单元来进行Reduce操作,也即图5中的归约单元502。Reduce操作的具体内容可以根据需要进行设定,例如常见的是将读取的各个待处理数据块的相应位置的数据进行相加。
步骤S302:基于自身得到的归约操作结果以及其他各个FPGA得到的归约操作结果,按照环形全局归约算法,得到全局归约结果。
N个FPGA需要进行环形通信,从而能够基于每一个FPGA得到的归约操作结果,按照环形全局归约算法,得到全局归约结果。
在本发明的一种具体实施方式中,N个FPGA中均具有远程直接内存访问单元503以进行N个FPGA的环形通信连接,可参阅图5,FPGA中设置了远程直接内存访问单元503,即RDMA(Remote Direct Memory Access,远程直接内存访问)单元,使得该FPGA通过以太网能够实现与其他FPGA之间的数据接收以及发送。
全局归约结果的具体计算,则可以由FPGA中的全局归约单元504实现,即由AllReduce单元来实现,例如一种场合中,FPGA-1,FPGA-2,FPGA-3以及FPGA-4各自得到的归约操作结果依次表示为A,B,C,D,且该种场合中的 Reduce操作为求和,则按照环形全局归约算法,FPGA-1,FPGA-2,FPGA-3以及FPGA-4都可以得到相同的结果:A+B+C+D。
步骤S303:将全局归约结果分发至与自身连接的各个GPU中。
每一个FPGA得到了全局归约结果之后,便会将得到的全局归约结果分发至与自身连接的各个GPU中。具体的,可以由All Reduce单元将得到的全局归约结果通过DMA单元分发至与自身连接的各个GPU中,例如上文的例子中,各个FPGA均可以将A+B+C+D分发至与自身连接的各个GPU中。
本申请的图4和图5中,分别用1,2,3表示步骤S301,步骤S302以及步骤S303的操作。
在本发明的一种具体实施方式中,任一FPGA均按照流水线的方式执行深度学习的集合通信方法的各个步骤。
该种实施方式中,考虑到GPU的不同待处理数据块的集合通信操作完全独立,因此不同的待处理数据块之间可采用流水线方式处理,从而充分利用服务器内部的总线带宽以及服务器外部的FPGA之间的以太网带宽。
在本发明的一种具体实施方式中,可以按照机内通信耗时和机外通信耗时平衡的原则,确定出与各个FPGA连接的GPU数量。
如上文的描述,在实际应用中任一FPGA均可以按照流水线的方式执行深度学习的集合通信方法的各个步骤,从而充分利用服务器内部的总线带宽以及服务器外部的FPGA之间的以太网带宽,因此,理论上来说,流水线的各个阶段的处理耗时相同时,流水线的整体性能最高。可参阅表一,表示的是3个待处理数据块按照流水线方式的处理过程,这3个待处理数据块分别表示为 Chunk0,Chunk1以及Chunk2。
表一:
Chunk0 | GPU→FPGA Reduce | AllReduce | FPGA→GPU | ||
Chunk1 | GPU→FPGA Reduce | AllReduce | FPGA→GPU | ||
Chunk2 | GPU→FPGA Reduce | AllReduce | FPGA→GPU |
并且,FPGA执行Reduce计算的时间可以忽略不计,即步骤S302中计算得到归约操作结果,以及步骤S303中得到全局归约结果时涉及到计算操作,耗时可以忽略不计,因此,该种实施方式中,便可以按照机内通信耗时和机外通信耗时平衡的原则,确定出与各个FPGA连接的GPU数量,从而充分利用服务器内部的总线带宽以及服务器外部的FPGA之间的以太网带宽,保障流水线的整体性能。
进一步的,在本发明的一种具体实施方式中,按照机内通信耗时和机外通信耗时平衡的原则,确定出与各个FPGA连接的GPU数量,可以具体包括:
确定出使得最小的数值G,并将确定出的数值G作为确定出的与各个FPGA连接的GPU数量;
其中,每个服务器中包括1个FPGA,X表示服务器的数量,K表示单个待处理数据块的大小,G表示确定出的与各个FPGA连接的GPU数量,V1表示 FPGA之间的网络带宽,V2表示机内总线带宽。
该种实施方式中每台服务器中包括1个FPGA,从而可以确定出在执行步骤 S303的阶段,每台服务器的发送通信量和接收通信量均为而GPU和 FPGA之间的发送通信量和接收通信量均为GK。因此,结合FPGA之间的网络带宽V1,以及机内总线带宽V2,便可以确定出最合适的与各个FPGA连接的GPU 数量。此外,在实际应用中,为了便于计算,例如可以设定GPU的数量可选范围,例如设置为1至10,则只需要判断出1至10中使得最小的数值即可。
在一种具体场合中,GPU和FPGA之间的机内总线采用的PCIE 3.0x16,各个FPGA之间的采用的是100Gbps以太网,则可以确定出与各个FPGA连接的GPU数量为2,这也是实际应用中较为常用的一种实施方式。
申请人考虑到在实现All Reduce时,涉及到计算操作以及通信操作,因此传统方案中会占用GPU的计算资源。并且申请人考虑到,涉及到的计算操作对于GPU来说属于访存密集型操作,执行效率不高,因此,本申请通过设置环形通信连接的N个FPGA,来实现深度学习的集合通信的加速。具体的,任一FPGA 可以从与自身连接的各个GPU中读取待处理数据块,并对各个待处理数据块进行归约操作,得到归约操作结果,由于是通过FPGA得到归约操作结果,使得本申请的方案降低了对于GPU计算资源的占用,同时,由于是采用FPGA通过硬件逻辑电路,便可以得到归约操作结果,执行效率非常高。之后,FPGA会基于自身得到的归约操作结果以及其他各个FPGA得到的归约操作结果,按照环形全局归约算法,得到全局归约结果,之后再将全局归约结果分发至与自身连接的各个GPU中。也就是说,得到全局归约结果的操作也是由FPGA完成,降低了对于GPU计算资源的占用,且FPGA的执行效率也很高。由于利用FPGA 实现All Reduce,降低了对于GPU计算资源的占用,也就不会对GPU执行深度学习模型训练的其他计算任务造成影响,因此本申请的方案可以有效地对深度学习的集合通信进行加速。
相应于上面的方法实施例,本发明实施例还提供了一种深度学习的集合通信***,可以应用于环形通信连接的N个FPGA中的任一FPGA中,N为不小于2的正整数,可参阅图5,可以包括:
直接内存访问单元501,用于从与自身连接的各个GPU中读取待处理数据块;
归约单元502,用于对各个待处理数据块进行归约操作,得到归约操作结果;
远程直接内存访问单元503;
全局归约单元504,用于利用远程直接内存访问单元,基于自身得到的归约操作结果以及其他各个FPGA得到的归约操作结果,按照环形全局归约算法,得到全局归约结果;通过直接内存访问单元501将全局归约结果分发至与自身连接的各个GPU中。
在本发明的一种具体实施方式中,每一个FPGA均与相同数量的GPU连接。
在本发明的一种具体实施方式中,按照机内通信耗时和机外通信耗时平衡的原则,确定出与各个FPGA连接的GPU数量。
在本发明的一种具体实施方式中,按照机内通信耗时和机外通信耗时平衡的原则,确定出与各个FPGA连接的GPU数量,包括:
确定出使得最小的数值G,并将确定出的数值G作为确定出的与各个FPGA连接的GPU数量;
其中,每个服务器中包括1个FPGA,X表示服务器的数量,K表示单个待处理数据块的大小,G表示确定出的与各个FPGA连接的GPU数量,V1表示 FPGA之间的网络带宽,V2表示机内总线带宽。
在本发明的一种具体实施方式中,确定出的与各个FPGA连接的GPU数量为2。
在本发明的一种具体实施方式中,N个FPGA中均具有远程直接内存访问单元以进行N个FPGA的环形通信连接。
在本发明的一种具体实施方式中,任一FPGA均按照流水线的方式执行深度学习的集合通信方法的各个步骤。
相应于上面的方法和***实施例,本发明实施例还提供了一种服务器集群,包括上述任一实施例中的深度学习的集合通信***。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (8)
1.一种深度学习的集合通信方法,其特征在于,应用于环形通信连接的N个FPGA中的任一FPGA中,N为不小于2的正整数,包括:
从与自身连接的各个GPU中读取待处理数据块,并对各个所述待处理数据块进行归约操作,得到归约操作结果;
基于自身得到的所述归约操作结果以及其他各个FPGA得到的归约操作结果,按照环形全局归约算法,得到全局归约结果;
将所述全局归约结果分发至与自身连接的各个GPU中;
按照机内通信耗时和机外通信耗时平衡的原则,确定出与各个FPGA连接的GPU数量;
所述按照机内通信耗时和机外通信耗时平衡的原则,确定出与各个FPGA连接的GPU数量,包括:
确定出使得最小的数值G,并将确定出的所述数值G作为确定出的与各个FPGA连接的GPU数量;
其中,每个服务器中包括1个FPGA,X表示服务器的数量,K表示单个所述待处理数据块的大小,G表示确定出的与各个FPGA连接的GPU数量,V 1表示FPGA之间的网络带宽,V 2表示机内总线带宽。
2.根据权利要求1所述的深度学习的集合通信方法,其特征在于,每一个FPGA均与相同数量的GPU连接。
3.根据权利要求1所述的深度学习的集合通信方法,其特征在于,确定出的与各个FPGA连接的GPU数量为2。
4.根据权利要求1所述的深度学习的集合通信方法,其特征在于,所述从与自身连接的各个GPU中读取待处理数据块,包括:
通过直接内存访问单元从与自身连接的各个GPU中读取待处理数据块。
5.根据权利要求1所述的深度学习的集合通信方法,其特征在于,N个FPGA中均具有远程直接内存访问单元以进行N个FPGA的环形通信连接。
6.根据权利要求1至5任一项所述的深度学习的集合通信方法,其特征在于,任一FPGA均按照流水线的方式执行所述深度学习的集合通信方法的各个步骤。
7.一种深度学习的集合通信***,其特征在于,应用于环形通信连接的N个FPGA中的任一FPGA中,N为不小于2的正整数,包括:
直接内存访问单元,用于从与自身连接的各个GPU中读取待处理数据块;
归约单元,用于对各个所述待处理数据块进行归约操作,得到归约操作结果;
远程直接内存访问单元;
全局归约单元,用于利用所述远程直接内存访问单元,基于自身得到的所述归约操作结果以及其他各个FPGA得到的归约操作结果,按照环形全局归约算法,得到全局归约结果;通过所述直接内存访问单元将所述全局归约结果分发至与自身连接的各个GPU中;
所述深度学***衡的原则,确定出与各个FPGA连接的GPU数量;
所述按照机内通信耗时和机外通信耗时平衡的原则,确定出与各个FPGA连接的GPU数量,包括:
确定出使得最小的数值G,并将确定出的所述数值G作为确定出的与各个FPGA连接的GPU数量;
最小的数值G,并将确定出的所述数值G作为确定出的与各个FPGA连接的GPU数量;
其中,每个服务器中包括1个FPGA,X表示服务器的数量,K表示单个所述待处理数据块的大小,G表示确定出的与各个FPGA连接的GPU数量,V 1表示FPGA之间的网络带宽,V 2表示机内总线带宽。
8.一种服务器集群,其特征在于,包括如权利要求7所述的深度学习的集合通信***。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110866054.6A CN113900793B (zh) | 2021-07-29 | 2021-07-29 | 一种服务器集群及其深度学习的集合通信***和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110866054.6A CN113900793B (zh) | 2021-07-29 | 2021-07-29 | 一种服务器集群及其深度学习的集合通信***和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113900793A CN113900793A (zh) | 2022-01-07 |
CN113900793B true CN113900793B (zh) | 2023-11-10 |
Family
ID=79187646
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110866054.6A Active CN113900793B (zh) | 2021-07-29 | 2021-07-29 | 一种服务器集群及其深度学习的集合通信***和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113900793B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114445260B (zh) * | 2022-01-17 | 2024-01-12 | 苏州浪潮智能科技有限公司 | 基于fpga的分布式gpu通信的方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110399222A (zh) * | 2019-07-25 | 2019-11-01 | 北京邮电大学 | Gpu集群深度学习任务并行化方法、装置及电子设备 |
CN110618870A (zh) * | 2019-09-20 | 2019-12-27 | 广东浪潮大数据研究有限公司 | 一种深度学习训练任务的工作方法及装置 |
CN111488051A (zh) * | 2020-03-06 | 2020-08-04 | 复旦大学 | 基于cpu和fpga协同计算的云端深度神经网络优化方法 |
CN111782385A (zh) * | 2019-04-04 | 2020-10-16 | 伊姆西Ip控股有限责任公司 | 用于处理任务的方法、电子设备和计算机程序产品 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10909651B2 (en) * | 2018-08-08 | 2021-02-02 | International Business Machines Corporation | Graphic processor unit topology-aware all-reduce operation |
-
2021
- 2021-07-29 CN CN202110866054.6A patent/CN113900793B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111782385A (zh) * | 2019-04-04 | 2020-10-16 | 伊姆西Ip控股有限责任公司 | 用于处理任务的方法、电子设备和计算机程序产品 |
CN110399222A (zh) * | 2019-07-25 | 2019-11-01 | 北京邮电大学 | Gpu集群深度学习任务并行化方法、装置及电子设备 |
CN110618870A (zh) * | 2019-09-20 | 2019-12-27 | 广东浪潮大数据研究有限公司 | 一种深度学习训练任务的工作方法及装置 |
CN111488051A (zh) * | 2020-03-06 | 2020-08-04 | 复旦大学 | 基于cpu和fpga协同计算的云端深度神经网络优化方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113900793A (zh) | 2022-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111310893B (zh) | 一种用于执行神经网络运算的装置及方法 | |
CN102906726B (zh) | 协处理加速方法、装置及*** | |
CN103401939B (zh) | 一种采用混合调度策略的负载均衡方法 | |
CN107391432B (zh) | 一种异构并行计算装置及运算节点互联网络 | |
JP6505012B2 (ja) | アクセラレーテッド処理デバイス内でネットワークメッセージを処理するための方法およびシステム | |
CN111142938B (zh) | 一种异构芯片的任务处理方法、任务处理装置及电子设备 | |
CN113469373A (zh) | 基于联邦学习的模型训练方法、***、设备及存储介质 | |
US10402235B2 (en) | Fine-grain synchronization in data-parallel jobs for distributed machine learning | |
WO2023040197A1 (zh) | 一种跨节点通信方法、装置、设备及可读存储介质 | |
CN113900793B (zh) | 一种服务器集群及其深度学习的集合通信***和方法 | |
CN102334104B (zh) | 一种基于多核***的同步处理方法及装置 | |
CN112445735A (zh) | 一种联邦学习数据传输方法、计算机设备、***及存储介质 | |
CN111680791B (zh) | 适用于异构环境中的通信方法、装置、*** | |
CN111782626A (zh) | 任务分配方法和装置、分布式***、电子设备和介质 | |
CN115994040A (zh) | 计算***以及进行数据广播和数据归约的方法及存储介质 | |
CN114579311B (zh) | 执行分布式计算任务的方法、装置、设备以及存储介质 | |
CN115941488A (zh) | 一种网络切片配置方法及*** | |
CN115775199A (zh) | 数据处理方法和装置、电子设备和计算机可读存储介质 | |
CN115344526A (zh) | 一种数据流架构的硬件加速方法及装置 | |
CN115378937A (zh) | 任务的分布式并发方法、装置、设备和可读存储介质 | |
CN113886109A (zh) | 一种分层分布式并行计算的软件化雷达***及方法 | |
CN111415007B (zh) | 一种计算数据的方法、装置、板卡及计算机可读存储介质 | |
CN113419989B (zh) | 人工智能芯片及其操作方法 | |
CN113626368A (zh) | 一种人工智能的数据处理方法及相关装置 | |
CN112948207A (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 |