下载
中文
注册

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)

参数说明

表1 接口参数说明

参数名

输入/输出

描述

cubeTiling

输入

Matmul tiling参数,TCubeTiling结构体定义请参见表2 TCubeTiling结构说明

Tiling参数可以通过host侧GetTiling接口获取,并传递到kernel侧使用。

tpipe

输入

Tpipe对象。

返回值

支持的型号

Atlas A2 训练系列产品/Atlas 800I A2 推理产品

Atlas 推理系列产品AI Core

Atlas 200I/500 A2 推理产品

注意事项

调用示例

1
2
3
// 开发者可以先通过REGIST_MATMUL_OBJ初始化单个matmul对象,不传入tiling参数,后续通过Init接口单独传入Tiling参数,对Tiling数据进行调整。
REGIST_MATMUL_OBJ(&pipe, GetSysWorkSpacePtr(), mm);
mm.Init(&tiling);