news 2026/5/9 12:51:30

CANN/pyasc合并排序API文档

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN/pyasc合并排序API文档

asc.language.basic.mrg_sort4

【免费下载链接】pyasc本项目为Python用户提供算子编程接口,支持在昇腾AI处理器上加速计算,接口与Ascend C一一对应并遵守Python原生语法。项目地址: https://gitcode.com/cann/pyasc

asc.language.basic.mrg_sort4(dst: LocalTensor, src: MrgSortSrcList, params: MrgSort4Info) → None

将已经排好序的最多4条Region Proposals队列,排列并合并成1条队列,结果按照score域由大到小排序。

对应的Ascend C函数原型

template <typename T> __aicore__ inline void MrgSort4(const LocalTensor<T>& dst, const MrgSortSrcList<T>& src, const MrgSort4Info& params)

参数说明

  • dst (asc.LocalTensor): 目的操作数,存储经过排序后的Region Proposals。支持的TPosition为VECIN/VECCALC/VECOUT。
  • src (asc.MrgSortSrcList): 源操作数,多个已经排好序的队列。具体定义如下:
class MrgSortSrcList: src1: LocalTensor src2: LocalTensor src3: LocalTensor src4: LocalTensor
  • params (asc.MrgSort4Info) : 排序所需参数。
    • element_lengths: 四个源Region Proposals队列的长度(Region Proposal数目),类型为长度为4的uint16_t数组,每个元素取值范围[0, 4095]。
    • is_exhausted_suspension: 某条队列耗尽后,指令是否需要停止,类型为bool,默认false。
    • valid_bit:有效队列个数。
    • repeat_times:迭代次数,每一次源操作数和目的操作数跳过四个队列总长度。取值范围[1,255]。

约束说明

  • 当存在proposal[i]与proposal[j]的score值相同时,如果i>j,则proposal[j]将首先被选出来,排在前面。
  • 操作数地址对齐要求请参见 《Ascend C算子开发接口》 中的“通用说明和约束-通用地址对齐约束”。
  • 不支持源操作数与目的操作数之间存在地址重叠。

调用示例

# vconcat_work_local为已经创建并且完成排序的4个Region Proposals,每个Region Proposal数目是16个 src_list = asc.MrgSortSrcList(vconcat_work_local[0], vconcat_work_local[1], vconcat_work_local[2], vconcat_work_local[3]) element_lengths = [16, 16, 16, 16] src_info = asc.MrgSort4Info(element_lengths, False, 15, 1) asc.mrg_sort4(dst_local, src_list, src_info)

【免费下载链接】pyasc本项目为Python用户提供算子编程接口,支持在昇腾AI处理器上加速计算,接口与Ascend C一一对应并遵守Python原生语法。项目地址: https://gitcode.com/cann/pyasc

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/9 12:50:09

CANN/asc-devkit AddrReg地址寄存器API

AddrReg 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言&#xff0c;原生支持C和C标准规范&#xff0c;主要由类库和语言扩展层构成&#xff0c;提供多层级API&#xff0c;满足多维场景算子开发诉求。 项目地址: https://gitcode.com/ca…

作者头像 李华
网站建设 2026/5/9 12:48:15

AQS 深度解析与扩展实践

前言 AbstractQueuedSynchronizer(简称 AQS)是 Java 并发包(`java.util.concurrent`)的基石。`ReentrantLock`、`Semaphore`、`CountDownLatch`、`ReentrantReadWriteLock`、`ThreadPoolExecutor` 的 Worker——这些你每天都在用的并发工具,内部都有一个 AQS 子类在默默工…

作者头像 李华
网站建设 2026/5/9 12:44:31

CANN DeepSeek-V4-Flash训练部署

基于TorchTitan-NPU的DeepSeek-V4-Flash训练部署指导 【免费下载链接】cann-recipes-train 本项目针对LLM与多模态模型训练业务中的典型模型、加速算法&#xff0c;提供基于CANN平台的优化样例 项目地址: https://gitcode.com/cann/cann-recipes-train 概述 本文面向 t…

作者头像 李华
网站建设 2026/5/9 12:42:58

深度剖析Go语言,一文告诉你为什么大厂开始增加Go的招聘量

最近这两年大厂青睐Go&#xff0c;不是因为Go比Java"更好"&#xff0c;而是因为Go比Java"更适合云原生时代"。我在G7汇通天下做后端架构时&#xff0c;亲历了从Java全面转向Go的过程。今天用一篇文章&#xff0c;说清Go语言的核心竞争力&#xff0c;以及你…

作者头像 李华
网站建设 2026/5/9 12:30:25

CANN/hcomm组调用结束接口

HcclGroupEnd 【免费下载链接】hcomm HCOMM&#xff08;Huawei Communication&#xff09;是HCCL的通信基础库&#xff0c;提供通信域以及通信资源的管理能力。 项目地址: https://gitcode.com/cann/hcomm 产品支持情况 Ascend 950PR/Ascend 950DT&#xff1a;不支持At…

作者头像 李华