GET_TILING_DATA_MEMBER
产品支持情况
功能说明
用于获取tiling结构体的成员变量。
函数原型
GET_TILING_DATA_MEMBER(struct_name, mem_name, tiling_data, tiling_arg)
参数说明
约束说明
- 本函数需在算子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)
{
KernelAdd op;
if ASCEND_IS_AIV {
GET_TILING_DATA(tilingData, tiling); // Vector侧使用算子默认注册的完整结构体
op.Init(x, y, z, tilingData.totalLength, tilingData.tileNum);
op.Process();
} else {
GET_TILING_DATA_MEMBER(Add_Struct, tCubeTiling, tCubeTilingVar, tiling); // Cube侧仅使用算子注册结构体的成员变量tCubeTiling
op.Init(x, y, z, tCubeTilingVar);
op.Process();
}
}