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

CANN/asc-devkit SIMD-API数据类型转换

asc_uint162uint8

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

产品支持情况

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

功能说明

头文件路径:"c_api/reg_compute/reg_convert.h"

将uint16_t类型转化为uint8_t类型,无舍入模式,支持饱和/非饱和模式。

关于饱和/非饱和模式的详细说明,请参见舍入模式。

由于源操作数与目的操作数类型位宽比为2:1,写入数据时需要将一个VL大小的数据分为两部分,根据不同接口选取索引0或者索引1。

函数原型

// 非饱和模式,数据写入索引为偶数的位置 __simd_callee__ inline void asc_uint162uint8(vector_uint8_t& dst, vector_uint16_t src, vector_bool mask) // 饱和模式,数据写入索引为偶数的位置 __simd_callee__ inline void asc_uint162uint8_sat(vector_uint8_t& dst, vector_uint16_t src, vector_bool mask) // 非饱和模式,数据写入索引为奇数的位置 __simd_callee__ inline void asc_uint162uint8_v2(vector_uint8_t& dst, vector_uint16_t src, vector_bool mask) // 饱和模式,数据写入索引为奇数的位置 __simd_callee__ inline void asc_uint162uint8_sat_v2(vector_uint8_t& dst, vector_uint16_t src, vector_bool mask)

参数说明

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

矢量数据寄存器和掩码寄存器的详细说明请参见data_type_definition.md。

返回值说明

流水类型

PIPE_V

约束说明

  • 开启饱和模式和非饱和模式时,需配置ctrl寄存器,ctrl寄存器的详细说明请参见asc_set_ctrl.md。

调用示例

vector_uint16_t src; vector_uint8_t dst; vector_bool mask = asc_create_mask_b16(PAT_ALL); asc_loadalign(src, src_addr); // src_addr是外部输入的UB内存空间地址。 asc_uint162uint8(dst, src, mask);

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

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

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

相关文章:

  • 深度解析Windows DLL注入架构:Xenos注入器的实现原理与实战应用
  • 家住慈溪别让旧金闲置落灰,宁波易奢福专业黄金回收,透明估价安全靠谱 - ys韩
  • 苏州企业本地流量怎么做?豆顶顶GEO优化实操思路全解析
  • 跨平台视频下载利器:一键解密微信视频号、抖音等加密资源
  • 如何30秒看透B站评论区真实身份:开源成分检测器完全指南
  • RK3576开发板ADB驱动安装与配置指南
  • 扒光 OpenAI 前端:十亿用户的 ChatGPT 网页版,底层居然这么“普通”?
  • 大模型参数量与训练数据的协同效应解析
  • 7月西安黄金回收交易录像规范盘点,逸程全程留存记录保障售后维权 - 融媒生活
  • 2026学习机选购指南:跳出参数内卷,聚焦素养适配与真实学习流
  • 西安人旧黄金变现图鉴:拒绝套路和压价,2026年放心卖金选这几家 - 西安知道
  • 2026杭州香奈儿包包回收领头羊哪里找:认准逸程奢侈品回收中心 - 逸程奢侈品回收中心
  • ROS机器人系统开发:yocto-meta-ros在OpenEuler上的应用案例
  • 高流速工况怎么选择流量计?康宝莱水务M6300G系列高流速流量计来了 - 康宝莱智慧水务
  • 探索YimMenu:打造更安全的GTA V游戏体验指南
  • AI工具选型决策框架:从能力层到交付层的实操指南
  • Ultra Librarian转换工具在EDA设计中的高效应用
  • CANN数据类型转换API文档
  • GTA5线上小助手:免费开源的一站式游戏增强工具终极指南
  • Java面试宝典:从基础到架构22
  • FTXUI:用C++构建现代化终端GUI应用的声明式框架
  • 2026 宁波慈溪乡镇闲置黄金出手优选 易奢福全域预约收金报价透明无隐形收费 - ys韩
  • docker-compose.yml文件中使用.env文件以及密码特殊字符解决方案
  • 微信投票小程序选哪个?云众评选VS腾讯投票VS问卷星,2026年全面测评 - 微信投票小程序
  • 无线充电器方案:XS016MCU与驱动芯片架构解析
  • Jiuwen AgentCore:打造企业级AI智能体的终极开发框架,轻松构建生产级Agent应用
  • 开关电源与电机驱动电路设计要点解析
  • C++操作系统自动组卷系统:从算法设计到工程实践
  • 为什么你的跨屏体验总是不完美?Macast投屏工具让设备连接变得简单高效
  • 【车载开发系列】DTC老化机制与故障自愈逻辑深度解析