news 2026/5/10 5:39:18

CANN/HCCL Pipeline流水线算法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN/HCCL Pipeline流水线算法

Pipeline

【免费下载链接】hccl集合通信库(Huawei Collective Communication Library,简称HCCL)是基于昇腾AI处理器的高性能集合通信库,为计算集群提供高性能、高可靠的通信方案项目地址: https://gitcode.com/cann/hccl

算法描述

为降低网络流量冲突,AI计算集群中常常采用分级网络架构,即Server内通过直接连接的电缆互联,Server间同号卡通过交换机互联。为适配这种网络拓扑结构,集合通信采用分级算法策略,即将全局通信操作分解为多个层级的局部操作,利用分阶段、分层递进的方法以提升通信效率。

以AllGather算子为例,Server间先执行一次同号卡间的AllGather操作,再在Server内执行一次AllGather操作,以完成整个集群的数据集合过程。然而,这种方式会造成一定程度上的链路带宽浪费:当Server间数据传输时,Server内的链路处于空闲状态,未能充分利用带宽资源。

为了解决这一问题,HCCL采用了细粒度的分级流水(pipeline)算法,通过挖掘通信算法本身的数据依赖,并且结合流水并行的方式,解决带宽利用率不足的问题。

以AllGather为例,Server间通信选择Ring算法,Server内通信选择FullMesh算法,如下图所示。

图 1AllGather算子Pipeline算法示意图

如上图所示,绿色数据块从Rank5被发送到Rank1上(此处仅描述部分Rank的行为,其它Rank对称处理),在接下来的步骤中,Rank1继续向Rank3发送绿色数据块(Ring算法标准步骤),同时Rank1也可以向同Server中的Rank0发送绿色数据块。继续执行Ring算法,每一步在进行Server间数据传输的同时,还会向Server内其它Rank传输上一步接收到的数据块,Ring算法的最后一个步骤结束后,仅需要在Server内再进行一次数据块的传输即可完成全部算法步骤(Rank初始数据块的Server内传输操作,可以隐藏在Ring算法的第一步中进行)。

在Rank0视角上,全部传输任务编排如下图所示,LocalCopy操作仅在输入输出内存不同的场景中执行,用于将数据块从输入内存移动到输出内存,在输入输出内存相同场景中,则无需执行该操作。

图 2AllGather算子Pipeline算法时序示意图

耗时计算

表1Pipeline算法中各操作计算耗时

操作耗时
ReduceScatter$max(\frac{s}{p} * \beta_{inter} + \alpha_{inter} , \frac{s}{p} * \beta_{intra} + \alpha_{intra}) * (p_{inter} -1) + \frac{s}{p} * \beta_{intra} + \alpha_{intra}$
AllGather$max(\frac{s}{p} * \beta_{inter} + \alpha_{inter} , \frac{s}{p} * \beta_{intra} + \alpha_{intra}) * (p_{inter} -1) + \frac{s}{p} * \beta_{intra} + \alpha_{intra}$
AllReduce$2*(max(\frac{s}{p} * \beta_{inter} + \alpha_{inter}, \frac{s}{p} * \beta_{intra}+\alpha_{intra} ) * (p_{inter}-1)+ \frac{s}{p} * \beta_{intra} + \alpha_{intra})$

其中p表示完成集合通信的总卡数,$p_{inter}$表示server数,s表示集合通信操作总数据量,$\beta_{inter}$表示server间链路每byte数据传输耗时,$\beta_{intra}$表示server内链路每byte数据传输耗时,$\alpha_{inter}$表示server间链路传输固定耗时,$\alpha_{intra}$表示server内链路传输固定耗时。

【免费下载链接】hccl集合通信库(Huawei Collective Communication Library,简称HCCL)是基于昇腾AI处理器的高性能集合通信库,为计算集群提供高性能、高可靠的通信方案项目地址: https://gitcode.com/cann/hccl

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/10 5:36:17

AI工作流编排框架aiflows:从消息驱动到DAG的智能应用开发实践

1. 项目概述:当AI工作流成为你的“智能副驾”最近在折腾AI应用开发的朋友,估计都绕不开一个核心痛点:想法很丰满,但落地很骨感。你构思了一个能自动分析周报、生成摘要、再根据摘要内容推荐下一步行动的多步AI应用,结果…

作者头像 李华
网站建设 2026/5/10 5:33:11

真正的地层断裂线

真正的地层断裂线维特根斯坦的思想底座是一对词:沉默与语言游戏。岐金兰的思想底座是另一对词:自感与痕迹论。这不是术语偏好问题。这对词的选择,决定了他们站在完全不同的哲学地基上。---维特根斯坦的地基:以语言为轴沉默是他前期…

作者头像 李华
网站建设 2026/5/10 5:30:45

异构计算性能优化:TALP框架原理与实践

1. 异构计算时代的性能度量革命:TALP框架深度解析在当今高性能计算(HPC)领域,CPU与GPU等加速器组成的异构架构已成为主流配置。TOP500榜单显示,全球前十的超算系统中90%都采用了加速器方案。这种架构变革带来了前所未有…

作者头像 李华
网站建设 2026/5/10 5:25:19

离线优先的Markdown编辑器:inkdown如何实现极致专注写作

1. 项目概述:一个为创作者而生的轻量级写作工具如果你和我一样,经常需要在不同设备间切换写作,或者对市面上那些功能臃肿、界面花哨的写作软件感到厌倦,那么你可能会对inkdown产生兴趣。这不是一个功能大而全的“巨无霸”&#xf…

作者头像 李华
网站建设 2026/5/10 5:16:41

CANN/AMCT Conv3dQAT算子

Conv3dQAT 【免费下载链接】amct AMCT是CANN提供的昇腾AI处理器亲和的模型压缩工具仓。 项目地址: https://gitcode.com/cann/amct 产品支持情况 产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品/Atlas A3 推理系列产品√Atlas A2 训练系列产品/Atlas A2…

作者头像 李华
网站建设 2026/5/10 5:15:42

智能体开发框架Kongming-Agent:模块化设计与多智能体协作实践

1. 项目概述与核心价值最近在开源社区里,一个名为KtKID/kongming-agent的项目引起了我的注意。乍一看这个名字,可能会联想到一些历史人物或者文化符号,但深入探究后,你会发现它其实是一个聚焦于智能体(Agent&#xff0…

作者头像 李华