文档
注册
评分
提单
论坛
小AI

SetLocalWorkspace

功能说明

对于某些场景Matmul内部需要额外占用VECCALC空间,如果用户希望在算子中复用这个额外占用的VECCALC空间,则该空间需要用户预留,并申请好LocalTensor,将其起始物理地址传入给Matmul。具体需要申请的VECCALC临时空间大小由tiling接口MatmulGetTmpBufSize给出,满足以下几个条件之一就需要使用该接口传入UB临时空间:

  • C矩阵Position为TPosition::GM;
  • C矩阵CubeFormat为CubeFormat::ND;
  • A矩阵或者B矩阵CubeFormat为CubeFormat::ND;
  • 存在Bias且Bias的Position不是VECCALC。

请在Iterate或者IterateAll之前调用该接口。

获取到的UB临时空间大小以byte为单位。

函数原型

1
__aicore__ inline void SetLocalWorkspace(const LocalTensor<uint8_t>& tmpBuffer)

参数说明

参数名

输入/输出

描述

tmpBuffer

输入

临时空间,由用户申请并管理,Position为VECCALC

返回值

支持的型号

Atlas推理系列产品(Ascend 310P处理器)AI Core

注意事项

调用示例

REGIST_MATMUL_OBJ(&pipe, GetSysWorkSpacePtr(), mm, &tiling);
mm.SetLocalWorkspace(mmFormatUb);    //设置临时VECCALC空间
mm.SetTensorA(gm_a);
mm.SetTensorB(gm_b);
mm.SetBias(gm_bias);
mm.IterateAll(gm_c);
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词