news 2026/7/15 15:18:17

CANN/asc-devkit Tiling数据指针获取

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN/asc-devkit Tiling数据指针获取

GET_TILING_DATA_PTR_WITH_STRUCT

产品支持情况

产品

是否支持

Ascend 950PR/Ascend 950DT

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

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

Atlas 200I/500 A2 推理产品

Atlas 推理系列产品AI Core

Atlas 推理系列产品Vector Core

Atlas 训练系列产品

x

功能说明

在使用该宏时,开发者可以通过指定结构体名称来获取相应的Tiling信息,并将其填入对应的Tiling结构体中。完成填充后,该宏将返回一个指向该Tiling结构体的指针,并使用__tiling_data_ptr__修饰符对该指针进行修饰。这种修饰方式能够确保在动静态Shape场景下代码的统一性和兼容性。

函数原型

GET_TILING_DATA_PTR_WITH_STRUCT(tiling_struct, dst_ptr, tiling_ptr)

参数说明

参数

输入/输出

说明

tiling_struct

输入

指定的结构体名称。

dst_ptr

输出

返回指定的Tiling结构体指针。

tiling_ptr

输入

算子入口函数处传入的Tiling参数。

约束说明

  • 该宏需在算子Kernel代码处使用,并且传入的dst_ptr参数无需声明类型。
  • 动态Shape场景下,获取到的dst_ptr是指向Global Memory变量的指针;静态Shape场景下,获取到的dst_ptr是指向局部变量的指针,需确保在合理的作用域范围内使用。
  • 暂不支持Kernel直调工程。

调用示例

extern "C" __global__ __aicore__ void add_custom(__gm__ uint8_t *x, __gm__ uint8_t *y, __gm__ uint8_t *z, __gm__ uint8_t *tiling) { KernelAdd op; GET_TILING_DATA_PTR_WITH_STRUCT(AddCustomTilingData, tilingDataPtr, tiling); op.Init(x, y, z, tilingDataPtr->totalLength, tilingDataPtr->tileNum); op.Process(); }

以下是错误调用的示例:

__aicore__ __tiling_data_ptr__ AddCustomTilingData* foo(__gm__ uint8_t *tiling) { GET_TILING_DATA_PTR_WITH_STRUCT(AddCustomTilingData, tilingDataPtr, tiling); return tilingDataPtr; } extern "C" __global__ __aicore__ void add_custom(__gm__ uint8_t *x, __gm__ uint8_t *y, __gm__ uint8_t *z, __gm__ uint8_t *tiling) { KernelAdd op; auto tilingDataPtr = foo(tiling); // 错误,foo函数已经执行完成,非法访问生命周期已经结束的局部变量 op.Init(x, y, z, tilingDataPtr->totalLength, tilingDataPtr->tileNum); op.Process(); }

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/15 15:17:51

Arend证明助手:JetBrains开发的同伦类型论定理证明器完全指南

Arend证明助手:JetBrains开发的同伦类型论定理证明器完全指南 【免费下载链接】Arend The Arend Proof Assistant 项目地址: https://gitcode.com/gh_mirrors/ar/Arend Arend证明助手是JetBrains公司开发的一款基于同伦类型论(Homotopy Type Theo…

作者头像 李华
网站建设 2026/7/15 15:17:11

Django CMS 完整安装指南:5个步骤轻松搭建企业级内容管理系统

Django CMS 完整安装指南:5个步骤轻松搭建企业级内容管理系统 【免费下载链接】django-cms The easy-to-use and developer-friendly enterprise CMS powered by Django 项目地址: https://gitcode.com/gh_mirrors/dj/django-cms 还在为复杂的网站开发而烦恼…

作者头像 李华
网站建设 2026/7/15 15:15:35

收藏!别再死磕ChatGPT赚钱了,真正聪明的人早已换道超车!

本文指出,虽然AI的红利期第一波已经结束,但并非意味着AI不能赚钱。相反,真正聪明的人已经不再执着于研究ChatGPT等AI工具本身,而是将重点放在如何利用AI提升自身专业能力,创造更大的价值。文章强调,AI正在成…

作者头像 李华
网站建设 2026/7/15 15:14:30

HarmonyOS知识库——导航架构与路由传参的设计模式

知识库 App 有 6 个页面、4 个底部导航 tab、十几条路由跳转路径。页面之间的跳转不是随意的——每条路由都有明确的参数设计,参数的类型和内容决定了目标页面的行为。搞清楚"从哪来、传什么、怎么用",是理解整个 App 数据流的关键。 完整效果…

作者头像 李华
网站建设 2026/7/15 15:13:23

5步实现图片到3D打印模型的智能转换

5步实现图片到3D打印模型的智能转换 【免费下载链接】ImageToSTL This tool allows you to easily convert any image into a 3D print-ready STL model. The surface of the model will display the image when illuminated from the left side. 项目地址: https://gitcode.…

作者头像 李华