Skip to content
版 本

asc_get_vms4_sr

产 品 支 持 情 况

产 品是 否 支 持
Atlas A3 训 练 系 列 产 品/Atlas A3 推 理 系 列 产 品
Atlas A2 训 练 系 列 产 品/Atlas A2 推 理 系 列 产 品

功 能 说 明

此 接 口 用 于 获 取 执 行asc_mrgsort4操 作 后 的4个 队 列 中,每 个 队 列 已 经 理 过 的Region Proposal个 数。使 用 时,需 要 将asc_mrgsort4中 的if_exhausted_suspension参 数 配 置 为true,该 配 置 模 式 下 某 条 队 列 耗 尽 后,MrgSort4指 令 停 止。

函 数 原 型

C++
__aicore__ inline void asc_get_vms4_sr(uint16_t sorted_num[ASC_C_API_MRGSORT_ELEMENT_LEN])

参 数 说 明

参 数 名输 入/输 出描 述
sorted_num输 出每 个 队 列 已 经 理 过 的Region Proposal个 数。队 列 数 量ASC_C_API_MRGSORT_ELEMENT_LEN值 为4。

返 回 值 说 明

流 水 类 型

PIPE_S

约 束 说 明

  • 需 和asc_mrgsort4操 作 配 合 使 用,且 需asc_mrgsort4中 的if_exhausted_suspension参 数 配 置 为true。
  • 需 通 过 同 步 操 作 确 保asc_mrgsort4执 行 完 成 后 再 调 用 本 接 口 获 取 结 果。

调 用 示 例

C++
// 示 例 对4个 已 排 序 好 的Region Proposal队 列 进 行 归 并 排 序,每 个 队 列 包 含32个 元 素。
constexpr uint16_t element_length = 32;
constexpr uint16_t array_length = element_length * 2;
// 每 个 元 素 包 含float32的score和4字 节 的index,占8字 节,相 当 于2个sizeof(float)。
__ubuf__ float src_workspace[array_length * 4];

__ubuf__ float* src[ASC_C_API_MRGSORT_ELEMENT_LEN];
__ubuf__ float dst[array_length * 4];

uint8_t repeat = 1;
uint8_t valid_bit = 0b1111;
bool if_exhausted_suspension = true;
src[0] = &src_workspace[0];
src[1] = &src_workspace[1 * array_length];
src[2] = &src_workspace[2 * array_length];
src[3] = &src_workspace[3 * array_length];

asc_mrgsort4(dst, src, repeat, element_length, element_length, element_length, element_length, if_exhausted_suspension, valid_bit);
asc_sync();

uint16_t sorted_num[ASC_C_API_MRGSORT_ELEMENT_LEN];
asc_get_vms4_sr(sorted_num);

免 责 声 明:本 站 内 容 由 asc-devkit 仓 master 分 支 自 动 编 译 生 成,属 于 持 续 开 发 版 本,可 能 存 在 缺 陷,仅 供 预 览 与 参 考。如 需 稳 定 及 商 用 资 料,请 查 阅 官 方 昇 腾 社 区