asc_brcb
产 品 支 持 情 况
| 产 品 | 是 否 支 持 |
|---|---|
| √ | |
| √ |
功 能 说 明
给 定 一 个 输 入 矢 量,每 一 次 取 输 入 矢 量 中 的8个 数 填 充 到 结 果 矢 量 的8个datablock(32Bytes)中 去,每 个 数 对 应 一 个datablock。
函 数 原 型
高 维 切 分 计 算
C++__aicore__ inline void asc_brcb(__ubuf__ uint16_t* dst, __ubuf__ uint16_t* src, uint16_t dst_block_stride, uint16_t dst_repeat_stride, uint8_t repeat) __aicore__ inline void asc_brcb(__ubuf__ uint32_t* dst, __ubuf__ uint32_t* src, uint16_t dst_block_stride, uint16_t dst_repeat_stride, uint8_t repeat)同 步 高 维 切 分 计 算
C++__aicore__ inline void asc_brcb_sync(__ubuf__ uint16_t* dst, __ubuf__ uint16_t* src, uint16_t dst_block_stride, uint16_t dst_repeat_stride, uint8_t repeat) __aicore__ inline void asc_brcb_sync(__ubuf__ uint32_t* dst, __ubuf__ uint32_t* src, uint16_t dst_block_stride, uint16_t dst_repeat_stride, uint8_t repeat)
参 数 说 明
| 参 数 名 | 输 入/输 出 | 描 述 |
|---|---|---|
| dst | 输 出 | 目 的 操 作 数(矢 量)的 起 始 地 址。 |
| src | 输 入 | 源 操 作 数(矢 量)的 起 始 地 址。 |
| dst_block_stride | 输 入 | 目 的 操 作 数 单 次 迭 代 内 不 同DataBlock间 地 址 步 长。 |
| dst_repeat_stride | 输 入 | 目 的 操 作 数 相 邻 迭 代 间 相 同DataBlock的 地 址 步 长。 |
| repeat | 输 入 | 迭 代 次 数。 |
返 回 值 说 明
无
流 水 类 型
PIPE_V
约 束 说 明
- 不 支 持src与dst为 同 一 块 内 存 地 址。
调 用 示 例
C++
constexpr uint32_t src_length = 16;
constexpr uint32_t dst_length = 256;
__ubuf__ uint16_t src[src_length];
__ubuf__ uint16_t dst[dst_length];
asc_brcb(dst, src, 1, 8, 2);
结 果 示 例:
Text
输 入 数 据src:[1 2 3 ... 16]
输 出 数 据dst:[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 ... 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16]