当前位置: 首页 > news >正文

CANN/hcomm通信域管理示例

通信域管理 - 每个进程管理一个 NPU 设备(基于 rank table 初始化通信域)

【免费下载链接】hcommHCOMM(Huawei Communication)是HCCL的通信基础库,提供通信域以及通信资源的管理能力。项目地址: https://gitcode.com/cann/hcomm

样例介绍

本样例展示如何使用HcclCommInitClusterInfoConfig()接口,根据rank_table.json配置文件初始化通信域,包含以下功能点:

  • 通过 MPI 拉起多个进程,在每个进程中读取rank_table.json文件,通过HcclCommInitClusterInfoConfig()接口初始化通信域。
  • 调用HcclAllReduce()算子,并打印结果。

目录结构

├── main.cc # 样例源文件 ├── Makefile # 编译/构建配置文件 ├── rank_table.json # 集群信息配置文件 └── one_device_per_process_rank_table # 编译生成的可执行文件

环境准备

环境要求

本样例支持以下产品,集群拓扑为单机 2 卡:

  • Ascend 950PR / Ascend 950DT

本样例支持以下产品,集群拓扑为单机 8 卡:

  • Atlas A3 训练系列产品 / Atlas A3 推理系列产品
  • Atlas A2 训练系列产品
  • Atlas 训练系列产品 / Atlas 推理系列产品

软件依赖

本样例运行依赖安装CANN ops算子包,详细安装步骤可参见 源码构建 中的 “安装CANN软件包” 章节。

安装 MPI

本样例依赖 MPI 软件在每个 Device 上拉起进程,所以执行本样例前需要安装 MPI,详细安装步骤可参见配套版本的 《HCCL 性能测试工具用户指南》 中的 “MPI安装与配置” 章节。

配置环境变量

# 设置 CANN 环境变量,以 root 用户默认安装路径为例 source /usr/local/Ascend/cann/set_env.sh # 设置 MPI 安装目录,请根据实际情况进行设置 export MPI_HOME=/usr/local/mpich

编译执行样例

在本样例代码目录下执行如下命令:

make make test N=${RANK_SIZE}

其中,RANK_SIZE为集群设备数量。 Ascend 950PR 、 Ascend 950DT 系列产品RANK_SIZE为 2,其他系列产品为 8

注意:可通过设置HCCL_OP_EXPANSION_MODE环境变量配置通信算子的展开模式,不同产品型号支持的范围可参考环境变量列表 中该环境变量的使用方法。

# 设置通信算子的展开模式为AI CPU通信引擎 export HCCL_OP_EXPANSION_MODE=AI_CPU

结果示例

每个 rank 的数据初始化为 0~7,经过 AllReduce 操作后,每个 rank 的结果是所有 rank 对应位置数据的和(8 个 rank 的数据相加)。

Found 8 NPU device(s) available rankId: 0, output: [ 0 8 16 24 32 40 48 56 ] rankId: 1, output: [ 0 8 16 24 32 40 48 56 ] rankId: 2, output: [ 0 8 16 24 32 40 48 56 ] rankId: 3, output: [ 0 8 16 24 32 40 48 56 ] rankId: 4, output: [ 0 8 16 24 32 40 48 56 ] rankId: 5, output: [ 0 8 16 24 32 40 48 56 ] rankId: 6, output: [ 0 8 16 24 32 40 48 56 ] rankId: 7, output: [ 0 8 16 24 32 40 48 56 ]

【免费下载链接】hcommHCOMM(Huawei Communication)是HCCL的通信基础库,提供通信域以及通信资源的管理能力。项目地址: https://gitcode.com/cann/hcomm

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.jsqmd.com/news/784449/

相关文章:

  • PMP可以个人报名吗? - 众智商学院官方
  • 2026优质水箱厂家推荐:不锈钢/玻璃钢/搪瓷/镀锌/BDF全品类材质采购指南 - 深度智识库
  • MedGemma-X应用体验:全中文交互设计,消除技术边界
  • AI编程时代的前端项目启动模板:Cursor-Starter深度解析与实践指南
  • 从德雷克方程到广播分布函数:地外文明信号探测的数学建模与聚合统计
  • 2026 云南省除四害权威榜单 五大有害生物防治机构公示 - 深度智识库
  • nli-MiniLM2-L6-H768在舆情分析中的实战:识别观点冲突与一致性
  • 蒙城悦洁家政服务经营部:安徽防水补漏推荐哪家 - LYL仔仔
  • CANN/opbase aclnn张量初始化接口
  • 策略模式:灵活切换算法的设计艺术,基于华为openEuler部署Dillinger个人文本编辑器。
  • AI赋能胶囊内镜:用轻量多帧模型与元学习破解医疗影像五大挑战
  • AI教育评估的三大伦理挑战:自动化偏见、公平性与环境责任
  • 美欧AI治理法案对比:从核心理念到企业合规实操全解析
  • 跨平台流媒体下载神器N_m3u8DL-RE:解密、多线程、格式转换一站式解决方案
  • 图神经网络与强化学习融合:复杂网络智能决策实战指南
  • 2026届论文严审元年,我扒了8款AI毕业论文工具,这款直接治好了我的精神内耗 - 逢君学术-AI论文写作
  • RPGMakerMZ 物品 经验丹 增加经验物品 如何制作
  • 压延铜箔供应商“靠谱”怎么量化?从材质证明到全检报告,索要这些文件 - 品牌排行榜
  • 2026年5月宁波贵金属黄金回收 专业靠谱门店top5 - 生活测评君
  • 基于verl框架和代码沙盒环境工具调用的代码强化学习实践
  • 买给父母按摩椅怎么选 看这篇就够了! - 速递信息
  • 从iPhone到安卓:手把手教你用iOS Nearby Interaction和Android UWB API开发跨平台定位App
  • MySQL DDL快速入门指南,金融分析师技能提升路径与学习资源指南。
  • CANN/pyasc向量乘法API文档
  • ChatGPT Gnome桌面扩展:Linux工作流中的AI助手深度集成指南
  • AI与金融稳定:博弈论视角下的风险机制与监管应对
  • 模型接力推理:用分布式调度解决本地大模型部署的算力瓶颈
  • 基于Next.js与多AI提供商构建多智能体对话系统:从架构到部署
  • 动画制作避坑指南!2026动画制作服务机构推荐排行 全流程定制/高效交付/版权无忧 - 极欧测评
  • 对比自行维护与使用Taotoken在API密钥管理与审计上的差异