[发明专利]用于多处理单元互连加速器系统的拓扑和算法在审
申请号: | 202210181586.0 | 申请日: | 2022-02-25 |
公开(公告)号: | CN115129655A | 公开(公告)日: | 2022-09-30 |
发明(设计)人: | 韩亮 | 申请(专利权)人: | 平头哥(上海)半导体技术有限公司 |
主分类号: | G06F15/173 | 分类号: | G06F15/173 |
代理公司: | 北京合智同创知识产权代理有限公司 11545 | 代理人: | 李杰;杨雷 |
地址: | 201208 上海市浦东新区中国(上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 处理 单元 互连 加速器 系统 拓扑 算法 | ||
本申请提供一种加速器系统,包括基于八个处理单元的一个或多个簇。基于八个处理单元的每个簇可以被组织成基于四个处理单元的两个分组。输入数据可以被划分为基于四组数据的一个或多个群组。每个处理单元可以被配置为将在两个双向通信链路上从同一分组中的其他处理单元接收到的对应各分组输入数据与相应处理单元的输入数据进行求和,生成相应一组中间数据。每个处理单元可以被配置为将在一双向通信链路上从另一分组中的对应处理单元接收到的对应一组中间数据与相应处理单元的中间数据进行求和,生成相应的数据和。每个处理单元可以被配置为在相应各组两个双向通信链路上向同一分组中的其他处理单元广播相应处理单元的数据和。
背景技术
当前的用于深度神经网络的并行/分布式训练方法包括在许多分布式计算节点上应用大量的同步小批量随机梯度下降(SDG)过程以探索基于数据并行的加速。参考图1,示出了用于在CPU主机上运行的包括伪代码的示例性小批量SDG过程。该过程受到阻碍整个并行加速过程的同步处理器件的影响。如图2所示,为了减少阻碍,需要建立加速器侧网络的带宽和/或降低主机加速器通信的频率。
目前已存在一些用于同步小批量SDG过程的算法。一些常见的计算节点间通信模式函数是Reduce函数和All_Reduce函数。现参考图3,其示出了Reduce函数。在Reduce函数中,多个节点310-340中的每个节点的一组值被传递到多个节点310-340中的给定节点310,给定节点310将各个值加在一起。一组值的总和由给定节点310存储。例如,第一节点310将从多个节点310-340接收到的值5、2、7和4加在一起,并且第一节点310存储得到的总和18。第一节点310还将值1、3、8和2加在一起并存储得到的总和14。现参考图4,示出了All-Reduction函数。在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向多个节点410-440广播一组总和值18和14,每个节点410-440存储一组总和值。如图所示,Reduce函数和All_Reduce函数同时应用于一批变量。
虽然Reduce函数和All_Reduce函数的直接拓扑实施方式是基于树的实施方式,但是基于环的实施方式能够实现更高的带宽利用率和效率。现参考图5,其示出了分布式计算系统上传统的基于环的All_Reduce实施方式。在All_Reduce函数中,分布式计算系统的N个节点中的每个节点与其两个对等节点通信2*(N-1)次。在通信期间,节点发送和接收一组值。在第一个N-1次迭代中,接收到的值加到相应节点的缓冲区中的值。在第二个N-1次迭代中,接收到的值替换相应节点的缓冲区中保存的值。例如,图5示出了三个节点(N=3)510,每个节点缓冲相应一组输入值。在第一次迭代520中,第一节点将第一组输入值传递到第二节点。第二节点将从第一节点接收到的一组输入值与第二节点保存的对应输入值相加。第一节点还从第三节点接收第三组输入值。第一节点将从第三节点接收到的一组输入值与第一节点保存的对应值相加。第二节点和第三节点还在第一次迭代520中传递和相加对应各组的输入值。在第二次迭代530中,第一节点将第三组输入值传递给第二节点,第二节点将第三组输入值与第二节点存储的对应值相加。第一节点还从第三节点接收第二组值,第一节点将第二组值与第一节点保存的对应值相加。在第二次迭代530中,第二节点和第三节点再次传递和相加对应各组值。在第三次迭代540中,第一节点将第二组总和值传递到第二节点,第二节点存储第二组总和值。第一节点还从第三节点接收第一组总和值,第一节点存储第一组总和值。第二节点和第三节点还传递和存储对应各组总和值。在第四次迭代550中,第一节点将第一组总和值传递到第二节点,第二节点存储第一组总和值。第一节点还从第三节点接收第三组总和值,第一节点存储该第三组总和值。第二节点和第三节点还传递和存储对应各组总和值。在第四次迭代之后,每个节点都有一组总和值。如果缓冲区足够大,则图5所示的基于环的All_Reduce函数能够优选地利用分布式计算系统的可用网络。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平头哥(上海)半导体技术有限公司,未经平头哥(上海)半导体技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210181586.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:燃烧装置
- 下一篇:核中的存储器带宽控制