用于多处理单元互连的计算系统及计算方法技术方案

技术编号:35254327 阅读:16 留言:0更新日期:2022-10-19 10:09
本公开提供了一种用于多处理单元互连的计算系统及计算方法,该计算系统包括:一个或多个并行处理单元组,所述并行处理单元组中的多个并行处理单元被组织成并行处理单元的子集,在同一子集中,每个并行处理单元通过两个通信链路可配置地耦合到两个最近的邻居的并行处理单元,并且每个并行处理单元通过一个通信链路可配置地耦合到最远的邻居并行处理单元,以及每个并行处理单元通过两个通信链路可配置地耦合到其他子集中的相应并行处理单元。本公开通过芯片组处理Reduce函数和All_Reduce函数等计算节点间通信模式的函数,从而提高了芯片间通信的带宽利用率和效率。提高了芯片间通信的带宽利用率和效率。提高了芯片间通信的带宽利用率和效率。

【技术实现步骤摘要】
用于多处理单元互连的计算系统及计算方法


[0001]本公开涉及芯片互连网络中的信息处理和通信领域,尤其涉及用于多处理单元互连的计算系统及计算方法。

技术介绍

[0002]目前,深度神经网络的分布式并行训练的方法包括将同步执行的大规模小批量(minibatch)随机梯度下降(Stochastic Gradient Descent,SDG)处理部署到多个分布式计算节点上,以探索基于数据并行的加速(acceleration)。参考图1,图1示出了在CPU主机上运行的示例性小批量随机梯度下降处理以及伪代码(Pseudo Code)。小批量随机梯度下降处理受制于同步部分,这造成整个并行加速处理的瓶颈。如图2所示,为了减少瓶颈,需要提高加速器侧网络的带宽和/或降低主机与加速器之间通信的频率。
[0003]小批量随机梯度下降处理有许多同步算法。一些常见的实现计算节点间通信模式的函数是Reduce函数和All_Reduce函数。现在参考图3,图3用于示意Reduce函数。在Reduce函数中,多个节点310

340中的每个节点的数值组被传递到多个节点310

340中的给定节点310,给定节点310将相应的数值相加在一起。给定节点310存储数值组的和。例如,节点310从多个节点310

340接收数值5、2、7和4,节点310将接收到的数值5、2、7和4相加在一起,并且节点310存储得到的和18。节点310还将数值1、3、8和2相加在一起,并存储得到的和14。现在参考图4,图4用于示意All_Reduce函数。在All_Reduce函数中,多个节点410

440中的每个节点的数值组被传递到多个节点410

440中的给定节点410,给定节点410将相应数值相加在一起。和值组由给定节点410广播到多个节点410

440,并且多个节点410

440存储该和值组。例如,节点410将从多个节点410

440接收的数值5、2、7和4相加在一起。节点410还将数值1、3、8和2相加在一起。节点410将和值组18和14广播至多个节点410

440,多个节点410

440中的每个节点存储和值租18和14。如上所示,Reduce函数和All_Reduce函数同时应用到一批变量上。
[0004]尽管Reduce函数和All_Reduce函数的简单拓扑实现是基于树的实现,但基于环的实现可以获得较高的带宽利用率和效率。现在参考图5,图5用于示意在分布式计算系统中实现的传统的基于环的All_Reduce函数。在All_Reduce函数中,分布式计算系统的N个节点中的每个节点与它的两个对等节点(peer node)通信2*(N

1)次。在通信期间,节点发送和接收数值组。在第一个(N

1)次迭代中,接收的数值与相应节点的缓冲器中的数值相加。在第二个(N

1)次迭代中,将保存在相应节点的缓冲器中的数值替换为接收到的数值。例如,图5的510中示出了三个节点(N=3),每个节点缓存各自的输入数值组。在第一次迭代520中,第一节点将第一输入数值组传递给第二节点。第二节点将从第一节点接收的输入数值组与第二节点保持的相应输入数值相加。第一节点还从第三节点接收第三输入数值组。第一节点将从第三节点接收的输入数值组与第一节点保持的相应数值相加。在第一次迭代520中,第二节点和第三节点还传递并将相应的输入数值组相加。在第二次迭代530中,第一节点将第三输入数值组传递给第二节点,第二节点将第三输入数值组和由第二节点保持的
相应数值相加。第一节点还从第三节点接收第二数值组,第一节点将第二数值组与由第一节点保持的相应数值相加。在第二次迭代530中,第二节点和第三节点再次传递并将相应的数值组相加。在第三次迭代540中,第一节点将第二和值组传递给第二节点,第二节点存储该第二和值组。第一节点还从第三节点接收第一和值组,由第一节点存储该第一和值组。第二节点和第三节点还传递并存储相应的和值组。在第四次迭代550中,第一节点将第一和值组传递给第二节点,第二节点存储该第一和值组。第一节点还从第三节点接收第三和值组,第一节点存储第三和值组。第二节点和第三节点还传递并存储相应的和值组。第四次迭代之后,每个节点都有和值组。如果缓冲器足够大,则图5中所示的基于环的All_Reduce函数可以最优地利用分布式计算系统的可用网络。
[0005]然而,需要改进芯片到芯片的高速串行/反序列化(serial/deserialization,SerDes)互连,以便用于计算All_Reduce函数的这种分布式系统可以在芯片组(cluster)内实现,而不是在通过较慢的以太网、无限带宽(infiniband)或类似通信链路连接的分布式计算机上实现。

