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

CANN/asc-devkit HCCL SetCcTilingV2接口

SetCcTilingV2

产品支持情况

产品

是否支持

Ascend 950PR/Ascend 950DT

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

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

Atlas 200I/500 A2 推理产品

x

Atlas 推理系列产品 AI Core

x

Atlas 推理系列产品 Vector Core

x

Atlas 训练系列产品

x

功能说明

用于设置HCCL客户端中某个通信算法配置的TilingData地址。

函数原型

__aicore__ inline int32_t SetCcTilingV2(uint64_t offset)

参数说明

表 1接口参数说明

参数名

输入/输出

描述

offset

输入

通信算法配置Mc2CcTiling参数地址相对于Mc2InitTiling起始地址的偏移。Mc2CcTiling在Host侧计算得出,具体请参考表2 Mc2CcTiling参数说明,由框架传递到Kernel函数中使用。

返回值说明

  • HCCL_SUCCESS,表示成功。
  • HCCL_FAILED,表示失败。

约束说明

  • 若调用本接口,必须保证InitV2在本接口前被调用。
  • Tiling参数相同的同一种通信算法在调用Prepare接口前,只需要调用一次本接口,请参考调用示例:类型不同、Tiling参数不同的通信。
  • 对于同一种通信算法,如果Tiling参数不同,重复调用本接口会覆盖之前的Tiling参数地址,因此需要在调用Prepare接口后再调用本接口设置新的Tiling参数。请参考调用示例:类型相同、Tiling参数不同的通信。
  • 若调用本接口,必须使用标准C++语法定义TilingData结构体的开发方式。

调用示例

  • 用户自定义TilingData结构体:

    class UserCustomTilingData { AscendC::tiling::Mc2InitTiling initTiling; AscendC::tiling::Mc2CcTiling allGatherTiling; AscendC::tiling::Mc2CcTiling allReduceTiling1; AscendC::tiling::Mc2CcTiling allReduceTiling2; CustomTiling param; };
  • 类型不同、Tiling参数不同的通信

    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); Hccl hccl; GM_ADDR contextGM = AscendC::GetHcclContext<0>(); hccl.InitV2(contextGM, &tilingData); // 在下发任务之前,通过SetCcTilingV2设置对应的tiling if (hccl.SetCcTilingV2(offsetof(UserCustomTilingData, allGatherTiling)) != HCCL_SUCCESS || hccl.SetCcTilingV2(offsetof(UserCustomTilingData, allReduceTiling1)) != HCCL_SUCCESS) { return; } const auto agHandleId = hccl.AllGather<true>(sendBuf, recvBuf, dataCount, HcclDataType::HCCL_DATA_TYPE_FP16); hccl.Wait(agHandleId); const auto arHandleId = hccl.AllReduce<true>(sendBuf, recvBuf, dataCount, HcclDataType::HCCL_DATA_TYPE_FP16, HcclReduceOp::HCCL_REDUCE_SUM); hccl.Wait(arHandleId); hccl.Finalize(); }
  • 类型相同、Tiling参数不同的通信

    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); Hccl hccl; GM_ADDR contextGM = AscendC::GetHcclContext<0>(); hccl.InitV2(contextGM, &tilingData); // 在下发通信任务之前,通过SetCcTilingV2设置对应的Tiling参数地址 if (hccl.SetCcTilingV2(offsetof(UserCustomTilingData, allReduceTiling1)) != HCCL_SUCCESS) { return; } const auto arHandleId1 = hccl.AllReduce<true>(sendBuf, recvBuf, dataCount, HcclDataType::HCCL_DATA_TYPE_FP16, HcclReduceOp::HCCL_REDUCE_SUM); hccl.Wait(arHandleId1); // 第二次AllReduce的Tiling参数与第一次不同,在第一次Prepare之后再调用SetCcTilingV2 if (hccl.SetCcTilingV2(offsetof(UserCustomTilingData, allReduceTiling2)) != HCCL_SUCCESS) { return; } const auto arHandleId2 = hccl.AllReduce<true>(sendBuf, recvBuf, dataCount, HcclDataType::HCCL_DATA_TYPE_FP16, HcclReduceOp::HCCL_REDUCE_SUM); hccl.Wait(arHandleId2); hccl.Finalize(); }

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

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

相关文章:

  • Fixie高级自定义:创建自己的测试发现和执行策略
  • 企业微信H5微应用:JS-SDK签名风暴防御与SPA路由状态机
  • CANN/asc-devkit TBuf Get方法文档
  • 齿轮360°环绕式全自动视觉检测系统介绍
  • las点云数据转3dtiles实现(c++)
  • 故障积累——RAM存储的
  • CANN/Ascend C GetBaseK API
  • 昇腾CANN/asc-devkit自定义TBufPool初始化
  • 【小程序计算机毕业设计案例】基于 SpringBoot 小程序的知识点考核答题系统的设计与实现 在线练习打卡系统(程序+文档+讲解+定制)
  • 计算机毕业设计之基于SpringBoot和Vue的大学生图书馆座位预约系统
  • 一站式Markdown浏览器插件:革命性文档阅读体验的终极解决方案
  • ChatGPT写代码正在淘汰“Ctrl+C/V工程师”?(2024 Stack Overflow开发者能力断层报告首发)
  • MDK4 IDS隐身技术:幽灵模式和分片攻击绕过安全检测的实战技巧
  • 终极指南:5分钟免费检测GPU内存稳定性,告别硬件故障
  • 从Offer拒信到加薪37%,ChatGPT谈判链路全拆解:含HR内部评分表映射逻辑
  • AMD Ryzen SMUDebugTool:免费开源硬件调优终极指南
  • 边缘 AI 推理框架(TensorRT/ONNX Runtime/OpenVINO)选哪个?
  • 朝鲜 AI 赋能网络攻击背景下韩国军方网络安全困境与全域防御体系研究
  • Kuzushiji-MNIST数据集详解:从MNIST到日本古典文学的完美替代
  • D2DX:终极免费解决方案!让《暗黑破坏神2》在现代PC上完美重生
  • 高效下载B站视频:Python工具助你轻松保存大会员4K内容
  • 2026年湖南NAD+抗衰胶囊怎么选不踩雷?5款科研级细胞营养品实测对比与精准选型指南 - 中国品牌企业推荐网
  • 2026年电线电缆挤出机、高速束丝机、吹水器设备铜芯线缆产线设备实测,5家源头厂商对照,线缆厂采购避坑指南 - 中国远见品牌企业资讯
  • 终极指南:Windows 10/11下PL-2303串口驱动完整解决方案
  • css三种导入方式
  • BiliBiliToolPro:一站式B站自动化管理终极解决方案
  • 解锁MobaXterm专业版:Python授权生成器深度解析与实战指南
  • 【技术解析】VRM4U插件VMC功能在UE5.5中的网络协议适配问题与解决方案框架
  • 昇腾C队列出队API文档
  • 5个关键技巧:解决VRM4U插件在UE5.5中的VMC数据接收问题