InitSpmBuffer
产 品 支 持 情 况
功 能 说 明
初 始 化SPM Buffer。
函 数 原 型
暂 存 到workspace初 始 化,需 要 指 定GM地 址 为SPM Buffer:
Texttemplate <typename T> __aicore__ inline void InitSpmBuffer(const GlobalTensor<T>& workspace, const int32_t bufferSize)暂 存 到L1 Buffer初 始 化,不 需 要 指 定 地 址,会 默 认 暂 存 到L1 Buffer,只 需 要 传 入 需 要 的SPM Buffer大 小:
Text__aicore__ inline void InitSpmBuffer(const int32_t bufferSize)Atlas A2 训 练 系 列 产 品/Atlas A2 推 理 系 列 产 品,不 支 持 暂 存 到L1 Buffer初 始 化 接 口。
Atlas A3 训 练 系 列 产 品/Atlas A3 推 理 系 列 产 品,不 支 持 暂 存 到L1 Buffer初 始 化 接 口。
参 数 说 明
约 束 说 明
无
返 回 值 说 明
无
调 用 示 例
暂 存 到workspace初 始 化
TextAscendC::TPipe pipe; int len = 1024; // 设 置spm buffer为1024个 类 型 为T的 数 据 workspace_gm.SetGlobalBuffer((__gm__ T *)usrWorkspace, len); // 此 处 的usrWorkspace为 用 户 自 定 义 的workspace auto gm = workspace_gm[AscendC::GetBlockIdx() * len]; pipe.InitSpmBuffer(gm, len * sizeof(T));暂 存 到L1 Buffer初 始 化
TextAscendC::TPipe pipe; int len = 1024; // 设 置spm buffer为1024个 类 型 为T的 数 据 pipe.InitSpmBuffer(len * sizeof(T));