GetTPipePtr
产 品 支 持 情 况
功 能 说 明
创 建TPipe对 象 时,对 象 初 始 化 会 设 置 全 局 唯 一 的TPipe指 针。本 接 口 用 于 获 取 该 指 针,获 取 该 指 针 后,可 进 行TPipe相 关 的 操 作。
函 数 原 型
Text
__aicore__ inline AscendC::TPipe* GetTPipePtr()
约 束 说 明
无
调 用 示 例
如 下 样 例 中,在 核 函 数 入 口 处 创 建TPipe对 象,对 象 初 始 化 会 设 置 全 局 唯 一 的TPipe指 针。在 调 用KernelAdd类Init函 数 时,无 需 显 式 传 入TPipe指 针,而 是 在 函 数 内 直 接 使 用GetTPipePtr获 取 全 局TPipe指 针,用 来 做InitBuffer等 操 作。如 需 运 行,请 参 考GetTPipePtr样 例实 现 完 整 的 代 码。
Text
// inQueueX、inQueueY为VECIN上 的TQue,outQueueZ为VECOUT上 的TQue
// 获 取 全 局TPipe指 针,使 用TPipe的InitBuffer接 口 给TQue分 配 内 存
GetTPipePtr()->InitBuffer(inQueueX, 2, this->tileLength * sizeof(float));
GetTPipePtr()->InitBuffer(inQueueY, 2, this->tileLength * sizeof(float));
GetTPipePtr()->InitBuffer(outQueueZ, 2, this->tileLength * sizeof(float));