asc.language.adv.register_matmul
- asc.language.adv.register_matmul(pipe: TPipe, workspace: GlobalAddress, matmul: Matmul, tiling: TCubeTiling | None = None) None
主要用于初始化Matmul对象。
对应的Ascend C函数原型
REGIST_MATMUL_OBJ(tpipe, workspace, ...)
参数说明
tpipe: Tpipe对象。
workspace: 系统workspace指针。
&args: 可变参数,传入Matmul对象和与之对应的Tiling结构。
约束说明
在分离模式中,本接口必须在init_buffer接口前调用。
在程序中,最多支持定义4个Matmul对象。
当代码中只有一个Matmul对象时,本接口可以不传入tiling参数,通过init接口单独传入tiling参数。
调用示例
pipe = asc.Tpipe() # 推荐:初始化单个matmul对象,传入tiling参数 mm.register_matmul(pipe, workspace, mm, tiling) # 初始化单个matmul对象,未传入tiling参数。注意,该场景下需要使用Init接口单独传入tiling参数。这种方式将matmul对象的初始化和tiling的设置分离,比如,Tiling可变的场景,可通过这种方式多次对Tiling进行重新设置 mm.register_matmul(pipe, workspace, mm) mm.init(&tiling)