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

CANN Ascend C SIMD掩码更新函数

asc_update_mask

【免费下载链接】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_vector.h"

根据value大小生成对应的掩码寄存器中的值。掩码寄存器的元素有效范围从0到VL_T(位宽为Vector Length的对应数据类型的元素个数)。执行完该函数后,value会减去VL_T。算法逻辑表示如下:

value = (value < VL_T) ? 0 : (value - VL_T);

函数原型

__simd_callee__ inline vector_bool asc_update_mask_b8(uint32_t& value) __simd_callee__ inline vector_bool asc_update_mask_b16(uint32_t& value) __simd_callee__ inline vector_bool asc_update_mask_b32(uint32_t& value)

参数说明

参数名输入/输出描述
value输入/输出矢量计算需要操作的元素的具体数量。

返回值说明

掩码寄存器。若value大于或等于VL_T,则所有元素位置设置为1;若value小于VL_T,则从第0位开始到第value-1位结束的对应元素位置设置为1。

流水类型

PIPE_V

约束说明

调用示例

uint32_t value = 127; vector_bool mask = asc_create_mask_b32(PAT_ALL); // 一共127个元素需要进行计算,即需要2个VL for (int32_t i = 0; i < 2; i++) { mask = asc_update_mask_b32(value); // 使用mask进行一个VL的计算 }

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

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

http://www.cnnetsun.cn/news/3434167.html

相关文章:

  • MPL_ROS与ROS 2迁移指南:从ROS Kinetic到ROS 2 Foxy的完整迁移方案
  • DNABERT-2全面升级:多物种基因组模型如何提升预测性能?
  • jspm美食推荐系统
  • 校园一卡通密钥管理系统
  • 智能卤菜销售平台
  • 企业级即时通讯:以IM为中心重塑业务协同体验
  • GPT-5.6 重构 20 万行遗留代码实践:开发提效 82% 的完整复盘与经验总结
  • Vibe语音转文字:新手也能轻松上手的免费转录工具终极指南
  • 独立站建设与外贸GEO:乐云SEO探索海外流量新路径
  • Home Assistant Floor Plan Generator性能优化:缓存机制与渲染效率提升方法
  • 界面组件Kendo UI for Angular教程 - 构建强大的PDF阅读器(二)
  • 「Qt Widget中文示例指南」如何实现一个简单的RHI小部件示例(一)
  • 如何提升Jenkins构建效率?Build Monitor Plugin核心功能全解析 [特殊字符]
  • Rainbow-delimiters与其他Emacs括号插件的对比分析
  • AI批量写代码后期摆烂?底层原理和落地对策讲透了 ​
  • 解锁Microsoft 365完整功能:Ohook钩子技术的三个关键突破
  • 终极Mac鼠标滚动优化指南:让外接鼠标如丝般顺滑的完整教程
  • 墨西哥各类自然资源与支柱产业完整梳理
  • 如何快速上手Optuna Dashboard?5分钟搭建你的优化监控平台
  • 3分钟上手Reactive Resume:免费开源简历构建器终极指南
  • Loop macOS窗口管理工具:用优雅的径向菜单重新定义工作效率
  • 告别数据混乱:bytebuffer.js的Base64、UTF8与Hex编码转换实战技巧
  • AltoClef:终极Minecraft自动化机器人 - 第一个完全自主通关的AI助手
  • Invoke-WCMDump源码深度剖析:从C到PowerShell的完整实现
  • 为什么选择Vegas?对比Scala生态中的5个数据可视化库
  • 如何自定义Color-Hash:色调、饱和度、亮度的完全控制指南
  • PyCharm中配置qtDesigner
  • CCD二段除铁铝----添加黄钠铁矾晶种(NaFe₃(SO₄)₂(OH)₆),优先吸附Fe³⁺
  • 低代码平台简介:JeecgBoot、AppSmith、ToolJet、Refine、Budibase、Kestra、Node-RED、amis、APIJSON
  • 深入理解bytebuffer.js的API设计:flip、mark与reset方法的高级应用