Ring【免费下载链接】hccl集合通信库Huawei Collective Communication Library简称HCCL是基于昇腾AI处理器的高性能集合通信库为计算集群提供高性能、高可靠的通信方案项目地址: https://gitcode.com/cann/hccl算法描述Ring算法所有的NPU以环形相连每张卡都有左手卡与右手卡一个负责数据接收一个负责数据发送循环完成梯度累加再循环做参数同步。Ring算法适用于“星型”或“胖树”拓扑互联其特点是通过Ring环将所有NPU设备的单端口双工链路串联起来。Ring算法实现AllReduce算子的流程如下图所示每一步依次给下游发送对应的数据块沿着环转一圈之后完成ReduceScatter阶段再沿环转一圈完成AllGather阶段。Ring算法的时间复杂度是O(n-1)n为Ring环上的NPU设备个数。耗时计算整体思路为将所有参与的节点构成环每个节点只和左右节点通信如果节点数为p则需要的通信次数为p-1每次交换$\frac{1}{p}$的数据。表 1Ring算法中各操作计算耗时操作耗时Scatter$(p-1)(\alpha\frac np\beta)(p-1)\alpha\frac {p-1}p n\beta$Gather$(p-1)(\alpha\frac np\beta)(p-1)\alpha\frac {p-1}p n\beta$Broadcast$(p-1)(\alphan\beta)(p-1)\alpha (p-1)n\beta$Reduce$(p-1)(\alphan\beta n\gamma)(p-1)\alpha (p-1)n\beta (p-1)n\gamma$ReduceScatter$(p-1)(\alpha\frac{n}{p}\beta\frac{n}{p}\gamma)(p-1)\alpha\frac{p-1}{p}n\beta\frac{p-1}{p}n\gamma$AllGather$(p-1)(\alpha\frac{n}{p}\beta)(p-1)\alpha\frac{p-1}{p}n\beta$AllReduce实现为ReduceScatter Allgather:$2(p-1)\alpha2\frac{p-1}{p}n\beta\frac{p-1}{p}n\gamma$【免费下载链接】hccl集合通信库Huawei Collective Communication Library简称HCCL是基于昇腾AI处理器的高性能集合通信库为计算集群提供高性能、高可靠的通信方案项目地址: https://gitcode.com/cann/hccl创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考