asc.language.basic.rp_sort16
- asc.language.basic.rp_sort16(dst: LocalTensor, src: LocalTensor, repeat_time: int) None
根据Region Proposals中的score域对其进行排序(score大的排前面),每次排16个Region Proposals。
对应的Ascend C函数原型
template <typename T> __aicore__ inline void RpSort16(const LocalTensor<T>& dst, const LocalTensor<T>& src, const int32_t repeatTime)
参数说明
dst: 目的操作数。类型为LocalTensor,支持的TPosition为VECIN/VECCALC/VECOUT。
src0: 源操作数。类型为LocalTensor,支持的TPosition为VECIN/VECCALC/VECOUT。
repeat_time: 重复迭代次数。
约束说明
用户需保证src和dst中存储的Region Proposal数目大于实际所需数据,否则会存在tensor越界错误。
当存在proposal[i]与proposal[j]的score值相同时,如果i>j,则proposal[j]将首先被选出来,排在前面。
操作数地址对齐要求请参见 《Ascend C算子开发接口》 中的“通用说明和约束-通用地址对齐约束”。
调用示例
# repeat_time = 2, 对2个Region Proposal进行排序 asc.rp_sort16(dst_local, src_local, 2)