hccl:基于昇腾AI处理器的高性能集合通信库项目

集合通信库(Huawei Collective Communication Library,简称HCCL)是基于昇腾AI处理器的高性能集合通信库,为计算集群提供高性能、高可靠的通信方案

分支2Tags0
文件最后提交记录最后更新时间
15 天前
23 天前
10 天前
11 天前
17 天前
19 天前
17 天前
10 天前
11 天前
23 天前
22 天前
29 天前
25 天前
10 天前
1 个月前
17 天前
7 个月前
29 天前
14 天前
14 天前
17 天前
14 天前
11 天前
11 天前
17 天前
1 个月前

HCCL

简体中文 | English

🔥Latest News

  • [2026/05] Ascend950 通信算子支持静态库,详见Issue#90Issue#105
  • [2026/04] Ascend950 通信算子支持图模式,详见PR#613, PR#340, PR#296, GE PR#1620
  • [2026/03] Ascend950 通信算子支持AIV&AICPU通信引擎(单算子)
  • [2025/11/30] HCCL项目正式开源。

🚀 概述

集合通信库(Huawei Collective Communication Library,简称HCCL)是基于昇腾AI处理器的高性能集合通信库,为计算集群提供高性能、高可靠的通信方案,具备以下核心功能:

  • 提供单机、多机环境中的高性能集合通信和点对点通信。
  • 支持AllReduce、Broadcast、AllGather、ReduceScatter、AlltoAll等集合通信原语。
  • 支持Ring、Mesh、Recursive Halving-Doubling(RHD)等通信算法。
  • 支持HCCS、RoCE、PCIe等高速通信链路。
  • 支持单算子和图模式两种执行模式。

HCCL是CANN的核心组件,对上支持多种AI框架,对下使能多款昇腾AI处理器之间的通信能力,其软件架构如下图所示:

hccl-architecture

HCCL包含HCCL集合通信库与HCOMM(Huawei Communication)通信基础库:

  • HCCL集合通信库:包含内置通信算子和扩展通信算子,提供对外的通信算子接口。
  • HCOMM通信基础库:采用分层解耦的设计思路,将通信能力划分为控制面和数据面两部分。

🔍 目录结构说明

本项目关键目录如下所示:

│── src                         # HCCL算子源码目录
|    ├── common                 # 通用逻辑,包括类型定义、日志模块等
|    └── ops                    # HCCL算子实现
|        ├── all_gather         # AllGather算子实现
|        ├── all_gather_v       # AllGatherV算子实现
|        ├── all_reduce         # AllReduce算子实现
|        ├── all_to_all_v       # AlltoAll、AlltoAllV、AlltoAllVC算子实现
|        ├── barrier            # Barrier算子实现
|        ├── batch_send_recv    # BatchSendRecv算子实现
|        ├── broadcast          # Broadcast算子实现
|        ├── interface_graph_mode # 图模式接口实现
|        ├── op_common          # 算子通用组件
|        │   ├── executor       # 执行器
|        │   ├── selector       # 算法选择器
|        │   ├── template       # 算法模板
|        │   └── topo           # 通信域拓扑信息获取和转换
|        ├── recv               # Recv算子实现
|        ├── reduce             # Reduce算子实现
|        ├── reduce_scatter     # ReduceScatter算子实现
|        ├── reduce_scatter_v   # ReduceScatterV算子实现
|        ├── scatter            # Scatter算子实现
|        └── send               # Send算子实现
├── include                     # HCCL对外头文件
├── test                        # 测试代码目录
|   ├── ut                      # 单元测试代码目录
|   └── st                      # 系统测试代码目录
├── docs                        # 资料文档目录
├── examples                    # 样例代码目录
└── build.sh                    # 编译构建脚本

📝版本配套

本项目源码会跟随CANN软件版本发布,关于CANN软件版本与本项目标签的对应关系请参阅release仓库中的相应版本说明。 请注意,为确保您的源码定制开发顺利进行,请选择配套的CANN版本与GitCode标签源码,使用master分支可能存在版本不匹配的风险。

⚡️ 快速开始

若您希望快速构建并体验本项目,请访问如下简易指南。

  • 源码构建:了解如何编译、安装本项目,并进行基础测试验证。
  • 样例执行:参照详细的示例代码与操作步骤指引,快速体验。

📖 学习教程

HCCL提供了使用指南、通信算子开发指南、技术文章、培训视频,详细可参见 HCCL 参考资料

📝 相关信息

项目介绍

集合通信库(Huawei Collective Communication Library,简称HCCL)是基于昇腾AI处理器的高性能集合通信库,为计算集群提供高性能、高可靠的通信方案

定制我的领域