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

发布时间:2026/9/27 13:25:47

CANN/asc-devkit SIMD C-API数据类型转换
asc_int322uint8 (废弃)【免费下载链接】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。将int32_t类型转化为uint8_t类型支持饱和/非饱和模式。关于舍入模式和饱和/非饱和模式的详细说明请参见舍入模式。由于源操作数与目的操作数类型位宽比为4:1写入数据时需要将一个VL大小的数据分为四部分根据不同接口选取索引0、索引1、索引2或者索引3。函数原型// 非饱和模式数据写入索引0的位置 __simd_callee__ inline void asc_int322uint8(vector_uint8_t dst, vector_int32_t src, vector_bool mask) // 饱和模式数据写入索引0的位置 __simd_callee__ inline void asc_int322uint8_sat(vector_uint8_t dst, vector_int32_t src, vector_bool mask) // 非饱和模式数据写入索引1的位置 __simd_callee__ inline void asc_int322uint8_v2(vector_uint8_t dst, vector_int32_t src, vector_bool mask) // 饱和模式数据写入索引1的位置 __simd_callee__ inline void asc_int322uint8_sat_v2(vector_uint8_t dst, vector_int32_t src, vector_bool mask) // 非饱和模式数据写入索引2的位置 __simd_callee__ inline void asc_int322uint8_v3(vector_uint8_t dst, vector_int32_t src, vector_bool mask) // 饱和模式数据写入索引2的位置 __simd_callee__ inline void asc_int322uint8_sat_v3(vector_uint8_t dst, vector_int32_t src, vector_bool mask) // 非饱和模式数据写入索引3的位置 __simd_callee__ inline void asc_int322uint8_v4(vector_uint8_t dst, vector_int32_t src, vector_bool mask) // 饱和模式数据写入索引3的位置 __simd_callee__ inline void asc_int322uint8_sat_v4(vector_uint8_t dst, vector_int32_t src, vector_bool mask)参数说明参数名输入/输出描述dst输出目的操作数矢量数据寄存器。src输入源操作数矢量数据寄存器。mask输入源操作数掩码掩码寄存器用于指示在计算过程中哪些元素参与计算。对应位置为1时参与计算为0时不参与计算。mask未筛选的元素在输出中置零。矢量数据寄存器和掩码寄存器的详细说明请参见data_type_definition.md。返回值说明无流水类型PIPE_V约束说明无调用示例vector_int32_t src; vector_uint8_t dst; vector_bool mask asc_create_mask_b32(PAT_ALL); asc_loadalign(src, src_addr); // src_addr是外部输入的UB内存空间地址。 asc_int322uint8(dst, src, mask);【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

C++实现256色BMP位图拼接:从文件格式解析到调色板处理实战

C++实现256色BMP位图拼接:从文件格式解析到调色板处理实战

2026/8/22 19:49:45

1. 项目概述与核心价值 最近在整理一些老旧的图像素材时,遇到了一个挺有意思的问题:手头有一批256色的BMP位图,需要把它们无缝拼接成一张大图。这类图像在早期的游戏素材、图标集或者一些工业控制系统的界面中很常见。直接用Photoshop之类的现…

kylin-installer核心功能解析:轻松管理你的OpenEuler系统软件包

kylin-installer核心功能解析:轻松管理你的OpenEuler系统软件包

2026/9/24 17:49:09

kylin-installer核心功能解析:轻松管理你的OpenEuler系统软件包 【免费下载链接】kylin-installer UKUI Desktop Environment component, Used to install and uninstall packages 项目地址: https://gitcode.com/openeuler/kylin-installer 前往项目官网免费…

鸣潮自动化工具ok-ww:3分钟解放双手,智能刷声骸与日常任务全攻略

鸣潮自动化工具ok-ww:3分钟解放双手,智能刷声骸与日常任务全攻略

2026/8/23 0:12:42

鸣潮自动化工具ok-ww:3分钟解放双手,智能刷声骸与日常任务全攻略 【免费下载链接】ok-wuthering-waves 鸣潮 后台自动战斗 自动刷声骸 一键日常 Automation for Wuthering Waves 项目地址: https://gitcode.com/GitHub_Trending/ok/ok-wuthering-waves…

CANN/GE ACL数据集缓冲区添加函数

CANN/GE ACL数据集缓冲区添加函数

2026/9/26 19:14:12

aclmdlAddDatasetBuffer 【免费下载链接】ge GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、Te…

用ffmpeg高效批量调整图片尺寸的实战指南

用ffmpeg高效批量调整图片尺寸的实战指南

2026/9/27 1:30:29

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱

2026/9/27 1:30:37

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱 【免费下载链接】transformers 🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and mu…

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南

2026/9/27 1:30:35

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南 【免费下载链接】rustfs 🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system sup…

Java Integer缓存揭秘:128陷阱原理、避坑与面试全解

Java Integer缓存揭秘:128陷阱原理、避坑与面试全解

2026/9/27 1:30:34

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据

2026/9/26 16:36:51

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据 【免费下载链接】rustfs 🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system supporting mi…

远程协作的工作台整理

远程协作的工作台整理

2026/9/26 14:29:04

远程协作的工作台整理远程协作的核心不是再加一个工具,而是让交接信息足够完整。异步任务要写明目标、输入位置、完成标准和需要决策的人。 工作台的最小配置 将日程、待办、代码和沟通入口收拢到少数固定位置;通知按紧急程度分层。工作台不需要模仿办公…

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

2026/9/26 13:57:22

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

2026/9/26 23:35:16

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…