asc_bitsort
产 品 支 持 情 况
| 产 品 | 是 否 支 持 |
|---|---|
| √ | |
| √ | |
| √ |
功 能 说 明
位 图 排 序 函 数,一 次 迭 代 可 以 完 成32个 元 素 的 排 序,数 据 按 如 下 描 述 结 构 进 行 保 存:
Score和Index分 别 存 储 在src0和src1中,按Score进 行 排 序(Score大 的 元 素 排 前 面),排 序 后 的Score与 其 对 应 的Index一 起 以(Score,Index)的 结 构 存 储 在dst中。
函 数 原 型
连 续 计 算
C++__aicore__ inline void asc_bitsort(__ubuf__ half* dst, __ubuf__ half* src0, __ubuf__ uint32_t* src1, int32_t repeat) __aicore__ inline void asc_bitsort(__ubuf__ float* dst, __ubuf__ float* src0, __ubuf__ uint32_t* src1, int32_t repeat)同 步 计 算
C++__aicore__ inline void asc_bitsort_sync(__ubuf__ half* dst, __ubuf__ half* src0, __ubuf__ uint32_t* src1, int32_t repeat) __aicore__ inline void asc_bitsort_sync(__ubuf__ float* dst, __ubuf__ float* src0, __ubuf__ uint32_t* src1, int32_t repeat)
参 数 说 明
| 参 数 名 | 输 入/输 出 | 描 述 |
|---|---|---|
| dst | 输 出 | 目 的 操 作 数(矢 量)的 起 始 地 址。 |
| src0 | 输 入 | 源 操 作 数(矢 量)的 起 始 地 址。 |
| src1 | 输 入 | 源 操 作 数(矢 量)的 起 始 地 址。 |
| repeat | 输 入 | 重 复 迭 代 次 数,每 次 迭 代 完 成32个 元 素 的 排 序,下 次 迭 代src0和src1各 跳 过32个 元 素,dst跳 过256 Byte空 间。取 值 范 围:[0, 255]。 |
返 回 值 说 明
无
流 水 类 型
PIPE_V
约 束 说 明
- 操 作 数 地 址 重 叠 约 束 请 参 考通 用 地 址 重 叠 约 束。
- dst、src的 起 始 地 址 需 要32字 节 对 齐。
调 用 示 例
C++
__ubuf__ half dst[256];
__ubuf__ half src0[256];
__ubuf__ uint32_t src1[256];
asc_bitsort(dst, src0, src1, 8);