本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
当前访问频次受限,请登录后继续访问
ops-nn
🔥Latest News
- [2025/09] ops-nn项目首次上线。
🚀概述
ops-nn是CANN (Compute Architecture for Neural Networks)算子库中提供神经网络计算能力的高阶算子库,包括matmul类、activation类等算子,算子库架构图如下:

⚡️快速入门
若您希望快速体验算子的调用和开发过程,请访问如下文档获取简易教程。
- 算子列表:介绍项目提供的全量算子信息,方便快速查询。
- 环境部署:介绍项目基础环境的搭建,包括软件包和第三方依赖的获取和安装。
- 算子调用:环境部署后,介绍如何快速调用算子,包括编译执行算子包和UT等。
- 算子开发:环境部署后,介绍如何快速开发算子,包括创建算子工程、实现Tiling和Kernel核心交付件等。
📖学习教程
若您希望深入体验项目功能并修改算子源码,请访问如下文档获取详细教程。
- 算子调用方式:介绍不同的调用算子方式,方便快速应用于不同的AI业务场景。
- 算子调试调优:介绍常见的算子调试和调优方法,如DumpTensor、msProf等。
- 算子基本概念:介绍算子领域相关术语和概念,如非连续Tensor、量化模式等。
🔍目录结构
关键目录如下,详细目录介绍参见项目目录。
├── activation # activation类算子
├── cmake # 项目工程编译目录
├── common # 项目公共头文件和公共源码
├── control # control类算子
├── conv # conv类算子
├── docs # 项目文档介绍
├── examples # 端到端算子开发和调用示例
├── experimental # 用户自定义算子存放目录
├── foreach # foreach类算子
├── index # index类算子
├── loss # loss类算子
├── matmul # matmul类算子
│ ├── transpose_batch_mat_mul # transpose_batch_mat_mul算子所有交付件,如Tiling、Kernel等
│ │ ├── docs # 算子说明文档
│ │ ├── examples # 算子使用示例
│ │ ├── op_graph # 算子构图相关目录
│ │ ├── op_host # 算子信息库、Tiling、InferShape相关实现目录
│ │ │ └── op_api # 算子aclnn接口实现目录
│ │ ├── op_kernel # 算子Kernel目录
│ │ ├── CMakeLists.txt # 算子编译配置文件
│ │ └── README.md # 算子介绍文档
│ ├── ...
│ └── CMakeLists.txt # 算子编译配置文件
├── ...
├── rnn # rnn类算子
├── scripts # 脚本目录,包含自定义算子、Kernel构建相关配置文件
├── tests # 测试工程目录
├── vfusion # vfusion类算子
├── CMakeLists.txt
├── README.md
├── build.sh # 项目工程编译脚本
├── install_deps.sh # 安装依赖包脚本
└── requirements.txt # 项目需要的第三方依赖包