ops-math_pack:基于 CANN 与 Ascend 生态的数值计算算子库项目

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

Branch1Tags0
FilesLast commitLast update
29 days ago
15 days ago
15 days ago
14 days ago
15 days ago
29 days ago
15 days ago
16 days ago
14 days ago
14 days ago
15 days ago
5 months ago
21 days ago
4 months ago
1 month ago
3 months ago
26 days ago
3 months ago
26 days ago
1 month ago
1 year ago
2 months ago
18 days ago
6 months ago
8 months ago
6 months ago
3 months ago
14 days ago
4 months ago
6 months ago
2 months ago

ops-math

CANNcommunity repo license contributing SIG Zread


🔥Latest News

  • [2026/07] 新增支持Huawei Ascend 950系列算子及新特性,涵盖CumulativeLogSumExp、MatrixSetDiagV2、DropoutV3Grad、SignBitsUnpack、ProdVirialSeA等算子;引入FLOAT8/FLOAT4低精度类型支持、Philox PRNG随机数生成、Reg接口迁移等新特性。
  • [2026/01] 新增QuickStart,指导新手零基础入门算子项目部署(支持Docker环境)、算子开发和贡献流程。
  • [2025/12] 开源算子支持Ascend 950PR&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)算子库中提供数值计算的基础算子库,包括conversion类、math类、random类等,覆盖张量形态变换、基础数学运算、随机数生成等场景,子库在架构图中的位置如下。

架构图

📌版本配套

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

🛠️环境准备

环境部署是体验本项目能力的前提,请先完成NPU驱动、CANN包安装等,确保环境正常。

⬇️源码下载

环境准备好后,下载与CANN版本配套的分支源码,通用命令如下,${tag_version}替换为分支标签名。以9.0.0分支源码下载为例:

# 通用命令:git clone -b ${tag_version} https://gitcode.com/cann/ops-math.git
git clone -b 9.0.0 https://gitcode.com/cann/ops-math.git

说明:若环境中已存在配套分支源码,可跳过本步骤,例如CANNLab默认已提供最新版本CANN对应的源码。

📖学习教程

  • 快速入门:从零开始快速体验项目核心基础能力,涵盖源码编译、算子调用、开发与调试等操作。
  • 进阶教程:如需深入了解项目编译部署、算子调用、开发、调试调优等能力,请查阅文档中心获取详细指引。

💬相关信息


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

  • 问题反馈:通过GitCode【Issues】提交问题。
  • 社区互动:通过GitCode【讨论】参与交流。
  • 技术专栏:通过GitCode【Wiki】获取技术文章。

Introduction

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

Customize your domain