Interleave
产 品 支 持 情 况
功 能 说 明
给 定 源 操 作 数src0和src1,将src0和src1中 的 元 素 交 织 存 入 结 果 操 作 数dst0和dst1中。交 织 排 列 方 式 如 下 图 所 示,其 中 每 个 方 格 代 表 一 个 元 素。

函 数 原 型
Text
template <typename T>
__aicore__ inline void Interleave(const LocalTensor<T>& dst0, const LocalTensor<T>& dst1, const LocalTensor<T>& src0, const LocalTensor<T>& src1, const int32_t count)
参 数 说 明
表 1 模 板 参 数 说 明
表 2 参 数 说 明
类 型 为LocalTensor,支 持 的TPosition为VECIN/VECCALC/VECOUT。 LocalTensor的 起 始 地 址 需 要32字 节 对 齐。 Ascend 950PR/Ascend 950DT,支 持 的 数 据 类 型 为:uint8_t/int8_t/uint16_t/int16_t/half/bfloat16_t/uint32_t/int32_t/float/uint64_t/int64_t | ||
类 型 为LocalTensor,支 持 的TPosition为VECIN/VECCALC/VECOUT。 LocalTensor的 起 始 地 址 需 要32字 节 对 齐。 源 操 作 数 的 数 据 类 型 需 要 与 目 的 操 作 数 保 持 一 致。 Ascend 950PR/Ascend 950DT,支 持 的 数 据 类 型 为:uint8_t/int8_t/uint16_t/int16_t/half/bfloat16_t/uint32_t/int32_t/float/uint64_t/int64_t | ||
输 入/输 出 数 据 元 素 个 数,dst0/dst1/src0/src1长 度 大 小 均 为count。count必 须 为 偶 数。 |
返 回 值 说 明
无
约 束 说 明
无
调 用 示 例
本 样 例 中 只 展 示Compute流 程 中 的 部 分 代 码。
Text
AscendC::Interleave(dst0Local, dst1Local, src0Local, src1Local, 512);
结 果 示 例 如 下:
Text
输 入 数 据src0Local:[1 2 3 ... 512]
输 入 数 据src1Local:[513 514 515 ... 1024]
输 出 数 据dst0Local:[1 513 2 ... 768]
输 出 数 据dst1Local:[257 769 258 ... 1024]