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)