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

CANN/hcomm组调用结束接口

HcclGroupEnd

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

产品支持情况

  • Ascend 950PR/Ascend 950DT:不支持
  • Atlas A3 训练系列产品/Atlas A3 推理系列产品:支持
  • Atlas A2 训练系列产品/Atlas A2 推理系列产品:支持
  • Atlas 推理系列产品:不支持
  • Atlas 训练系列产品:不支持

[!NOTE]说明 针对Atlas A2 训练系列产品/Atlas A2 推理系列产品,仅支持Atlas 800T A2 训练服务器、Atlas 900 A2 PoD 集群基础单元、Atlas 200T A2 Box16 异构子框。

功能说明

结束一个组调用。

在HcclGroupStart和HcclGroupEnd之间调用多个函数,作为一个整体执行,组调用支持以下三种场景:

  • 单进程多线程管理NPU:支持调用通信域管理接口HcclCommInitClusterInfo、HcclCommInitClusterInfoConfig、HcclCommInitRootInfo、HcclCommInitRootInfoConfig 、HcclCommDestroy。
  • 合并多个集合通信。
  • 合并多个点对点通信。

函数原型

HcclResult HcclGroupEnd()

参数说明

返回值

HcclResult:接口成功返回HCCL_SUCCESS,其他失败。

约束说明

  • 仅支持在单机环境中使用组调用接口进行通信域管理。
  • 在一个组调用中,通信域管理、集合通信、点对点通信类型的接口不可混用。
  • 合并多个点对点通信时,不支持调用HcclBatchSendRecv接口。
  • HcclGroupStart必须和HcclGroupEnd配套使用,HcclGroupStart在前,HcclGroupEnd在后。

调用示例

  • 示例一:单进程多线程管理NPU

    HcclComm hccl_comms[devCount]; HcclGroupStart(); for(int i = 0; i < ndev; i++){ // aclrtSetDevice(i); HcclCommInitRootInfo(devCount, &rootInfo, global_rank, &(hccl_comms[i])); } HcclGroupEnd();
  • 示例二:合并多个集合通信操作

    HcclGroupStart(); HCCLCHECK(HcclReduceScatter(sendBuf, recvBuf, 1, HCCL_DATA_TYPE_FP32, HCCL_REDUCE_SUM, hcclComm, stream)); HCCLCHECK(HcclAllGather(recvBuf, sendBuf, 1, HCCL_DATA_TYPE_FP32, hcclComm, stream)); HcclGroupEnd();
  • 示例三:合并多个点对点通信

    HcclGroupStart(); for(int i = 0; i < devCount; i++){ HCCLCHECK(HcclSend(sendBuf[i], count, HCCL_DATA_TYPE_FP32, i, hcclComm, stream)); } for(int i = 0; i < devCount; i++){ HCCLCHECK(HcclRecv(recvBuf[i], count, HCCL_DATA_TYPE_FP32, i, hcclComm, stream)); } HcclGroupEnd();

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

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

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

相关文章:

  • 图形处理器——从显示到计算的蜕变
  • RAP中的派生变量%说明
  • Hello-Agents 写给想造 Agent 但又怕搞不明白的人
  • 多模态 RAG 不是把 embedding 换成 Qwen3-VL-Embedding 就行:从文本检索仓改到图文混合检索,真正先要改的是这 3 层
  • 我给 MariaDB 装了个“副驾驶”:DBLens for MariaDB
  • CANN/ops-cv算子列表
  • CANN/ops-cv三维上采样反向算子
  • CANN/pypto 填充操作
  • CANN设备运行时事实
  • 泰山派3M-RK3576-Ai应用-YOLO11-分割模型
  • CANN融合因果一维卷积算子
  • 华为通信/CANN hcomm查询拓扑信息
  • CANN/hcomm通信操作API文档
  • Graph-autofusion super_kernel极简示例
  • 如何快速掌握大气层系统:从新手到专家的终极指南
  • 构建基于Python与机器学习的智能客服
  • 如何高效准确实现表面测温
  • AFSIM 5.3.1在Visual Studio 2015下的详细配置步骤
  • CANN/SHMEM快速使用指南
  • 企业内如何通过Taotoken实现AI模型调用的统一审计与风控
  • ECU-TEST 测试报告自动上传(含代码实现)
  • CANN/ge C++ ES API兼容性设计
  • 可解释AI(XAI)实践指南:从模型透明到业务可信
  • 网盘直链下载助手:九大主流网盘免登录高速下载解决方案
  • 离海数百公里,他们为孩子造了一片“海”
  • 长期使用Taotoken服务在API延迟与稳定性方面的实际感受分享
  • cann/cannbot-skills Kernel定义内存分配
  • CANN/ops-cv NMS掩码算子
  • AI应用上线前必做的5项安全验证:基于SITS2026标准的CI/CD嵌入式检测清单
  • 2026年北京全屋高端定制现代简约风格公司测评与选型指南