SetOrgShape
产品支持情况
功能说明
设置Matmul计算原始完整的形状M、N、K,单位为元素个数。用于运行时修改shape,比如复用同一个Matmul对象,从不同的矩阵块取数据计算。
函数原型
__aicore__ inline void SetOrgShape(int orgM, int orgN, int orgK)
__aicore__ inline void SetOrgShape(int orgM, int orgN, int orgKa, int orgKb, int orgKc = 0)
参数说明
表 1 参数说明
设置输出C矩阵的N,单位为元素。需要输入B矩阵的N和输出C矩阵的N不一样时可设置,默认为0(即使用B矩阵的N,不进行修改)。 |
返回值说明
无
约束说明
本接口需要在SetTensorA接口、SetTensorB接口、SetBias接口及SetSingleShape接口前调用。
调用示例
REGIST_MATMUL_OBJ(&pipe, GetSysWorkSpacePtr(), mm, &tiling);
mm.SetTensorA(gm_a);
mm.SetTensorB(gm_b);
mm.SetBias(gm_bias);
mm.IterateAll(gm_c);
// 复用mm对象
mm.SetOrgShape(orgM, orgN, orgK);
mm.SetTensorA(gm_a1);
mm.SetTensorB(gm_b1);
mm.SetBias(gm_bias1);
mm.IterateAll(gm_c1);