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