hcomm:基于昇腾设备的通信基础库项目

HCOMM(Huawei Communication)是HCCL的通信基础库,提供通信域以及通信资源的管理能力。

分支11Tags7
文件最后提交记录最后更新时间
新增pr描述中必要的合入检查1 个月前
[build] delete unused build code1 天前
[fix]fix aicpu timeout issue10 小时前
build: upgrade C++ version to 1715 天前
fix:重复文件合并与迁移9 小时前
HcommChannelDrainOnThread1 天前
[feat]CCU的控制面代码和数据面代码从C++编程风格转为C编程风格,解决编译兼容和版本问题6 天前
update: update cmake files1 个月前
[feat]CCU的控制面代码和数据面代码从C++编程风格转为C编程风格,解决编译兼容和版本问题6 天前
clean code13 分钟前
[fix]AddCHK_RET3 小时前
[update] clang-format script2 个月前
[Build] 修改 .gitattributes 问题 [2/2]5 天前
[Build] 添加 .gitignore 和 .gitattributes5 天前
add pre-commit2 个月前
[build] delete unused build code1 天前
Distinguish zh and en folders under docs,modify links30 天前
init code6 个月前
规范化OAT.xml中许可证声明形式2 个月前
Feat:迁移independent_op部分文件&遗留问题修改5 天前
Distinguish zh and en folders under docs,modify links30 天前
update rdma-core version1 个月前
软件架构调整14 天前
fix:重复文件合并与迁移9 小时前
Feat:迁移independent_op部分文件&遗留问题修改5 天前
打开ut覆盖率14 天前
[Build] 修复 upgrade 问题29 天前

HCOMM

🔥Latest News

  • [2025/11/30] HCOMM项目开源。

🚀 概述

HCOMM(Huawei Communication)是HCCL的通信基础库,提供通信域以及通信资源的管理能力。

HCOMM提供了标准化通信编程接口,具备以下关键特性:

  • 支持昇腾设备上的多种通信引擎,充分发挥硬件能力。
  • 支持多种通信协议,包括PCIe、HCCS、RDMA等。
  • 通信平台与通信算子开发解耦,支持通信算子的独立开发、构建与部署。

hccl-architecture

HCOMM通信基础库采用分层解耦的设计思路,将通信能力划分为控制面和数据面两部分。

  • 控制面:提供拓扑信息查询与通信资源管理功能。

  • 数据面:提供本地操作、算子间同步、通信操作等数据搬运和计算功能。

    控制面提供通信资源,数据面提供操作资源的方法,所提供的通信编程接口可以让通信算子开发人员聚焦于业务创新,而无需关注芯片底层复杂的实现细节。

🔍 目录结构说明

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

├── src                                  # 源码目录
│   ├── base_comm                        # 基础通信层
│   │   ├── common                       # 基础通信层公共基础功能目录
│   │   ├── primitives                   # 基础通信原语
│   │   └── resources                    # 基础通信资源
│   ├── coll_communicator_mgr            # 集合通信域管理
│   │   ├── api_c_adpt                   # C接口适配
│   │   ├── common                       # 集合通信层公共基础功能目录
│   │   ├── communicator                 # 通信域
│   │   ├── dfx                          # 维测
│   │   ├── rank_graphs                  # 拓扑管理
│   │   └── resource_mgr                 # 资源管理
│   └── legacy                           # 历史版本兼容目录
│       ├── ascend910                    # A2&A3兼容代码
│       │   ├── algorithm                # 通信算法源码目录
│       │   ├── common                   # 公共基础功能目录
│       │   ├── framework                # 通信框架源码目录
│       │   ├── hccd                     # 提供进程间点对点通信能力
│       │   ├── platform                 # 通信平台源码目录
│       │   └── pub_inc                  # 平台接口头文件
│       └── ascend950                    # A5旧流程兼容代码
│           ├── common                   # 公共基础组件
│           ├── framework                # 框架核心实现
│           ├── include                  # 公共接口头文件
│           ├── interface                # 接口适配层
│           ├── local_build              # 本地构建工具
│           ├── service                  # 服务层
│           └── unified_platform         # 统一平台层
├── python                               # Python 包
├── include                              # 对外头文件
├── pkg_inc                              # 包间接口头文件
├── test                                 # 测试代码目录
│   ├── ut                               # 单元测试代码目录
│   └── st                               # 系统测试代码目录
├── docs                                 # 资料文档目录
├── examples                             # 样例代码目录
└── build.sh                             # 编译构建脚本

📝版本配套

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

⚡️ 快速开始

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

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

📖 学习教程

HCCL提供了使用指南、通信算子开发指南、技术文章、培训视频,详细可参见 HCCL 参考资料。 此外,HCCL还提供了QuickStart指南、常见FAQ等wiki,详细可参见 WIKI

📝 相关信息

项目介绍

HCOMM(Huawei Communication)是HCCL的通信基础库,提供通信域以及通信资源的管理能力。

定制我的领域