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)