华为集合通信库开源了!HCCL开源链接、架构、拓扑算法、常用接口

激动啊!我们华为HCCL终于开源了!

视频分享在这:

华为集合通信库开源了!HCCL开源链接、拓扑算法、常用接口_哔哩哔哩_bilibili

一、HCCL相关链接

源码位置(需注册华为账号才可下载)

cann-hccl: cann-hccl,是基于昇腾硬件的高性能集合通信库(Huawei Collective Communication Library,简称HCCL)。

HCCL主页

HCCL-昇腾社区

HCCL官方视频教程

昇腾社区-官网丨昇腾万里 让智能无所不及

HCCL文档

HCCL接口简介-集合通信接口-CANN商用版8.0.RC2开发文档-昇腾社区

HCCL性能测试工具

工具介绍-HCCL性能测试工具-训练推理开发工具-开发工具-CANN商用版8.0.RC2开发文档-昇腾社区

二、HCCL介绍

2.1 概述

华为集合通信库(Huawei Collective Communication Library,简称HCCL)是基于昇腾AI处理器的高性能集合通信库,提供单机多卡以及多机多卡间的数据并行、模型并行集合通信方案。

HCCL的软件架构如下图所示,分为"通信框架"、"通信算法"与"通信平台"三个模块,本源码仓中包含了其中紫色底纹所示的"通信框架 "与"通信算法"两个模块的源码。

  • 适配层,图引擎与单算子适配,进行通信切分寻优等操作。
  • 集合通信业务层,包括通信框架与通信算法两个模块:
    • 通信框架:负责通信域管理,通信算子的业务串联,协同通信算法模块完成算法选择,协同通信平台模块完成资源申请并实现集合通信任务的下发。
    • 通信算法:作为集合通信算法的承载模块,提供特定集合通信操作的资源计算,并根据通信域信息完成通信任务编排。
  • 集合通信平台层,提供NPU之上与集合通信关联的资源管理,并提供集合通信维测能力。

2.2 支持的拓扑算法

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

2.2.1 服务器内的Ring拓扑

如下图所示,可构建4个逻辑ring环:

左图的黄线表示PCIe,蓝线表示HCCS(High-speed Custom Communication System)是华为为其昇腾(Ascend)系列 AI 处理器设计的高速互连技术。

2.2.2 服务器间的Halving doubling

2.2.2 服务器内和间拓扑算组合

这里针对AllReduce集合通信

框内代表服务器内,框间代表服务器间。

三、HCCL常用接口

四、源码居然有一些中文注释

多少年源码里面没看到中文了,看的我快哭了!

相关推荐
江拥羡橙19 小时前
【目录-多选】鸿蒙HarmonyOS开发者基础
前端·ui·华为·typescript·harmonyos
爱笑的眼睛111 天前
HarmonyOS Stage 模型深度解析:构建现代化、高性能应用
华为·harmonyos
安卓开发者1 天前
鸿蒙NEXT自定义能力详解:从基础使用到高级技巧
华为·harmonyos
特立独行的猫a1 天前
HarmonyOS 鸿蒙系统自带的 SymbolGlyph 图标组件详解
华为·harmonyos·图标·symbolglyph
2501_919749031 天前
鸿蒙:使用EventHub实现多模块之间的通信
华为·harmonyos
2501_919749032 天前
鸿蒙:使用Emitter进行线程间通信
华为·harmonyos
SuperHeroWu72 天前
【HarmonyOS 6】仿AI唤起屏幕边缘流光特效
华为·harmonyos·特效·鸿蒙6.0·流光·ai唤起·屏幕边缘
特立独行的猫a2 天前
HarmonyOS应用开发之界面列表不刷新问题Bug排查记:从现象到解决完整记录
华为·bug·harmonyos·ui刷新
安卓开发者2 天前
鸿蒙Next的UI国际化与无障碍适老化实践:构建全球包容的数字世界
ui·华为·harmonyos
云天徽上2 天前
【数据可视化-106】华为2025上半年财报分析:用Python和Pyecharts打造炫酷可视化大屏
开发语言·python·华为·信息可视化·数据分析·pyecharts