Init
功能说明
Init主要用于对Matmul对象中的Tiling数据进行初始化,根据Tiling参数进行资源划分,tiling参数的具体介绍请参考Matmul Tiling。
开发者可以先通过REGIST_MATMUL_OBJ初始化单个Matmul对象,不传入tiling参数,后续通过Init接口单独传入Tiling参数,对Tiling数据进行调整。比如,Tiling参数可变的场景下,可以通过多次调用Init来重新设置Tiling参数。
不需要Tiling变更的场景下,推荐使用REGIST_MATMUL_OBJ传入tiling参数进行初始化。
函数原型
__aicore__ inline void Init(const TCubeTiling* __restrict cubeTiling, TPipe* tpipe = nullptr)
参数说明
表1 接口参数说明
| 参数名 | 输入/输出 | 描述 |
|---|---|---|
| cubeTiling | 输入 | Matmul tiling参数,TCubeTiling结构体定义请参见TCubeTiling结构体表1。 Tiling参数可以通过host侧GetTiling接口获取,并传递到kernel侧使用。 |
| tpipe | 输入 | Tpipe对象。 |
返回值
无
支持的型号
Kirin9020系列处理器
注意事项
无
调用示例
// 开发者可以先通过REGIST_MATMUL_OBJ初始化单个matmul对象,不传入tiling参数,后续通过Init接口单独传入Tiling参数,对Tiling数据进行调整。
REGIST_MATMUL_OBJ(&pipe, GetSysWorkSpacePtr(), mm);
mm.Init(&tiling);