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

CANN/asc-devkit TILING_KEY判断API

TILING_KEY_IS

产品支持情况

产品

是否支持

Ascend 950PR/Ascend 950DT

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

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

Atlas 200I/500 A2 推理产品

Atlas 推理系列产品AI Core

Atlas 推理系列产品Vector Core

Atlas 训练系列产品

功能说明

在核函数中判断本次执行时的tiling_key是否等于host侧运行时设置的某个key,从而标识tiling_key==key的一条kernel分支。

函数原型

TILING_KEY_IS(key)

参数说明

参数

输入/输出

说明

key

输入

key表示某个核函数的分支,必须是非负整数。

约束说明

  • TILING_KEY_IS运用于if和else if分支,不支持else分支,即用TILING_KEY_IS函数来表征N个分支,必须用N个TILING_KEY_IS(key)来分别表示。
  • 暂不支持Kernel直调工程。

调用示例

extern "C" __global__ __aicore__ void add_custom(__gm__ uint8_t *x, __gm__ uint8_t *y, __gm__ uint8_t *z, __gm__ uint8_t *workspace, __gm__ uint8_t *tiling) { GET_TILING_DATA(tilingData, tiling); if (workspace == nullptr) { return; } KernelAdd op; op.Init(x, y, z, tilingData.numBlocks, tilingData.totalLength, tilingData.tileNum); // 当TilingKey为1时,执行Process1;为2时,执行Process2;为3时,执行Process3 if (TILING_KEY_IS(1)) { op.Process1(); } else if (TILING_KEY_IS(2)) { op.Process2(); } else if (TILING_KEY_IS(3)) { op.Process3(); } // 其他代码逻辑 ... // 此处示例当TilingKey为3时,会执行ProcessOther if (TILING_KEY_IS(3)) { op.ProcessOther(); } }

配套的host侧tiling函数示例(伪代码):

ge::graphStatus TilingFunc(gert::TilingContext* context) { // 其他代码逻辑 ... if (context->GetInputShape(0) > 10) { context->SetTilingKey(1); } else if (some condition) { context->SetTilingKey(2); } else if (some condition) { context->SetTilingKey(3); } }

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

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

相关文章:

  • 告别字幕制作烦恼:Subtitle Edit免费开源字幕编辑器终极指南
  • 计算机毕业设计之jsp熙迪网上购买系统
  • 3步掌握k-form-design:可视化表单设计快速上手指南
  • 如何优化GLM-5.2-colibri-int4性能:NVMe存储与内存管理技巧
  • 超越生成:下一代智能标书系统的核心是在线协同与AI打磨
  • HiveWE:魔兽争霸III现代化地图编辑器完全指南
  • OpenProject开源项目管理软件:企业级项目协作的完整解决方案
  • STM32实现BLDC与PMSM的FOC控制技术解析
  • 卡地亚官方正规售后维修网络|最新网点信息官网权威认证(2026年7月最新) - 卡地亚中国服务中心
  • 导购APP的实时风控引擎构建:规则引擎与机器学习模型的融合应用
  • 2026厦门黄金回收门店实地盘点:行情科普+5家正规门店分级测评 - 奢品小当家
  • 拒绝“伪智能”陷阱:Hermes 在团队级 AI 编程中的权限与回滚实战
  • 惠普暗影精灵笔记本终极散热控制指南:OmenSuperHub完全解决方案
  • Lit-LLaMA深度解析:开源大语言模型的完整技术实现方案
  • OpenMTP:macOS上免费的Android文件传输终极解决方案
  • 三步搞定B站大会员4K视频下载:Python工具助你离线保存充电专属内容
  • 3分钟掌握MouseJiggler:Windows防休眠终极免费方案
  • 小程序毕设选题推荐:基于 Android 的传统国学诗词资源系统 基于 SpringBoot+Android 的诗词知识库查询系统的设计与实现【附源码、mysql、文档、调试+代码讲解+全bao等】
  • iOSDeviceSupport:解决Xcode设备支持文件缺失的终极方案
  • 2026年电线电缆挤出机、高速束丝机、吹水器设备5家多维度实测对比,源头大厂避坑推荐 - 中国远见品牌企业资讯
  • 杭州江诗丹顿中国区官方维保全解析|全新授权网点及客服电话公告(2026 年 7 月最新) - 江诗丹顿中国服务中心
  • VSCode集成大模型开发指南:安全合规的本地与云端配置方案
  • 解放双手:BiliBiliToolPro让你的B站账号实现智能自动化管理
  • kspack-go未来路线图:即将发布的新功能和改进预览
  • Loop:5个步骤掌握终极免费Mac窗口管理工具,告别桌面杂乱
  • 如何用MoocDownloader构建个人离线学习资料库:完整.NET桌面应用指南
  • CANN/asc-devkit TPipe-TQue编程原理
  • Wan-Dancer-14B安装部署终极指南:从零到生成第一个舞蹈视频
  • 小程序毕设选题推荐: 基于Android 的校园帖子发布评论系统 基于 SpringBoot+Android 的高校互动交流平台的设计与实现【附源码、mysql、文档、调试+代码讲解+全bao等】
  • OBS高级蒙版插件:跨平台GPU加速实时渲染引擎架构解析