asc.language.adv.Matmul.set_tensor_a
Matmul.set_tensor_a(scalar: int) → None
Matmul.set_tensor_a(tensor: BaseTensor, transpose: bool = False) → None
设置矩阵乘的左矩阵A。
对应的Ascend C函数原型
__aicore__ inline void SetTensorA(const GlobalTensor<SrcAT>& gm, bool isTransposeA = false)
__aicore__ inline void SetTensorA(const LocalTensor<SrcAT>& leftMatrix, bool isTransposeA = false)
__aicore__ inline void SetTensorA(SrcAT aScalar)
参数说明
- scalar: A矩阵中设置的值,为标量。
- tensor: A矩阵。类型为GlobalTensor或LocalTensor。
- transpose: A矩阵是否需要转置。
约束说明
- 传入的TensorA地址空间大小需要保证不小于single_m * single_k。
调用示例
asc.adv.register_matmul(pipe, workspace, mm, tiling)
# 示例一:左矩阵在Global Memory
mm.set_tensor_a(gm_a)
mm.set_tensor_b(gm_b)
mm.set_bias(gm_bias)
mm.iterate_all(gm_c)
# 示例二:左矩阵在Local Memory
mm.set_tensor_a(local_a)
# 示例三:设置标量数据
mm.set_tensor_a(scalar_a)