CANN asc-devkit原子最小操作API文档 SetAtomicMin(ISASI)【免费下载链接】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 训练系列产品不支持功能说明头文件路径为basic_api/kernel_operator_set_atomic_intf.h。设置后续搬运到GM的数据是否执行原子比较将待拷贝的内容和GM已有内容进行比较然后将最小值写入GM。SetAtomicMin接口可通过设置模板参数来设定不同的数据类型。函数原型template typename T __aicore__ inline void SetAtomicMin()参数说明表1模板参数说明参数名描述T设定不同的原子最小操作数据类型。数据类型支持的数据类型为int8_t、int16_t、half、bfloat16_t、int32_t、float。返回值说明无约束说明Ascend 950PR/Ascend 950DT支持的数据通路为UB/L0C Buffer-GM。Atlas A3 训练系列产品/Atlas A3 推理系列产品支持的数据通路为UB/L0C Buffer/L1 Buffer-GM。Atlas A2 训练系列产品/Atlas A2 推理系列产品支持的数据通路为UB/L0C Buffer/L1 Buffer-GM。使用完后建议通过DisableDmaAtomic关闭原子最小操作以免影响后续相关功能。该接口执行前不会自动清零GM数据。开发者需根据算子逻辑判断是否清零如需清零请在执行前手动完成。SetAtomicMin内部已集成与SetAtomicType相同的功能。建议调用上述接口时通过设置模板参数显式指定原子操作的数据类型无需额外调用SetAtomicType接口。调用示例#include kernel_operator.h constexpr uint32_t SIZE 256; __aicore__ inline void CopyIn() { AscendC::LocalTensorT srcLocal queueSrc.AllocTensorT(); // 清空原子操作的状态 AscendC::DisableDmaAtomic(); AscendC::DataCopy(srcLocal, srcGlobal, SIZE); queueSrc.EnQue(srcLocal); // 核间同步 AscendC::SyncAll(); } __aicore__ inline void CopyOut() { AscendC::LocalTensorT srcLocal queueSrc.DeQueT(); // 开启原子MIN模式3个核取最小值 AscendC::SetAtomicMinT(); AscendC::DataCopy(dstGlobal, srcLocal, SIZE); // 关闭原子操作 AscendC::DisableDmaAtomic(); queueSrc.FreeTensor(srcLocal); } /* 每个核的输入数据为: Src0: [1,1,1,1,1,...,1] // 256个1 Src1: [2,2,2,2,2,...,2] // 256个2 最终输出数据: [1,1,1,1,1,...,1] // 256个1 */完整样例请参考DataMovementWithAtomicOperations样例。【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

最新新闻

LayerZero V2社区生态建设:如何参与协议治理和贡献

LayerZero V2社区生态建设:如何参与协议治理和贡献

LayerZero V2社区生态建设:如何参与协议治理和贡献 【免费下载链接】LayerZero-v2 项目地址: https://gitcode.com/gh_mirrors/la/LayerZero-v2 LayerZero V2是一个创新的跨链互操作协议,为开发者和用户提供高效、安全的区块链间通信解决方案。作…

2026/7/16 21:07:17
AI服务订阅技术方案:支付风控、账号安全与自动化实践

AI服务订阅技术方案:支付风控、账号安全与自动化实践

最近不少开发者都在问:到底有没有稳定靠谱的AI服务订阅渠道?特别是ChatGPT Plus、Claude Pro这些热门服务,支付失败、账号被封、订阅失效的问题层出不穷。作为一个长期使用各类AI服务的开发者,我深知订阅过程中的痛点:…

2026/7/16 21:07:17
POE供电实战:从原理到华为AC配置详解

POE供电实战:从原理到华为AC配置详解

1. POE供电技术基础解析第一次接触POE供电时,我也被它的神奇之处震惊了——一根普通的网线居然能同时传输数据和电力!这就像用一根吸管既能喝可乐又能吃薯条,简直是网络工程师的魔法。在企业级WLAN部署中,POE技术彻底解决了Fit AP…

2026/7/16 21:07:17
LFM2.5-Embedding-350M-bf16:Apple Silicon上的终极多语言嵌入模型完全指南

LFM2.5-Embedding-350M-bf16:Apple Silicon上的终极多语言嵌入模型完全指南

LFM2.5-Embedding-350M-bf16:Apple Silicon上的终极多语言嵌入模型完全指南 【免费下载链接】LFM2.5-Embedding-350M-bf16 项目地址: https://ai.gitcode.com/hf_mirrors/mlx-community/LFM2.5-Embedding-350M-bf16 在人工智能快速发展的今天,多…

2026/7/16 21:07:17
Orca-4B社区贡献指南:如何参与这个开源世界模型项目

Orca-4B社区贡献指南:如何参与这个开源世界模型项目

Orca-4B社区贡献指南:如何参与这个开源世界模型项目 【免费下载链接】Orca-4B 项目地址: https://ai.gitcode.com/BAAI/Orca-4B 欢迎来到Orca-4B开源世界模型项目的社区贡献指南!🎉 作为北京智源人工智能研究院推出的下一代世界模型&…

2026/7/16 21:07:17
GNAT Studio 2024 社区版安装与多平台配置指南

GNAT Studio 2024 社区版安装与多平台配置指南

1. GNAT Studio 2024社区版简介如果你是第一次接触Ada语言开发环境,GNAT Studio绝对是你最好的起点。作为AdaCore官方推出的轻量级IDE,2024社区版在保持核心功能免费的同时,新增了对现代Ada 2022标准的支持。我实测发现它的代码补全响应速度比…

2026/7/16 21:02:17

月新闻