asc.language.adv.Matmul.set_batch_num
- Matmul.set_batch_num(batch_a: PlainValue | int, batch_b: PlainValue | int) None
在不改变Tiling的情况下,重新设置多Batch计算的Batch数。
对应的Ascend C函数原型
__aicore__ inline void SetTail(int tailM = -1, int tailN = -1, int tailK = -1)
参数说明
tail_m:重新设置的singleCoreM值。
tail_n:重新设置的singleCoreN值。
tail_k:重新设置的singleCoreK值。
约束说明
当使能MixDualMaster(双主模式)场景时,即模板参数enableMixDualMaster设置为true,不支持使用该接口。
本接口仅支持在纯Cube模式(只有矩阵计算)下调用。
调用示例
# 纯Cube模式 mm.set_tensor_a(gm_a, is_transpose_a_in) mm.set_tensor_b(gm_b, is_transpose_b_in) if tiling.is_bias: mm.set_bias(gm_bias) mm.set_batch_num(batch_a, batch_b) # 多batch Matmul计算 mm.iterate_batch(tensor=gm_c, en_partial_sum=False, en_atomic=0, en_sequential_write=False)