GET_TILING_DATA
函数功能
用于获取算子kernel入口函数传入的tiling信息,并填入注册的Tiling结构体中,此函数会以宏展开的方式进行编译。对应的算子host实现中需要定义TilingData结构体,实现并注册计算TilingData的Tiling函数,具体请参考Host侧tiling实现。如果用户通过TilingData结构注册注册了多个TilingData结构体,使用该接口返回默认注册的结构体。
函数原型
| 1 | GET_TILING_DATA(tiling_data, tiling_arg) | 
参数说明
| 参数 | 输入/输出 | 说明 | 
|---|---|---|
| tiling_data | 输出 | 返回默认Tiling结构体变量。 | 
| tiling_arg | 输入 | 此参数为算子入口函数处传入的tiling参数。 | 
支持的型号
Atlas 训练系列产品
Atlas推理系列产品AI Core
Atlas A2训练系列产品/Atlas 800I A2推理产品
Atlas 200/500 A2推理产品
约束说明
- 本函数需在算子kernel代码处使用,并且传入的tiling_data参数不需要声明类型。
- 暂不支持kernel直调工程。
调用示例
| 1 2 3 4 5 6 7 | extern "C" __global__ __aicore__ void add_custom(__gm__ uint8_t *x, __gm__ uint8_t *y, __gm__ uint8_t *z, __gm__ uint8_t *tiling) { GET_TILING_DATA(tilingData, tiling); KernelAdd op; op.Init(x, y, z, tilingData.blkDim, tilingData.totalSize, tilingData.splitTile); op.Process(); } | 
     父主题: Kernel Tiling