CANN/asc-devkit HCCL通信InitV2接口

发布时间:2026/7/17 10:24:06
CANN/asc-devkit HCCL通信InitV2接口 InitV2【免费下载链接】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 训练系列产品不支持功能说明HCCL客户端初始化接口。该接口默认在所有核上工作用户也可以在调用前通过GetBlockIdx指定其在某一个核上运行。函数原型__aicore__ inline void InitV2(GM_ADDR context, const void* initTiling)参数说明表1接口参数说明参数名输入/输出描述context输入通信上下文包含rankDimrankID等相关信息。通过框架提供的获取通信上下文的接口GetHcclContext获取context。initTiling输入通信域初始化Mc2InitTiling的地址。Mc2InitTiling在Host侧计算得出具体请参考表1 Mc2InitTiling参数说明由框架传递到Kernel函数中使用。返回值说明无约束说明本接口必须与SetCcTilingV2接口配合使用。调用本接口时必须使用标准C语法定义TilingData结构体的开发方式。调用本接口传入的initTiling参数不能使用Global Memory地址建议通过GET_TILING_DATA_WITH_STRUCT接口获取TilingData的栈地址。本接口不支持使用相同的context初始化多个HCCL对象。调用示例用户自定义TilingData结构体class UserCustomTilingData { AscendC::tiling::Mc2InitTiling initTiling; AscendC::tiling::Mc2CcTiling tiling; CustomTiling param; };在所有核上创建HCCL对象并调用InitV2接口初始化extern C __global__ __aicore__ void userKernel(GM_ADDR aGM, GM_ADDR workspaceGM, GM_ADDR tilingGM) { REGISTER_TILING_DEFAULT(UserCustomTilingData); GET_TILING_DATA_WITH_STRUCT(UserCustomTilingData, tilingData, tilingGM); GM_ADDR contextGM AscendC::GetHcclContext0(); Hccl hccl; hccl.InitV2(contextGM, tilingData); hccl.SetCcTilingV2(offsetof(UserCustomTilingData, tiling)); // 调用HCCL的Prepare、Commit、Wait、Finalize接口 }【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考