GET_TILING_DATA
函数功能
用于获取算子kernel入口函数传入的tiling信息,并填入注册的Tiling结构体中,此函数会以宏展开的方式进行编译。对应的算子host实现中需要定义TilingData结构体,实现并注册计算TilingData的Tiling函数,具体请参考Host侧tiling实现。如果用户通过TilingData结构注册注册了多个TilingData结构体,使用该接口返回默认注册的结构体。
函数原型
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直调工程。
调用示例
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