尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

CANN/Ascend C数据类型转换API

CANN/Ascend C数据类型转换API
📅 发布时间:2026/7/15 9:20:54

asc_half2int4x2 (废弃)

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

产品支持情况

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

功能说明

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

将half类型数据转为int4x2类型,并支持多种舍入模式,饱和/非饱和模式。

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

函数原型

// FLOOR舍入模式,非饱和模式,选取索引0的位置 __simd_callee__ inline void asc_half2int4x2_rd(vector_int4x2_t& dst, vector_half src, vector_bool mask) // FLOOR舍入模式,非饱和模式,选取索引1的位置 __simd_callee__ inline void asc_half2int4x2_rd_v2(vector_int4x2_t& dst, vector_half src, vector_bool mask) // FLOOR舍入模式,饱和模式,选取索引0的位置 __simd_callee__ inline void asc_half2int4x2_rd_sat(vector_int4x2_t& dst, vector_half src, vector_bool mask) // FLOOR舍入模式,饱和模式,选取索引1的位置 __simd_callee__ inline void asc_half2int4x2_rd_sat_v2(vector_int4x2_t& dst, vector_half src, vector_bool mask) // FLOOR舍入模式,非饱和模式,选取索引2的位置 __simd_callee__ inline void asc_half2int4x2_rd_v3(vector_int4x2_t& dst, vector_half src, vector_bool mask) // FLOOR舍入模式,饱和模式,选取索引2的位置 __simd_callee__ inline void asc_half2int4x2_rd_sat_v3(vector_int4x2_t& dst, vector_half src, vector_bool mask) // FLOOR舍入模式,非饱和模式,选取索引3的位置 __simd_callee__ inline void asc_half2int4x2_rd_v4(vector_int4x2_t& dst, vector_half src, vector_bool mask) // FLOOR舍入模式,饱和模式,选取索引3的位置 __simd_callee__ inline void asc_half2int4x2_rd_sat_v4(vector_int4x2_t& dst, vector_half src, vector_bool mask) // RINT舍入模式,非饱和模式,选取索引0的位置 __simd_callee__ inline void asc_half2int4x2_rn(vector_int4x2_t& dst, vector_half src, vector_bool mask) // RINT舍入模式,非饱和模式,选取索引1的位置 __simd_callee__ inline void asc_half2int4x2_rn_v2(vector_int4x2_t& dst, vector_half src, vector_bool mask) // RINT舍入模式,饱和模式,选取索引0的位置 __simd_callee__ inline void asc_half2int4x2_rn_sat(vector_int4x2_t& dst, vector_half src, vector_bool mask) // RINT舍入模式,饱和模式,选取索引1的位置 __simd_callee__ inline void asc_half2int4x2_rn_sat_v2(vector_int4x2_t& dst, vector_half src, vector_bool mask) // RINT舍入模式,非饱和模式,选取索引2的位置 __simd_callee__ inline void asc_half2int4x2_rn_v3(vector_int4x2_t& dst, vector_half src, vector_bool mask) // RINT舍入模式,饱和模式,选取索引2的位置 __simd_callee__ inline void asc_half2int4x2_rn_sat_v3(vector_int4x2_t& dst, vector_half src, vector_bool mask) // RINT舍入模式,非饱和模式,选取索引3的位置 __simd_callee__ inline void asc_half2int4x2_rn_v4(vector_int4x2_t& dst, vector_half src, vector_bool mask) // RINT舍入模式,饱和模式,选取索引3的位置 __simd_callee__ inline void asc_half2int4x2_rn_sat_v4(vector_int4x2_t& dst, vector_half src, vector_bool mask) // ROUND舍入模式,非饱和模式,选取索引0的位置 __simd_callee__ inline void asc_half2int4x2_rna(vector_int4x2_t& dst, vector_half src, vector_bool mask) // ROUND舍入模式,非饱和模式,选取索引1的位置 __simd_callee__ inline void asc_half2int4x2_rna_v2(vector_int4x2_t& dst, vector_half src, vector_bool mask) // ROUND舍入模式,饱和模式,选取索引0的位置 __simd_callee__ inline void asc_half2int4x2_rna_sat(vector_int4x2_t& dst, vector_half src, vector_bool mask) // ROUND舍入模式,饱和模式,选取索引1的位置 __simd_callee__ inline void asc_half2int4x2_rna_sat_v2(vector_int4x2_t& dst, vector_half src, vector_bool mask) // ROUND舍入模式,非饱和模式,选取索引2的位置 __simd_callee__ inline void asc_half2int4x2_rna_v3(vector_int4x2_t& dst, vector_half src, vector_bool mask) // ROUND舍入模式,饱和模式,选取索引2的位置 __simd_callee__ inline void asc_half2int4x2_rna_sat_v3(vector_int4x2_t& dst, vector_half src, vector_bool mask) // ROUND舍入模式,非饱和模式,选取索引3的位置 __simd_callee__ inline void asc_half2int4x2_rna_v4(vector_int4x2_t& dst, vector_half src, vector_bool mask) // ROUND舍入模式,饱和模式,选取索引3的位置 __simd_callee__ inline void asc_half2int4x2_rna_sat_v4(vector_int4x2_t& dst, vector_half src, vector_bool mask) // CEIL舍入模式,非饱和模式,选取索引0的位置 __simd_callee__ inline void asc_half2int4x2_ru(vector_int4x2_t& dst, vector_half src, vector_bool mask) // CEIL舍入模式,非饱和模式,选取索引1的位置 __simd_callee__ inline void asc_half2int4x2_ru_v2(vector_int4x2_t& dst, vector_half src, vector_bool mask) // CEIL舍入模式,饱和模式,选取索引0的位置 __simd_callee__ inline void asc_half2int4x2_ru_sat(vector_int4x2_t& dst, vector_half src, vector_bool mask) // CEIL舍入模式,饱和模式,选取索引1的位置 __simd_callee__ inline void asc_half2int4x2_ru_sat_v2(vector_int4x2_t& dst, vector_half src, vector_bool mask) // CEIL舍入模式,非饱和模式,选取索引2的位置 __simd_callee__ inline void asc_half2int4x2_ru_v3(vector_int4x2_t& dst, vector_half src, vector_bool mask) // CEIL舍入模式,饱和模式,选取索引2的位置 __simd_callee__ inline void asc_half2int4x2_ru_sat_v3(vector_int4x2_t& dst, vector_half src, vector_bool mask) // CEIL舍入模式,非饱和模式,选取索引3的位置 __simd_callee__ inline void asc_half2int4x2_ru_v4(vector_int4x2_t& dst, vector_half src, vector_bool mask) // CEIL舍入模式,饱和模式,选取索引3的位置 __simd_callee__ inline void asc_half2int4x2_ru_sat_v4(vector_int4x2_t& dst, vector_half src, vector_bool mask) // TRUNC舍入模式,非饱和模式,选取索引0的位置 __simd_callee__ inline void asc_half2int4x2_rz(vector_int4x2_t& dst, vector_half src, vector_bool mask) // TRUNC舍入模式,非饱和模式,选取索引1的位置 __simd_callee__ inline void asc_half2int4x2_rz_v2(vector_int4x2_t& dst, vector_half src, vector_bool mask) // TRUNC舍入模式,饱和模式,选取索引0的位置 __simd_callee__ inline void asc_half2int4x2_rz_sat(vector_int4x2_t& dst, vector_half src, vector_bool mask) // TRUNC舍入模式,饱和模式,选取索引1的位置 __simd_callee__ inline void asc_half2int4x2_rz_sat_v2(vector_int4x2_t& dst, vector_half src, vector_bool mask) // TRUNC舍入模式,非饱和模式,选取索引2的位置 __simd_callee__ inline void asc_half2int4x2_rz_v3(vector_int4x2_t& dst, vector_half src, vector_bool mask) // TRUNC舍入模式,饱和模式,选取索引2的位置 __simd_callee__ inline void asc_half2int4x2_rz_sat_v3(vector_int4x2_t& dst, vector_half src, vector_bool mask) // TRUNC舍入模式,非饱和模式,选取索引3的位置 __simd_callee__ inline void asc_half2int4x2_rz_v4(vector_int4x2_t& dst, vector_half src, vector_bool mask) // TRUNC舍入模式,饱和模式,选取索引3的位置 __simd_callee__ inline void asc_half2int4x2_rz_sat_v4(vector_int4x2_t& dst, vector_half src, vector_bool mask)

