尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
CANN/asc-devkit矢量比较API
Compare结果存入寄存器【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit产品支持情况Ascend 950PR/Ascend 950DT支持Atlas A3 训练系列产品/Atlas A3 推理系列产品支持Atlas A2 训练系列产品/Atlas A2 推理系列产品支持Atlas 200I/500 A2 推理产品不支持Atlas 推理系列产品 AI Core支持Atlas 推理系列产品 Vector Core不支持Atlas 训练系列产品不支持功能说明头文件路径为basic_api/kernel_operator_vec_cmpsel_intf.h。逐元素比较两个tensor大小如果比较后的结果为真则输出结果的对应比特位为1否则为0。计算结果存入CmpMask 128bit寄存器中可用于后续Select计算也可使用GetCmpMask.md)接口获取寄存器保存的数据。接口支持多种比较模式LT小于less thanGT大于greater thanGE大于或等于greater than or equal toEQ等于equal toNE不等于not equal toLE小于或等于less than or equal to函数原型mask逐bit模式template typename T, bool isSetMask true __aicore__ inline void Compare(const LocalTensorT src0, const LocalTensorT src1, CMPMODE cmpMode, const uint64_t mask[], const BinaryRepeatParams repeatParams)mask连续模式template typename T, bool isSetMask true __aicore__ inline void Compare(const LocalTensorT src0, const LocalTensorT src1, CMPMODE cmpMode, const uint64_t mask, const BinaryRepeatParams repeatParams)参数说明表1模板参数说明参数名描述T源操作数数据类型。isSetMask是否在接口内部设置mask。• true表示在接口内部设置mask。• false表示在接口外部设置mask开发者需要使用SetVectorMask接口设置mask值。这种模式下接口入参中的mask值设置为占位符MASK_PLACEHOLDER用于占位无实际含义。表2接口参数说明参数名称输入/输出描述src0、src1输入源操作数。类型为LocalTensor支持的TPosition为VECIN/VECCALC/VECOUT。LocalTensor的起始地址需要32字节对齐。cmpMode输入CMPMODE类型表示比较模式包括EQNEGELEGTLT。• LTsrc0小于less thansrc1• GTsrc0大于greater thansrc1• GEsrc0大于或等于greater than or equal tosrc1• EQsrc0等于equal tosrc1• NEsrc0不等于not equal tosrc1• LEsrc0小于或等于less than or equal tosrc1mask/mask[]输入mask用于控制每次迭代内参与计算的元素。详细设置参考掩码。repeatParams输入控制操作数地址步长的参数。BinaryRepeatParams类型包含操作数相邻迭代间相同DataBlock的地址步长操作数同一迭代内不同DataBlock的地址步长等参数。相邻迭代间的地址步长参数说明请参考repeatStride同一迭代内DataBlock的地址步长参数说明请参考dataBlockStride。数据类型支持的数据类型为half、float。返回值说明无约束说明操作数地址对齐要求请参见通用地址对齐约束。本接口没有repeat输入repeat默认为1即一条指令计算256B的数据。本接口将结果写入128bit的CmpMask寄存器中可以用GetCmpMask.md)接口获取寄存器保存的数据。对UB空间的占用说明。针对Ascend 950PR/Ascend 950DT该接口占用8KB Unified Buffer临时空间。针对如下型号当参数count或repeatTime取值为0时不会执行计算操作不会对目的操作数进行写入该接口将被视为NOP空操作。Atlas A3 训练系列产品/Atlas A3 推理系列产品Atlas A2 训练系列产品/Atlas A2 推理系列产品调用示例本样例中源操作数src0Local和src1Local各存储了64个float类型的数据。样例实现的功能为逐元素对src0Local和src1Local中的数据进行比较如果src0Local中的元素小于src1Local中的元素dstLocal结果中对应的比特位置1反之则置0。dstLocal结果使用uint8_t类型数据存储。本样中只展示部分关键代码。完整的调用样例可参考Compare类样例场景二。mask连续模式uint64_t mask 256 / sizeof(float); // 256为每个迭代处理的字节数 AscendC::BinaryRepeatParams repeatParams { 1, 1, 1, 8, 8, 8 }; // dstBlkStride, src0BlkStride, src1BlkStride 1, no gap between blocks in one repeat // dstRepStride, src0RepStride, src1RepStride 8, no gap between repeats AscendC::Compare(src0Local, src1Local, AscendC::CMPMODE::LT, mask, repeatParams);mask逐bit模式uint64_t mask[2] { UINT64_MAX, 0}; AscendC::BinaryRepeatParams repeatParams { 1, 1, 1, 8, 8, 8 }; // srcBlkStride, 1, no gap between blocks in one repeat // dstRepStride, srcRepStride 8, no gap between repeats AscendC::Compare(src0Local, src1Local, AscendC::CMPMODE::LT, mask, repeatParams);结果示例如下输入数据(src0Local): [ 86.72287 9.413112 17.033222 -64.10005 -66.2691 -65.57659 15.898049 94.61241 -68.920685 -36.16883 15.62852 68.078514 -59.724575 -9.4302225 -64.770935 66.55523 -84.60122 57.331 60.42026 -86.78856 37.25265 8.356797 -48.544407 16.73616 15.28083 -21.889254 -67.93181 -41.01825 -68.79465 20.169441 44.11346 -27.419518 30.452742 -89.30283 -18.590672 32.45831 8.392082 -57.198048 98.76846 -81.73067 -38.274437 -83.84363 64.30617 6.028703 -20.77164 93.71867 54.190437 94.98172 -47.447758 -65.77461 82.21715 59.953922 23.599781 -77.29708 26.963976 -63.468987 79.97712 -70.47842 39.00433 52.36555 -63.94925 -65.77033 26.17237 -71.904884 ] 输入数据(src1Local): [ 2.2989323 51.8879 -81.49718 41.189415 6.4081917 92.566666 53.205498 -94.47063 -75.38387 36.464787 85.60772 -28.70681 42.58504 -76.15293 38.723816 10.006577 74.53035 -78.38537 71.945404 -4.060528 -14.501523 28.229202 96.87876 41.558033 -92.623215 43.318684 35.387154 -16.029816 61.544827 3.3527017 55.806778 -93.242096 22.86275 -87.506584 35.29523 8.405956 91.03445 -85.29485 34.30078 -3.8019252 93.40503 15.459968 -57.99712 -74.39948 -59.900818 -43.132637 -13.123036 41.246174 -93.01083 75.476875 -45.437893 -99.19293 13.543604 76.23386 46.192528 -39.23934 75.9787 -38.38979 9.807722 -60.610104 -23.062874 48.1669 89.913376 73.78631 ] 输出数据(cmpMask寄存器): [122 86 237 94 150 3 226 242]【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

