Init
====

#### 功能说明

Init主要用于对Matmul对象中的Tiling数据进行初始化，根据Tiling参数进行资源划分，tiling参数的具体介绍请参考[Matmul Tiling](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/cannkit-matmul-tiling-usage-description)。

开发者可以先通过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结构体](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/cannkit-tcubetiling-structure)表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);