参数说明

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

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

返回值说明

无

流水类型

PIPE_V

约束说明

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

调用示例

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

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

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

相关新闻

  • 亲身探访长春亨得利官方名表服务中心|全新维修地址和官方电话(2026年7月更新) - 亨得利官方博客
  • 2026 杭州广告牌制作行业剖析及服务商选择干货分享 - 国麟测评
  • CANN/cannbot-skills广播算子Tiling流程

最新新闻

  • Elsevier Tracker:三步实现科研投稿自动追踪的完整指南
  • Python解包详解:从序列解包到函数参数 unpacking
  • uos-exporter数据库监控:ClickHouse、Redis、Elasticsearch全方位监控
  • Material-UI在rmuif中的最佳实践:打造专业级UI界面的5个技巧
  • 跨平台视频下载利器:一键解密微信视频号、抖音等加密资源
  • 家住慈溪别让旧金闲置落灰,宁波易奢福专业黄金回收,透明估价安全靠谱 - ys韩

日新闻

  • 告别启动盘残留:用Diskpart彻底清除U盘EFI分区与恢复完整空间
  • 2026 年宜春诚信的塑料缠绕膜厂家哪个好,缠绕膜背后的秘密:你不知道的成本陷阱 - 领域鉴赏官
  • Arch ECS 入门指南:10分钟掌握C#高性能数据驱动架构

周新闻

  • IX9104 PCIe5.0 高速交换芯片@ACP#完整规格 + 应用场景总结
  • Unity游戏集成Coze智能体:实现NPC智能对话与知识库联动
  • SAP EPIC 建行回单查询:从标准类CL_EPIC_EXAMPLE_CN_CCB_GHTD到Z类的5处关键修改

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号