从Socket层实现C++ Modbus TCP/IP通讯:协议拆解与工业数据采集实战

从Socket层实现C++ Modbus TCP/IP通讯:协议拆解与工业数据采集实战

1. 项目概述与核心价值最近在做一个工业数据采集的项目,需要和一堆PLC、传感器打交道,协议用的就是Modbus TCP。网上找了一圈,要么是封装好的商业库,要么是Python、C#的实现,想找一个纯粹用C、从Socket层开始构建的、能…

📅 2026/9/9 18:21:05
Chambolle-Pock算法(CP算法)

Chambolle-Pock算法(CP算法)

CP算法原始最小化公式的一般形式如下:对偶最大化的一般形式为:推导过程如下:引入约束条件,则目标函数化为接下来引入拉格朗日乘子,构造拉格朗日函数:注意:这里我们采用标准的拉格朗日形式&#…

📅 2026/10/7 9:36:22
本地离线电脑自动化助手,OpenClaw Win11 全版本适配指南(含安装包)

本地离线电脑自动化助手,OpenClaw Win11 全版本适配指南(含安装包)

🦞OpenClaw 小龙虾本地 AI 智能体|Win11 新手完整搭建教程 工具介绍🤖 OpenClaw 被圈内用户称作小龙虾,是一款收获大量社区星标的开源本地智能程序,核心能力是自主接管电脑操作。 可以实现键鼠模拟、文件夹自动归类、…

📅 2026/9/3 16:48:50
MORE NEWS

更多资讯

📰

分布式对象存储系统设计与性能优化实践

1. 分布式对象系统概述分布式对象系统是现代云计算和大数据基础设施的核心组件之一。它通过将数据分散存储在多个物理节点上,同时对外提供统一的访问接口,解决了传统集中式存储系统在可扩展性和可靠性方面的瓶颈。典型的分布式对象系统由以下几个关键部分…

📰

LaTeX脚注设置全解析:编号、版式与特殊环境排错指南

1. 脚注这东西,为什么值得单独拎出来说排一本稍微正式点的稿子,正文写得再顺,到了脚注这一块,基本都要停下来折腾半天。LaTeX 脚注设置看起来就一句\footnote{...},可真要让它按你的意思走——编号从哪开始、每页重排还…

📰

Kafka核心价值与大数据应用实战解析

1. Kafka在大数据领域的核心价值解析Kafka作为分布式消息系统的标杆产品,在大数据生态中扮演着数据管道的关键角色。我曾在某电商平台的实时数仓项目中,用Kafka处理日均百亿级的用户行为数据。这种高吞吐、低延迟的特性,使其成为大数据场景下…

📰

百度文库文档免费下载技术方案全解析

1. 百度文库文档下载需求背景解析百度文库作为国内最大的文档分享平台,汇集了超过8亿份专业文档资源。但平台设置的下载限制让许多用户感到困扰——需要VIP会员或下载券才能获取完整内容。这种机制催生了大量对免费下载方法的需求,特别是在学生群体和职场…

📰

RFID射频识别技术试卷:命题逻辑、答题主线与工程能力分层

射频识别这门课,期末那张“rfid射频识别技术试卷”往往比教材更能暴露教学的边界:教材可以按章节铺陈,试卷却必须在有限篇幅里把频段、耦合、编码、防碰撞、协议栈、系统集成这几条线拧到一起。我带过几届相关课程的上机与答疑,也参与过几套卷子的命题和批改,最深的一个感受是—…

📰

Agent记忆不跟工具搬家:分层设计与跨框架迁移实战

1. 当Agent换了工具就"失忆",问题到底出在哪做过Agent开发的人大概率都经历过这种尴尬:花了两周调教好的一个智能体,在某个框架里跑得挺顺,对话上下文记得住、用户偏好拎得清、任务进度跟得上。结果一换框架、一换编排工…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