ops-math:基于 CANN 的数学类算子库项目

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

分支16Tags0
当前项目代码仓暂无内容

ops-math

🔥Latest News

  • [2025/09] ops-math项目首次上线。

🚀概述

ops-math是CANN (Compute Architecture for Neural Networks)算子库中提供数学类计算的基础算子库,包括math类、conversion类等算子,算子库架构图如下:

架构图

⚡️快速入门

若您希望快速体验算子的调用和开发过程,请访问如下文档获取简易教程。

  • 算子列表:介绍项目提供的全量算子信息,方便快速查询。
  • 算子调用:介绍调用算子的基本步骤,快速搭建环境,实现算子编译执行。
  • 算子开发:介绍开发算子的基本流程,一键创建算子工程目录,实现Tiling、Kernel核心交付件。

📖学习教程

若您希望深入体验项目功能并修改算子源码,请访问如下文档获取详细教程。

  • 算子调用方式:介绍不同的调用算子方式,方便快速应用于不同的AI业务场景。
  • 算子调试调优:介绍常见的算子调试和调优方法,如DumpTensor、msProf等。
  • 算子基本概念:介绍算子领域相关术语和概念,如非连续Tensor、量化模式等。

🔍目录结构

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

├── cmake                          # 项目工程编译目录
├── common                         # 项目公共头文件和公共源码
├── docs                           # 项目文档介绍
├── examples                       # 端到端算子开发和调用示例
├── experimental                   # 用户自定义算子存放目录
├── math                           # math类算子
│   ├── is_finite                  # is_finite算子所有交付件,如Tiling、Kernel等
│   │   ├── CMakeLists.txt         # 算子编译配置文件
│   │   ├── docs                   # 算子说明文档
│   │   ├── examples               # 算子使用示例
│   │   ├── op_graph               # 算子构图相关目录
│   │   ├── op_host                # 算子信息库、Tiling、InferShape相关实现目录
│   │   │   └── op_api             # 可选,算子aclnn接口实现目录,如未提供则表示此算子的aclnn接口会让工程自动生成
│   │   ├── op_kernel              # 算子kernel目录
│   │   └── README.md              # 算子介绍文档
│   ├── ...
│   └── CMakeLists.txt             # 算子编译配置文件
├── ...
├── conversion                     # conversion类算子
├── random                         # random类算子
├── scripts                        # 脚本目录,包含自定义算子、kernel构建相关配置文件
├── tests                          # 测试工程目录
├── CMakeLists.txt
├── README.md
├── build.sh                       # 项目工程编译脚本
├── install_deps.sh                # 安装依赖包脚本
└── requirements.txt               # 项目需要的第三方依赖包

📝相关信息

项目介绍

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

定制我的领域