尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Ascend C HCCL跨域同步接口

Ascend C HCCL跨域同步接口
📅 发布时间:2026/7/17 18:08:32

InterHcclGroupSync

【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C++标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit

产品支持情况

  • Ascend 950PR/Ascend 950DT:不支持
  • Atlas A3 训练系列产品/Atlas A3 推理系列产品:支持
  • Atlas A2 训练系列产品/Atlas A2 推理系列产品:不支持
  • Atlas 200I/500 A2 推理产品:不支持
  • Atlas 推理系列产品AI Core:不支持
  • Atlas 推理系列产品Vector Core:不支持
  • Atlas 训练系列产品:不支持

功能说明

用于等待一个跨通信域的通信任务完成。调用该接口后,本通信域后续下发的通信任务,均等待指定的srcGroupID通信域中的srcHandleID通信任务执行完成,才开始执行。

函数原型

__aicore__ inline void InterHcclGroupSync(int8_t srcGroupID, HcclHandle srcHandleID)

参数说明

参数名输入/输出描述
srcGroupID输入通信域编号,即后续通信任务所等待的通信任务所在的通信域编号。
srcHandleID输入通信任务,即后续通信任务所等待的通信任务的标识HcclHandle。

返回值说明

无

约束说明

  • 调用本接口前确保已调用过InitV2和SetCcTilingV2接口。
  • 本接口在AIC核或者AIV核上调用必须与对应的Prepare接口的调用核保持一致。
  • 一个通信域内,所有Prepare接口和InterHcclGroupSync接口的总调用次数不能超过63。

调用示例

本示例构造一个通信融合算子,该算子有1个输入xGM,2个输出alltoallGM和allgatherGM,另有tilingGM传入tiling数据。算子内有2个通信域,首先通信域0对输入进行AlltoAll通信,将结果输出至alltoallGM。当结果数据输出到alltoallGM完成后,通信域1将该结果alltoallGM作为AllGather通信的输入,并将通信结果输出至allgatherGM。

extern "C" __global__ __aicore__ void alltoall_allgather_custom(GM_ADDR xGM, GM_ADDR alltoallGM, GM_ADDR allgatherGM, GM_ADDR tilingGM) { REGISTER_TILING_DEFAULT( AlltoAllAllGatherCustomTilingData); // AlltoAllAllGatherCustomTilingData为对应算子头文件定义的结构体 GET_TILING_DATA_WITH_STRUCT(AlltoAllAllGatherCustomTilingData, tilingData, tilingGM); GM_ADDR contextGM0 = AscendC::GetHcclContext<0>(); GM_ADDR contextGM1 = AscendC::GetHcclContext<1>(); Hccl hccl0; Hccl hccl1; HcclDataType dtype = HcclDataType::HCCL_DATA_TYPE_FP16; const uint64_t dataCount = 10U; const uint64_t strideCount = 0U; if (AscendC::g_coreType == AIV) { // 仅使用AIV核进行通信 hccl0.InitV2(contextGM0, &tilingData); hccl1.InitV2(contextGM1, &tilingData); hccl0.SetCcTilingV2(offsetof(AlltoAllAllGatherCustomTilingData, alltoallTiling)); hccl1.SetCcTilingV2(offsetof(AlltoAllAllGatherCustomTilingData, allgatherTiling)); // 通信域0下发1个AlltoAll任务 auto group0_handle = hccl0.AlltoAll(xGM, alltoallGM, dataCount, dtype, strideCount); // 通信域1下发跨域依赖任务,保证通信域1后续的AllGather任务在通信域0的AlltoAll执行结束后,才开始执行 hccl1.InterHcclGroupSync(0, group0_handle); // 通信域1下发1个AllGather任务 auto group1_handle = hccl1.AllGather(alltoallGM, allgatherGM, dataCount, dtype, strideCount); hccl0.Commit(group0_handle); hccl1.Commit(group1_handle); hccl0.Wait(group0_handle); hccl1.Wait(group1_handle); AscendC::SyncAll<true>(); // 全AIV核同步,防止0核执行过快,提前调用hccl.Finalize()接口,导致其他核Wait卡死 hccl0.Finalize(); hccl1.Finalize(); } }

【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C++标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit

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

相关新闻

  • 百达翡丽的养护维修服务流程详解权威公示(2026年7月最新) - 百达翡丽官方售后中心
  • 浪琴中国官方售后服务中心|全新地址及售后电话权威信息公告(2026年7月最新) - 浪琴服务中心
  • AI大模型学习路径全解析:从快速上手的应用开发到深入研究的算法工程

最新新闻

  • STM32MP157开发板TF-A移植与安全启动实践
  • 统好AI数智一体化平台SRM模块功能说明
  • 颠覆传统睡眠软件只追求睡眠最长,编写程序,记录睡醒第一瞬间的念头,利用浅睡眠后的潜意识灵感,收集创新点子。
  • 计算机毕业设计之物流企业车辆信息管理系统
  • 7分钟高效瘦手臂训练:HIIT原理与家庭健身方案全解析
  • Nextcloud+MariaDB+Onlyoffice+HTTPS Docker一站式部署指南

日新闻

  • 佛山青少年训练营推荐:军博营地实力顶尖 - 秋山寄远
  • 如何快速上手PvZ2 Gardendless:免费Web版植物大战僵尸2完整指南
  • jiuwen-deepsearch核心功能详解:规划-检索-反思三合一智能工作流

周新闻

  • IX9104 PCIe5.0 高速交换芯片@ACP#完整规格 + 应用场景总结
  • Unity游戏集成Coze智能体:实现NPC智能对话与知识库联动
  • SAP EPIC 建行回单查询:从标准类CL_EPIC_EXAMPLE_CN_CCB_GHTD到Z类的5处关键修改

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号