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

CANN/asc-devkit矢量大于等于标量比较API

asc_ge_scalar

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

产品支持情况

产品是否支持
Ascend 950PR/Ascend 950DT

功能说明

ge(greater than or equal to),对源操作数执行逐元素比较。对于src_i >= value,若条件成立则目的操作数对应结果位为1,否则为0,每个元素的比较结果占一个bit。

计算公式如下: $$ dst_i = src_i >= value $$

函数原型

__simd_callee__ inline void asc_ge_scalar(vector_bool& dst, vector_uint8_t src, uint8_t value, vector_bool mask) __simd_callee__ inline void asc_ge_scalar(vector_bool& dst, vector_int8_t src, int8_t value, vector_bool mask) __simd_callee__ inline void asc_ge_scalar(vector_bool& dst, vector_uint16_t src, uint16_t value, vector_bool mask) __simd_callee__ inline void asc_ge_scalar(vector_bool& dst, vector_int16_t src, int16_t value, vector_bool mask) __simd_callee__ inline void asc_ge_scalar(vector_bool& dst, vector_half src, half value, vector_bool mask) __simd_callee__ inline void asc_ge_scalar(vector_bool& dst, vector_bfloat16_t src, bfloat16_t value, vector_bool mask) __simd_callee__ inline void asc_ge_scalar(vector_bool& dst, vector_uint32_t src, uint32_t value, vector_bool mask) __simd_callee__ inline void asc_ge_scalar(vector_bool& dst, vector_int32_t src, int32_t value, vector_bool mask) __simd_callee__ inline void asc_ge_scalar(vector_bool& dst, vector_float src, float value, vector_bool mask)

参数说明

参数名输入/输出描述
dst输出目的操作数(掩码寄存器)。
src输入源操作数(矢量数据寄存器)。
value输入源操作数(标量)。
mask输入源操作数掩码(掩码寄存器),用于指示在计算过程中哪些元素参与计算。对应位置为1时参与计算,为0时不参与计算。mask未筛选的元素在输出中置零。

矢量数据寄存器和掩码寄存器的详细说明请参见reg数据类型定义.md。

返回值说明

流水类型

PIPE_V

约束说明

调用示例

vector_bool dst; vector_half src; half value = 0.0; vector_bool mask = asc_create_mask_b16(PAT_ALL); asc_loadalign(src, src_addr); // src_addr是外部输入的UB内存空间地址。 asc_ge_scalar(dst, src, value, mask);

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

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

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

相关文章:

  • 从零开发游戏需要学习的c#模块,第二十一章(精灵动画 —— 让角色走起来)
  • 3步掌握LLPlayer:从语言学习新手到高效学习者的完整指南
  • GEO 行业技术分水岭:90% 服务商将出局,只有大厂基因的玩家能活下来 - 商业科技观察
  • 汽车总线测试与仿真利器:TSMaster 5分钟快速上手指南
  • HS2-HF_Patch:Honey Select 2 终极汉化与功能增强完整指南
  • cpulimit进程组管理终极指南:如何优雅控制父子进程的CPU资源分配
  • 终极指南:如何为Linux系统安装Realtek RTL8125 2.5GbE网卡驱动并优化性能
  • ThinkPHP-BJYAdmin项目实战:从零搭建电商后台管理系统的完整指南
  • MySQL 高频面试题-01
  • 终极指南:如何用文字描述快速生成专业CAD图纸
  • 并发编程学习-Atomic体系和Collection
  • 暗黑破坏神2存档编辑器完整指南:三步轻松修改D2/D2R角色与装备
  • 深入理解react-tween-state的动画堆叠行为:ADDITIVE vs DESTRUCTIVE的完整对比
  • MySQL高频面试题-02
  • 2026 主流技术栈:hermes agent多环境安装配置:Windows/Mac/Linux
  • 【代码辅助】Cursor vs GitHub Copilot:哪款才是测试开发工程师的最强IDE?
  • Java对象内存布局与对齐填充
  • AsyncAwaitBestPractices异常处理:如何正确捕获和重新抛出异步异常的完整指南
  • 5分钟学会JarEditor:无需解压直接编辑JAR文件的终极指南
  • 如何利用 easy-vibe 快速提升 AI 开发效率?初学者必看教程
  • 【收藏干货】2026年AI Coding全面爆发!程序员终极职业升级攻略,告别被替代焦虑
  • 【软考网络工程师-案例分析易错题整理(下)】
  • 中小团队如何利用 Taotoken 统一管理多模型 API 密钥与成本
  • DAP注意事项
  • react-native-orientation实战案例:构建响应式多方向应用的完整流程
  • app应用接入广告的完整流程和方法:从零搭建可持续变现体系
  • 从研发投入和专利数据,能怎么判断一家工厂的产品定位?一份面向采购与上游销售的定位判读手册
  • BuckyClient完全指南:如何从客户端高效收集性能数据的终极方案
  • 铜钟音乐:如何用React技术栈构建纯净无干扰的现代音乐播放平台?
  • CANN/asc-devkit浮点到FP8转换API