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

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

分支12Tags7

HCCL

🔥Latest News

  • [2026/05] Ascend950 通信算子支持静态库,详见Issue#90Issue#105
  • [2026/04] Ascend950 通信算子支持图模式,详见PR#613, 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算子实现
|        ├── batch_send_recv    # BatchSendRecv算子实现
|        ├── broadcast          # Broadcast算子实现
|        ├── 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处理器的高性能集合通信库,为计算集群提供高性能、高可靠的通信方案

定制我的领域