本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
当前项目代码仓暂无内容
ops-math
🔥Latest News
- [2026/01] 新增QuickStart,指导新手零基础入门算子项目部署(支持Docker环境)、算子开发和贡献流程。
- [2025/12] 开源算子支持Ascend 950PR/Ascend 950DT,可以通过CANN Simulator仿真工具开发调试;在add算子中增加了<<<>>>kernel异构调用示例,方便用户自定义使用;在多个类别中新支持算子concat、lerp、drop_out_v3等。
- [2025/11] 完善多个算子README描述,改进算子开发实例文档及example。
- [2025/10] 新增experimental目录,完善贡献指南,支持开发者调试并贡献自定义算子。
- [2025/09] ops-math项目首次上线。
🚀概述
ops-math是CANN (Compute Architecture for Neural Networks)算子库中提供数学类计算的基础算子库,包括math类、conversion类等算子,算子库架构图如下:

📝版本配套
本项目源码会跟随CANN软件版本发布,关于CANN软件版本与本项目标签的对应关系请参阅release仓库中的相应版本说明。 请注意,为确保您的源码定制开发顺利进行,请选择配套的CANN版本与Gitcode标签源码,使用master分支可能存在版本不匹配的风险。
⚡️快速入门
若您希望从零到一快速体验项目能力,请访问下述简易教程。
- 环境部署:本文是QuickStart和各类教程的操作前提,请先完成基础环境搭建和源码下载。
- QuickStart:针对源码编译、算子调用/开发/调试等关键能力,提供快速上手的简易指南。
📖学习教程
若您已学习完快速入门章节,对本项目有一定认知,并希望深入了解和体验项目,请访问下述详细教程。
- 算子列表:提供全量算子信息,方便您查看算子分类和功能。
- 算子调用:提供多种源码编译和执行算子样例(包括执行UT)的方法。
- 算子开发:提供算子端到端开发指南,从零学习创建算子工程、实现Tiling和Kernel核心交付件。
- 算子调试调优:提供常见算子调试和调优方法,如DumpTensor、msProf、Simulator等。
除了上述关键教程,还有其他文档介绍,例如算子调用方式、build参数说明、术语概念等,全量文档请访问docs。
🔍目录结构
关键目录如下,详细目录介绍参见项目目录。
├── 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 # 项目需要的第三方依赖包
💬相关信息
🤝联系我们
本项目功能和文档正在持续更新和完善中,欢迎您关注最新版本。