激动啊!我们华为HCCL终于开源了!
视频分享在这:
华为集合通信库开源了!HCCL开源链接、拓扑算法、常用接口_哔哩哔哩_bilibili
源码位置(需注册华为账号才可下载)
cann-hccl: cann-hccl,是基于昇腾硬件的高性能集合通信库(Huawei Collective Communication Library,简称HCCL)。
HCCL主页
HCCL官方视频教程
HCCL文档
HCCL接口简介-集合通信接口-CANN商用版8.0.RC2开发文档-昇腾社区
HCCL性能测试工具
工具介绍-HCCL性能测试工具-训练推理开发工具-开发工具-CANN商用版8.0.RC2开发文档-昇腾社区
华为集合通信库(Huawei Collective Communication Library,简称HCCL)是基于昇腾AI处理器的高性能集合通信库,提供单机多卡以及多机多卡间的数据并行、模型并行集合通信方案。
HCCL的软件架构如下图所示,分为“通信框架”、“通信算法”与“通信平台”三个模块,本源码仓中包含了其中紫色底纹所示的“通信框架”与“通信算法”两个模块的源码。
HCCL源码仓提供了Mesh、Ring、Recursive Halving-Doubling(RHD)、PairWise四种拓扑算法的实现源码。
算法 | 描述 | 原理与耗时 |
---|---|---|
Mesh | Server内通信算法,是Mesh互联拓扑的基础算法。 | Mesh |
Ring | Server内和Server间通信算法,是基于环结构的并行调度算法。 Server间通信场景下,适用于小规模节点数(<32机,且非2幂)和中大规模通信数据量(>=256M)的场景。 | Ring |
RHD | Server间通信算法,递归二分和倍增算法,当通信域内Server个数为2的整数次幂时,此算法具有较好的亲和性。 | RHD |
Pairwise | Server间通信算法,比较算法,仅用于AllToAll与AlltoAllV算子,适用于数据量较小(<=1M * RankSize)的场景。 | PairWise |
Star | Server内通信算法,Star算法适用于有根节点的通信操作(如Broadcast、Reduce、Gather、Scatter等),利用星型拓扑或全连接拓扑一步完成通信操作。 | Star |
如下图所示,可构建4个逻辑ring环:
左图的黄线表示PCIe,蓝线表示HCCS(High-speed Custom Communication System)是华为为其昇腾(Ascend)系列 AI 处理器设计的高速互连技术。
这里针对AllReduce集合通信
框内代表服务器内,框间代表服务器间。
多少年源码里面没看到中文了,看的我快哭了!
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。