新闻详情

新闻详情

首页 / 资讯中心 / 详情

cann/asc-devkit half转int4x2 SIMD指令

发布时间:2026/9/5 2:33:57来源:尧图网络
cann/asc-devkit half转int4x2 SIMD指令
asc_half2int4x2 (废弃)【免费下载链接】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 训练系列产品不支持功能说明头文件路径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),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Redisson 与 Spring Boot 版本冲突:3 步定位依赖冲突根因并恢复启动 2026/9/5 20:57:30

Redisson 与 Spring Boot 版本冲突:3 步定位依赖冲突根因并恢复启动

Redisson 与 Spring Boot 版本冲突:3 步定位依赖冲突根因并恢复启动 【免费下载链接】redisson Redisson: Valkey & Redis Java Client and Real-Time Data Platform. Sync/Async/RxJava/Reactive API. Over 50 Valkey and Redis based Java objects and servic…

阅读更多 →
决策树到随机森林:原理、调参与实战 2026/9/5 20:57:30

决策树到随机森林:原理、调参与实战

1. 为什么大多数人的机器学习止步于"调包"先讲一段真事。有次和几个做数据分析的朋友聊天,有人提到自己学会了sklearn里的DecisionTreeClassifier和RandomForestClassifier,简历上写着"熟悉机器学习算法",结果面试官问了…

阅读更多 →
用原生 DOM API 替代 jQuery 的完整对照指南:Atom 仓库内嵌的 You Don‘t Need jQuery 实践手册 2026/9/5 20:57:30

用原生 DOM API 替代 jQuery 的完整对照指南:Atom 仓库内嵌的 You Don‘t Need jQuery 实践手册

用原生 DOM API 替代 jQuery 的完整对照指南:Atom 仓库内嵌的 You Dont Need jQuery 实践手册 【免费下载链接】atom :atom: The hackable text editor 项目地址: https://gitcode.com/gh_mirrors/at/atom 本篇基于 Atom 仓库中随附的 You Dont Need jQuery …

阅读更多 →
微信小程序2048游戏开发实战:从数据模型到触摸交互 2026/9/5 20:57:30

微信小程序2048游戏开发实战:从数据模型到触摸交互

简介:这是一份面向微信小程序初学者与移动开发爱好者的实战项目资源,完整复现经典益智游戏2048的核心逻辑与交互体验,帮助开发者快速掌握小程序页面结构、数据绑定、事件响应及本地存储等关键技能。压缩包共29个文件,包含5个JS文件…

阅读更多 →
微信小程序实战:从零开发2048游戏,掌握核心交互与性能优化 2026/9/5 20:57:30

微信小程序实战:从零开发2048游戏,掌握核心交互与性能优化

简介:这是一份面向微信小程序初学者与移动开发爱好者的实战项目资源,完整实现了经典益智游戏2048的小程序版本,涵盖核心逻辑、UI渲染与手势交互全流程,助力开发者快速掌握小程序组件化开发、数据绑定与事件处理等关键技能。压缩包…

阅读更多 →
Python LDA主题模型实战:电商评论细粒度情感分析与业务洞察 2026/9/5 20:54:30

Python LDA主题模型实战:电商评论细粒度情感分析与业务洞察

简介:本资源是一套面向NLP初学者与数据分析从业者的电商评论情感分析实战项目,聚焦Python环境下LDA主题模型在真实业务场景中的落地应用,解决商家从海量中文评论中自动挖掘潜在主题并判别情感倾向的核心需求。压缩包共15个文件,涵…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