技术实现思路

[0006]有鉴于此,本公开实施例提供用于多处理单元互连的计算系统及计算方法。
[0007]在一个实施例中,计算系统可以包括一个或多个并行处理单元(parallel processing unit,PPU)组。并行处理单元组中的多个并行处理单元可以被组织成并行处理单元的子集。在同一子集中,每个并行处理单元可以通过两个通信链路可配置地耦合到两个最近的邻居并行处理单元,并且每个并行处理单元可以通过一个通信链路可配置地耦合到最远的邻居并行处理单元。此外,每个并行处理单元可以通过两个通信链路可配置地耦合到其他子集中的相应并行处理单元。
[0008]在另一实施例中,计算方法可以包括基于指定计算参数,将并行处理单元组的通信链路配置成包括相应的多个通信环的一个或多个计算组。一个或多个计算组可以使用并行通信环算法在输入数据上计算函数。函数可以是,但不限于是,Reduce函数或All_Reduce函数。
[0009]通过上述方案,实现在芯片集群内计算Reduce函数和All_Reduce函数等计算节点间通信模式函数,从而提高了芯片间通信的带宽利用率和效率。
[0010]为了以简化的形式引入概念的选择,提供了本
技术实现思路
部分,这些概念在下面的具体实施例部分中进一步描述。本
技术实现思路
部分既不是旨在标识所要求保护的主题的关键特征或基本特征,也不是旨在用于限制所要求保护的主题的范围。
附图说明
[0011]在附图中是以示例的方式而不是以限制的方式示出了本公开的实施例,其中相同的参考编号表示相似的元件,其中:
[0012]图1示出了根据传统技术的示例性的小批量随机梯度下降处理;
[0013]图2示出了根据传统技术的另一示例性的小批量随机梯度下降处理;
[0014]图3示出了根据传统技术的Reduce函数的计算过程;
[0015]图4示出了根据传统技术的All_Reduce函数的计算过程;
[0016]图5示出了根据传统技术的环式All_Redu本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种计算系统,包括:一个或多个并行处理单元组,所述并行处理单元组中的多个并行处理单元被组织成一个或多个并行处理单元的子集,在同一子集中,每个并行处理单元通过两个通信链路可配置地耦合到两个最近的邻居并行处理单元,并且每个并行处理单元通过一个通信链路可配置地耦合到最远的邻居并行处理单元,以及每个并行处理单元通过两个通信链路可配置地耦合到其他子集中的相应并行处理单元;其中,所述通信链路包括双向通信链路。2.根据权利要求1所述的计算系统,其中,一给定并行处理单元组的通信链路是基于指定计算参数配置成一个或多个计算组,所述计算组包括相应的多个通信环。3.根据权利要求2所述的计算系统,其中,所述一个或多个计算组中的每个计算组被配置为使用并行环Reduce或All_Reduce算法对相应的输入数据计算相应的Reduce或All_Reduce函数。4.根据权利要求2所述的计算系统,其中,所述指定计算参数包括给定计算组的并行处理单元的数量和计算处理带宽的量。5.根据权利要求1所述的计算系统,其中,每个并行处理单元组包括八个并行处理单元,其中所述并行处理单元组中的八个并行处理单元被组织在两个子集中,每个子集包括四个并行处理单元,在同一子集中,每个并行处理单元通过两个通信链路可配置地耦合到两个最近的邻居并行处理单元,并且每个并行处理单元通过一个通信链路可配置地耦合到最远的邻居并行处理单元,以及每个并行处理单元通过两个通信链路可配置地耦合到其他子集中的相应并行处理单元。6.根据权利要求5所述的计算系统,其中,一给定并行处理单元组的八个并行处理单元可以以下其中一种方式配置:被配置成一个计算组,通过三个通信环将所述给定并行处理单元组的八个并行处理单元耦合在一起;被配置成两个计算组,每个计算组包括四个并行处理单元,并且通过两个通信环将每个计算组的四个并行处理单元耦合在一起;被配置成四个计算组,所述计算组包括两个并行处理单元,并且通过一个通信环将每个计算组的两个并行处理单元耦合在一起;被配置成一个第一计算组和两个第二计算组,所述第一计算组包括...

【专利技术属性】
技术研发人员:韩亮
申请(专利权)人:平头哥上海半导体技术有限公司
类型:发明
国别省市:

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

1