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

CANN/asc-devkit矢量右移标量API

asc_shiftright_scalar

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

产品支持情况

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

功能说明

根据mask对源操作数src执行右移,右移的位数由输入参数value决定,将结果写入目的操作数dst。 对于无符号数据类型执行逻辑右移,去掉低位,高位填充为0。 对于有数据类型执行算术右移,去掉低位,高位复制符号位。

计算公式如下:

$$ dst_i = src_i >> value $$

函数原型

__simd_callee__ inline void asc_shiftright_scalar(vector_uint8_t& dst, vector_uint8_t src, int16_t value, vector_bool mask) __simd_callee__ inline void asc_shiftright_scalar(vector_int8_t& dst, vector_int8_t src, int16_t value, vector_bool mask) __simd_callee__ inline void asc_shiftright_scalar(vector_uint16_t& dst, vector_uint16_t src, int16_t value, vector_bool mask) __simd_callee__ inline void asc_shiftright_scalar(vector_int16_t& dst, vector_int16_t src, int16_t value, vector_bool mask) __simd_callee__ inline void asc_shiftright_scalar(vector_uint32_t& dst, vector_uint32_t src, int16_t value, vector_bool mask) __simd_callee__ inline void asc_shiftright_scalar(vector_int32_t& dst, vector_int32_t src, int16_t value, vector_bool mask)

参数说明

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

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

返回值说明

流水类型

PIPE_V

约束说明

  • value不支持设置为负数。

调用示例

vector_uint16_t dst; vector_uint16_t src; int16_t value = 1; vector_bool mask = asc_create_mask_b16(PAT_ALL); asc_loadalign(src, src_addr); // src_addr是外部输入的UB内存空间地址。 asc_shiftright_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/793433/

相关文章:

  • Swift集成OllamaKit:本地大模型原生应用开发实战指南
  • AI智能体记忆系统设计:从向量检索到生命周期管理的工程实践
  • AI驱动材料发现:从生成模型原理到工程实践全解析
  • ChameleonUltra深度解析:10大核心功能让你成为RFID安全专家
  • 基于Godot引擎的即时战略游戏框架开发实战指南
  • 零基础也能会!药品西林瓶 AI 缺陷检测项目保姆级实战教程
  • CANN/GE图引擎Profiling初始化接口
  • PD分离(Prefill-Decode Disaggregation)技术方案​​
  • Swift原生Ollama客户端库:简化本地大模型集成与流式对话开发
  • AI新闻链接汇总(2026-05-10)
  • CANN/asc-devkit:SetAlignSplit函数
  • 一种小型家用破壁机的设计
  • Open LLM Leaderboard背后的秘密:HuggingFace evaluation-guidebook深度揭秘
  • CANN/Ascend C调试打印API
  • 【信息科学与工程学】计算机科学与自动化——第三十一篇 半导体晶圆制造01(3)
  • CANN/asc-devkit伪量化API文档
  • YOLO26缝合Polarized Self-Attention:极化自注意力在高分辨率图像的降维打击
  • ROS学习(二)
  • 基于现代霍普菲尔德网络的AI智能体记忆方案:高速、免费、确定性的联想记忆系统
  • Protobuf笔记
  • ChameleonUltra高级应用:硬嵌套攻击与实时卡数据捕获技术
  • ARMv9 TRBMPAM_EL1寄存器配置与性能监控实战
  • AArch64外部调试架构与Debug State机制详解
  • 开源材料计算自动化平台OpenClaw:从高通量筛选到机器学习集成
  • 终极鼠标性能测试指南:5分钟快速诊断你的鼠标问题
  • DLSS Swapper终极指南:免费提升游戏性能的3个简单步骤
  • CANN/ops-math DropOutV3算子
  • BV 开发者指南:Jetpack Compose 在TV应用中的最佳实践
  • CANN/ops-nn动态量化RMS归一化融合算子
  • CANN/ops-nn AdvanceStep算子