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

CANN/Ascend C原子最小操作API

asc_set_atomic_min

【免费下载链接】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 推理系列产品

功能说明

设置计算结果以原子比较的方式传输到GM。在拷贝前,将待传输的数据与GM中已有数据进行逐元素比较,并将最小值写入GM。数据类型支持int8_t/int16_t/int32_t/bfloat16_t/half/float。

函数原型

__aicore__ inline void asc_set_atomic_min_int8() __aicore__ inline void asc_set_atomic_min_int16() __aicore__ inline void asc_set_atomic_min_bfloat() __aicore__ inline void asc_set_atomic_min_float16() __aicore__ inline void asc_set_atomic_min_int() __aicore__ inline void asc_set_atomic_min_float()

参数说明

返回值说明

流水类型

PIPE_S

约束说明

使用结束后,建议通过asc_set_atomic_none关闭原子最小操作,以免影响后续相关指令功能。

调用示例

// total_length指参与计算的数据长度,dst是外部输入的float类型的GM内存。 constexpr uint32_t total_length = 256; __ubuf__ int8_t src0[total_length]; __ubuf__ int8_t src1[total_length]; asc_copy_ub2gm(dst, src0, total_length * sizeof(int8_t)); asc_sync_pipe(PIPE_MTE3); asc_set_atomic_min_int8(); asc_copy_ub2gm(dst, src1, total_length * sizeof(int8_t)); asc_set_atomic_none();

结果示例:

输入数据src0:[1, 1, 1, ..., 1] // int8_t类型 输入数据src1:[2, 2, 2, ..., 2] // int8_t类型 输出数据dst:[1, 1, 1, ..., 1] // int8_t类型

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

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

http://www.gsyq.cn/news/1552609.html

相关文章:

  • SVGuitar高级技巧:实现手绘风格和自定义形状的吉他和弦图
  • 2026年南宁市CPPM考试最新全攻略:科目题型、通过率、备考重点及官方双认证报考机构推荐 - 众智商学院课程中心
  • 2026年市政污水在线溶解氧仪优选品牌TOP10:荧光法技术全面替代下的国产化格局与选型指南 - 仪表品牌榜
  • CANN/asc-devkit SIMD int32转float函数
  • 如何快速上手Unity2D Components:初学者必备的10个核心组件
  • 4层纵深防御:构建企业级API安全防护体系
  • 揭秘ZLUDA:让非NVIDIA显卡运行CUDA程序的深度指南
  • 2027 成都融创全新升级|智能化教学体系上线,官方咨询渠道统一公布 - 成都单招培训
  • Adobe开源中心:探索Adobe开源项目的完整指南
  • CANN/asc-devkit int16转uint8函数
  • 高速ADC芯片MCP37D20-200:数字下变频与PLL时钟配置实战解析
  • Paralayout入门指南:10分钟掌握iOS像素完美布局神器
  • 通风配件专业供应商十大实力厂家解析,零套路采购放心之选 - mypinpai
  • Numix图标主题性能优化:如何让图标加载更快、内存占用更少
  • NSK W2507FA滚珠丝杠技术手册
  • 3步搞定跨平台局域网文件传输:LANDrop终极解决方案
  • MHmarkets:围绕执行效率与流程清晰度的要点复盘
  • 贡献你的力量!CushyStudio开源社区参与指南与贡献者奖励计划
  • 【字节跳动】第一部分:VAR间歇性变量奖励体系——定向诱导青少年熬夜成瘾底层方案
  • 深入理解 Dart 中的接口与实现
  • MPC5200 GPIO模块深度解析:从寄存器到驱动代码实战
  • 私有化协作底座:自主可控需求下,局域网即时通讯的基座革命
  • 2026年6月优质口碑好的抽屉式钣金货架生产厂家推荐,伸缩悬臂货架电动手摇/悬臂式伸缩货架,抽屉式钣金货架企业哪个好 - 品牌推荐师
  • 为什么这款跨平台待办工具能让你的效率提升300%?
  • Grok-4实测真相:识别灰盒模型的能力边界与落地风险
  • 2026年6月专业的HDPE板公司哪家可靠,HDPE板耐低温,寒冷环境不变形 - 品牌推荐师
  • PHP轻量工单系统源码包:含前后端代码、MySQL配置与Nginx/Apache部署脚本
  • CANN/oam-tools综合检测
  • 深入解析PowerPC 601 MMU:地址转换、TLB协同与内存保护机制
  • vum框架入门指南:如何快速构建Vue.js移动端应用