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

CANN-ops-nn-昇腾NPU神经网络算子的积木盒子

你去超市买过那种混合装坚果吗一袋里面核桃、腰果、巴旦木都有打开直接吃不用自己搭配。ops-nn 在昇腾CANN生态里就是这个角色——把神经网络最常用的算子打包好了打开就能用。昇腾NPU跑大模型、跑视觉模型底层都绕不开它。定位算子层的标准件ops-nn 是 CANN AOL 算子库里的神经网络类基础算子仓库。它不追求极致融合——那是 ops-transformer 的事——它追求的是覆盖广、接口稳、性能靠谱。在 CANN 五层架构里ops-nn 跟 ops-transformer 一样位于第二层昇腾计算服务层属于 AOL 算子库。ops-nn 在下ops-transformer 在上ops-math/ops-blas → ops-nn → ops-transformer → ATB 基础数学 神经网络 大模型融合 加速库ops-nn 的算子会被 ops-transformer 的融合算子作为组件调用也会被 ATB 直接调用非融合路径。算子清单类别代表算子说明卷积Conv2D, Conv3D, DepthwiseConv2DCNN 的核心Tiling 对性能影响最大全连接MatMul Bias Activation 融合单独的 MatMul 在 ops-blas这里带激活的版本归一化LayerNorm, BatchNorm, GroupNorm, RMSNorm大模型用 LayerNorm/RMSNormCV 用 BatchNorm激活函数ReLU, GELU, SiLU, Swish, Sigmoid单独的激活函数性能差异不大融合价值在跟前后算子合体池化MaxPool, AvgPool, AdaptiveAvgPoolCV 模型用得多损失函数CrossEntropy, NLLLoss, BCELoss训练场景采样Interpolate, Upsample图像生成模型这些算子单独看都不复杂。但在昇腾NPU上把每个都跑出理论性能需要针对达芬奇架构做适配。ops-nn 的价值就是帮你把这些适配工作做了。融合算子ops-nn 的隐藏能力ops-nn 不只是简单算子的集合它也有融合算子。最典型的是 MatMul Bias Activation 三合一importtorch_npu# 标准写法3个kernelxtorch.nn.functional.linear(x,w,b)# MatMul Biasxtorch.nn.functional.silu(x)# Activation# 总共2个kernelLinear内部已融合Bias# ops-nn 融合写法1个kernelxtorch_npu.npu.linear_activation(x,w,b,activationsilu)# MatMul Bias SiLU 一次完成昇腾NPU上这个融合的收益不只是少一次 kernel launch。更关键的是中间结果不写回 HBM——Linear 的输出在 Cube 单元算完后直接在片上缓存传给 Vector 单元做 SiLU零显存开销。在大模型的 FFN 层这个融合每层能省约 0.1 GB 的 HBM 读写。32 层就是 3.2 GB看起来不多但在 decode 阶段 NPU 利用率只有 30-40% 的场景下每次 HBM 读取都是延迟来源。跟 ops-transformer 的边界容易混淆的地方LayerNormops-nn 实现ops-transformer 不会重新实现。FlashAttention 不包含 LayerNorm。SiLU 激活ops-nn 有独立实现但在 ops-transformer 的 MergedMatMul 里可能被融合掉。QKV Linearops-nn 的linear_activation可以做但 ops-transformer 的 MergedMatMul RotaryEmbedding 融合效果更好。简单规则如果你的模型是标准 Transformer 架构优先用 ops-transformer 的融合算子如果是自定义模型结构用 ops-nn 的基础算子自己拼。和 PyTorch 原生算子的关系CANN 的 torch_npu 会自动把 PyTorch 的标准 API 映射到 ops-nn# 这两行等价xtorch.nn.functional.layer_norm(x,[4096])xtorch_npu.npu.layer_norm(x,[4096])# 底层走 ops-nn 的 kernel不需要手动调 ops-nn API。PyTorch 代码在昇腾NPU上跑的时候torch_npu 自动把算子分发到 CANN 的实现。ops-nn 是你不太需要主动关心的仓库——它在底层默默干活通过 torch_npu 和 ATB 间接服务你。但当你的自定义模型在昇腾NPU上性能不达标时查一下算子是不是走到了 ops-nn 的融合路径往往能找到突破口。仓库在这里https://atomgit.com/cann/ops-nn
http://www.zskr.cn/news/1361574.html

相关文章:

  • 软考中级嵌入式——第九章 数据结构与算法
  • 【AI Agent社交应用实战指南】:2024年已验证的7大落地场景与避坑清单
  • 【教育科技圈内部流传】:Claude提示词工程在K12课件创作中的6个致命误区(92%教师正在踩坑)
  • 限时解密:Midjourney未公开的复古风格隐藏指令集(--grain 0.8 --fade 0.65 --halation true),仅剩最后87个测试席位
  • 合肥市内10家防水补漏公司实战推荐 - 资讯纵览
  • qKnow 智能体构建平台 v2.2.0 重磅更新!视觉焕新 + 数据看板 + 功能拓展全方位升级
  • 项目介绍 基于java+vue的跨境电商销售预测与可视化平台设计与实现(含模型描述及部分示例代码)专栏近期有大量优惠 还请多多点一下关注 加油 谢谢 你的鼓励是我前行的动力 谢谢支持 加油 谢谢
  • 紧急预警:2024年底起,欧盟CSRD与国内《电力人工智能应用安全规范》将强制要求Agent可解释性审计——3类高危黑箱行为自查清单
  • 单一职责原则 登录功能重构笔记
  • 消防展厅体验馆设备【119模拟报警系统】
  • 三步免费解锁WeMod完整功能:Wand-Enhancer开源工具终极指南
  • Git 版本控制完全指南:从分支管理到远程协作
  • 在Node.js后端服务中集成Taotoken调用AI模型的最佳实践
  • 从零入门 OpenAI Codex|登录、权限、终端、记忆配置全实操
  • 企业部署文件加密系统后,员工嫌卡顿怎么办?我们这样优化策略
  • 号卡联盟官方邀请码应该填什么?实测填写16888注册一级代理全网佣金最高0抽成 - 流量卡代理招商
  • 解决华硕灵耀X双屏Linux下扬声器不工作的问题
  • 2026清远搬厂公司费用明细 + 避坑指南(含精密设备 红木搬运) - 从来都是英雄出少年
  • 【Linux驱动开发】第12天:Linux设备树核心:树形结构+节点+属性 完整全解
  • 滑膜观测器代码及参数取值说明
  • 2025大厂Java后端面试:RAG高频考点【干货】
  • 暹罗外卖 2.0 主要更新
  • 知识图谱在真实业务场景落地实践
  • 技术债务管理:平衡开发速度与代码质量
  • 腾讯混元全新翻译模型Hy-MT2开源,小程序「腾讯Hy翻译」开放体验
  • 如何快速下载微信视频号、抖音、小红书等平台资源?这款开源工具帮你搞定!
  • 如何用开源工具实现自动化硬件适配?OpCore-Simplify让跨平台部署变得简单
  • COMET神经网络翻译评估框架:架构设计与技术实现深度解析
  • 抖音下载神器:5步掌握批量下载的终极指南
  • Java并发编程:ReentrantLock与AQS原理剖析