ops-nn:基于 CANN 的神经网络高阶算子库项目

本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。

分支6Tags0
文件最后提交记录最后更新时间
4 个月前
4 个月前
4 个月前
4 个月前
4 个月前
4 个月前
4 个月前
4 个月前
4 个月前
4 个月前
5 个月前
4 个月前
4 个月前
4 个月前
4 个月前
4 个月前
4 个月前
4 个月前
4 个月前
4 个月前
5 个月前
5 个月前
9 个月前
5 个月前
7 个月前
5 个月前
6 个月前
10 个月前
4 个月前
5 个月前
5 个月前
6 个月前
6 个月前
5 个月前
4 个月前
5 个月前
6 个月前
5 个月前

ops-nn

🔥Latest News

🚀概述

ops-nn是CANN (Compute Architecture for Neural Networks)算子库中提供神经网络计算能力的高阶算子库,包括matmul类、activation类等算子,算子库架构图如下:

架构图

📝版本配套

本项目源码会跟随CANN软件版本发布,关于CANN软件版本与本项目标签的对应关系请参阅release仓库中的相应版本说明。 请注意,为确保您的源码定制开发顺利进行,请选择配套的CANN版本与Gitcode标签源码,使用master分支可能存在版本不匹配的风险。

⚡️快速入门

若您希望从零到一快速体验项目能力,请访问下述简易教程。

  1. 环境部署:本文是QuickStart和各类教程的操作前提,请先完成基础环境搭建和源码下载。
  2. QuickStart:针对源码编译、算子调用/开发/调试等关键能力,提供快速上手的简易指南。

📖学习教程

若您已学习完快速入门章节,对本项目有一定认知,并希望深入了解和体验项目,请访问下述详细教程。

  1. 算子列表:提供全量算子信息,方便您查看算子分类和功能。
  2. 算子调用:提供多种源码编译和执行算子样例(包括执行UT)的方法。
  3. 算子开发:提供算子端到端开发指南,从零学习创建算子工程、实现Tiling和Kernel核心交付件。
  4. 算子调试调优:提供常见算子调试和调优方法,如DumpTensor、msProf、Simulator等。

除了上述关键教程,还有其他文档介绍,例如算子调用方式、build参数说明、术语概念等,全量文档请访问docs

🔍目录结构

关键目录如下,详细目录介绍参见项目目录

├── 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接口实现目录,如未提供则表示此算子的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                   # 项目需要的第三方依赖包

💬相关信息

🤝联系我们

本项目功能和文档正在持续更新和完善中,建议您关注最新版本。

项目介绍

本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。

定制我的领域