当前位置: 首页 > news >正文

CANN/pyasc合并排序队列API

asc.language.basic.mrg_sort

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

asc.language.basic.mrg_sort(dst: LocalTensor, sort_list: MrgSortSrcList, element_count_list: List[int], sorted_num: List[int], valid_bit: int, repeat_time: int, is_exhausted_suspension: bool = False) → None

asc.language.basic.mrg_sort(dst: LocalTensor, sort_list: MrgSortSrcList, params: MrgSort4Info) → None

将已经排好序的多个队列合并成一条队列,结果按照指定顺序排序。

对应的Ascend C函数原型

template <typename T> __aicore__ inline void MrgSort(const LocalTensor<T>& dst, const MrgSortSrcList<T>& src, const uint16_t elementCountList[], uint32_t sortedNum[], uint16_t validBit, uint16_t repeatTime, bool isExhaustedSuspension = false)
template <typename T> __aicore__ inline void MrgSort(const LocalTensor<T>& dst, const MrgSortSrcList<T>& src, const MrgSort4Info& params)

参数说明

  • dst (asc.LocalTensor): 目的操作数,存储经过排序后的结果。支持的TPosition为VECIN/VECCALC/VECOUT。
  • src (asc.MrgSortSrcList): 源操作数,多个已经排好序的队列。具体定义如下:
class MrgSortSrcList: src1: LocalTensor # 第一个已经排好序的Region Proposals队列 src2: LocalTensor # 第二个已经排好序的Region Proposals队列 src3: LocalTensor # 第三个已经排好序的Region Proposals队列 src4: LocalTensor # 第四个已经排好序的Region Proposals队列
  • element_count_list: 各个源队列的长度(元素数目),类型为uint16_t数组。
  • sorted_num: 输出参数,存储各个队列排序后的元素数目,类型为uint32_t数组。
  • valid_bit: 有效队列个数位掩码。
  • repeat_time: 迭代次数。
  • is_exhausted_suspension: 某条队列耗尽后,指令是否需要停止,类型为bool,默认false。
  • 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]。

约束说明

  • 操作数地址对齐要求请参见 《Ascend C算子开发接口》 中的“通用说明和约束-通用地址对齐约束”。
  • 不支持源操作数与目的操作数之间存在地址重叠。

调用示例

src_list = asc.MrgSortSrcList(queue1, queue2, queue3, queue4) element_counts = [16, 16, 16, 16] sorted_nums = [0, 0, 0, 0] valid_bit = 15 # 所有4个队列都有效 repeat_time = 1 asc.mrg_sort(dst, src_list, element_counts, sorted_nums, valid_bit, repeat_time) src_list = asc.MrgSortSrcList(queue1, queue2, queue3, queue4) element_lengths = [16, 16, 16, 16] params = asc.MrgSort4Info(element_lengths, False, 15, 1) asc.mrg_sort(dst, src_list, params)

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

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

http://www.jsqmd.com/news/783747/

相关文章:

  • 2026线下门店智能马桶TOP8排行榜:实体店买马桶到底选谁? - 江湖评测
  • CANN/cann-bench GQA算子API描述
  • 微信AI机器人插件生态全解析:从选型部署到开发实践
  • CANN/sip ColwiseMul按列逐点乘示例
  • 网盘下载提速神器:九大平台直链解析工具完整指南
  • Cursor API本地代理:内网集成AI编程与自动化工作流实战
  • 认知科学启发的AGI测试框架:从人类智能维度到可量化评估
  • HoRain云--PHP命名空间终极指南
  • pypto.distributed 模块介绍
  • Python后台服务/守护进程如何正确处理SIGINT信号?一个真实的生产环境案例
  • CANN/pyasc load_data数据加载API文档
  • 人形机器人供应链观察:良质关节如何在三年内成为头部厂商的核心合作伙伴?(附数字化案例拆解) - 黑湖科技老黑
  • CANN具身智能-PI0训练样例
  • HIXL LLM-DataDist接口
  • C++ ONNX Runtime 实战:为什么我的 session->Run 在跨函数调用时就崩溃了?
  • CANN/AMCT OFMR大模型量化
  • OpenClaw爬虫框架实战:从Awesome清单到自动化数据采集系统构建
  • 国内主流氯化镁生产厂家综合实力排行及选型指南 - 奔跑123
  • ngx_close_accepted_connection
  • 别再画丑图了!用Mermaid的gitGraph在Markdown里画专业Git分支图(附VSCode插件配置)
  • 基于OpenClaw构建多AI智能体协作平台:从数字生命蒸馏到理想国决策
  • 告别粘连字符!用Halcon的partition_dynamic算子精准分割OCR区域(附完整代码)
  • AI音乐生成技术解析:从符号与音频生成到混合模型实战
  • 向量引擎、deepseek v4、GPT Image 2、api key:Agent 时代最值钱的不是模型,是会调度的人
  • 外资阀门品牌2026市场介绍:米勒(Miller) - 米勒阀门
  • 基于微环谐振器的光子AI推理加速器:原理、设计与挑战
  • CANN算子测试竞赛中山大学软工小队提交
  • CANN/pypto lt函数API文档
  • 如何免费获取网盘高速下载:LinkSwift 九大平台直链解析终极指南
  • AI水下目标检测:从传统图像处理到深度学习部署实战