本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
子流水线支持更新门禁代码 Co-authored-by: zhangxu-<zhangxu109@huawei.com> # message auto-generated for no-merge-commit merge: !2617 merge master into master 子流水线支持更新门禁代码 Created-by: zhangxu- Commit-by: zhangxu- Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 子流水线支持更新门禁代码 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 线上测试 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> NA ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2617 | 3 个月前 | |
doc Tools扫描错误修改 Co-authored-by: gitee-yanglulu<yanglulul@h-partners.com> # message auto-generated for no-merge-commit merge: !1899 merge master into master doc Tools扫描错误修改 Created-by: gitee-yanglulu Commit-by: gitee-yanglulu Merged-by: cann-robot Description: doc Tools扫描错误修改 See merge request: cann/ops-math!1899 | 5 个月前 | |
fix: 修复opbuild编译工具目录路径,使用OP_BUILD_TOOL变量替换硬编码路径 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !2992 merge master into master fix: 修复opbuild编译工具目录路径,使用OP_BUILD_TOOL变量替换硬编码路径 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 修复 gen_aicpu_ini_from_opdef 函数中 opbuild 编译工具路径硬编码问题。原代码使用了 /toolkit/tools/opbuild/op_build 硬编码路径,在 version.cmake 删除对 asc-tools 的依赖后,该路径可能导致编译时找不到 opbuild 工具。 ### 修改内容 - 文件:cmake/opbuild.cmake 第245行 - 将硬编码路径 /toolkit/tools/opbuild/op_build 替换为已定义的变量 ` - OP_BUILD_TOOL 变量已在 cmake/variables.cmake:115 中定义为 /tools/opbuild/op_build,与现有 gen_opbuild_target 函数中的用法保持一致 ### 影响范围 - 仅影响 AICPU 算子的 opbuild ini/json 生成流程(gen_aicpu_ini_from_opdef 函数) - 不影响其他编译流程 ## 关联的Issue - #1691 ## 测试 - 执行 bash build.sh --pkg --jit -j32 编译验证通过 - 输出包 cann-910b-ops-math_9.0.0_linux-aarch64.run` 成功生成 ## 文档更新 无 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2992 | 3 个月前 | |
refactor: 消除 math 算子重复头文件依赖,统一引用 base 仓 Co-authored-by: tianqiguang<tianqiguang@huawei.com> # message auto-generated for no-merge-commit merge: !2969 merge feature/conversion-dedup into master refactor: 消除 math 算子重复头文件依赖,统一引用 base 仓 Created-by: tianqiguang Commit-by: tianqiguang Merged-by: cann-robot Description: ## 描述 消除 math 目录下 60+ 个算子的重复头文件依赖,将 tiling 基类和模板注册引用统一到 base 仓。 ### 改动原因 math 目录下各算子各自直接 #include tiling_base.h 和 tiling_templates_registry.h,且通过 using namespace Ops::Math::OpTiling 引入全局命名空间: - tiling_base.h 中 TilingBaseClass 已在 base 仓提取为 tiling_base_class.h - tiling_templates_registry.h 中 math 专用注册宏已拆分到 math_tiling_templates_registry.h - using namespace 引入全局命名空间会导致符号冲突风险 ### 改动方法 1. 修正 math_tiling_templates_registry.h 中文件注释和拼写错误 2. 批量更新 math 算子文件的 #include: - tiling_base.h → tiling_base_class.h - tiling_templates_registry.h → math_tiling_templates_registry.h 3. 移除 using namespace Ops::Math::OpTiling,改用显式命名空间: - TilingBaseClass → Ops::Base::TilingBaseClass - TilingRegistry::GetInstance() → Ops::Math::OpTiling::TilingRegistry::GetInstance() ## 关联的Issue - #1682 ## 测试 - 涉及的 math 算子二级冒烟测试已通过 ## 文档更新 无文档变更 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码重构,消除重复头文件依赖 See merge request: cann/ops-math!2969 | 3 个月前 | |
PermuteFusionPass, ReduceMeanWithCastFusionPass融合规则 Co-authored-by: pengyiming7<pengyiming7@h-partners.com> # message auto-generated for no-merge-commit merge: !2838 merge fusion_pass into master PermuteFusionPass, ReduceMeanWithCastFusionPass融合规则 Created-by: pengyiming7 Commit-by: pengyiming7 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> PermuteFusionPass, ReduceMeanWithCastFusionPass融合规则 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/1687 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2838 | 3 个月前 | |
xlog1py | 2 个月前 | |
修改不易理解词汇-使能,并补齐op_list(math/random类) Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !2982 merge master into master 修改不易理解词汇-使能,并补齐op_list(math/random类) Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ①修改不易理解词汇-使能; ②排查op_list.md中math/random类下算子目录是否齐全 ③排查op_api_list.md是否齐全 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 已验证 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> op_list.md op_api_list.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2982 | 3 个月前 | |
修改不易理解词汇-使能,并补齐op_list(math/random类) Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !2982 merge master into master 修改不易理解词汇-使能,并补齐op_list(math/random类) Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ①修改不易理解词汇-使能; ②排查op_list.md中math/random类下算子目录是否齐全 ③排查op_api_list.md是否齐全 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 已验证 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> op_list.md op_api_list.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2982 | 3 个月前 | |
xlog1py | 2 个月前 | |
feat(sim_thread_exponential)算子支持 Co-authored-by: liangtongxue<lianglihui@h-partners.com> # message auto-generated for no-merge-commit merge: !2751 merge liangtongxue/sim-thread-exponential-no-split into master feat(sim_thread_exponential)算子支持 Created-by: liangtongxue Commit-by: liangtongxue Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> feat(sim_thread_exponential)算子支持 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2751 | 3 个月前 | |
refactor: 移除多个算子 tiling 文件中冗余的 tiling_util.h 头文件引用 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !2962 merge master into master refactor: 移除多个算子 tiling 文件中冗余的 tiling_util.h 头文件引用 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 本 PR 对多个算子的 tiling 代码进行头文件引用清理和代码格式化,移除不再需要的 op_host/tiling_util.h 引用,统一代码风格。 ### 改动原因 - 多个算子的 tiling 文件中仍残留 #include "op_host/tiling_util.h" 头文件引用,该头文件已不再被使用,属于冗余依赖 - 部分文件的代码格式不统一(行宽、缩进等),需要进行格式化对齐 ### 改动方法 1. **移除冗余头文件**:在以下 24 个算子的 tiling 文件中移除 #include "op_host/tiling_util.h": - axpy_v2, bitwise_and, diag_part, equal, erf, floor, nan_to_num, pow, pow2, real, real_div, reciprocal, reduce_max_v2, reduce_min_v2, reduce_sum_v2, round, rsqrt, rsqrt_grad, select_v2, sign, sign_bits_pack, sign_bits_unpack, sqrt, tanh_grad 2. **equal 算子**:额外移除 #include "op_host/tiling_templates_registry.h",替换为 register/op_impl_registry.h、tiling/platform/platform_ascendc.h、graph/utils/type_utils.h 3. **real 算子**:在移除冗余头文件的基础上,进行代码格式化调整,统一行宽和缩进风格 4. **CI 脚本**(scripts/ci/gen_ci_cmd.py):将 experimental 算子的 CI example 命令生成逻辑从"使用默认算子"改为直接跳过,避免生成无效的测试命令 ## 关联的Issue - #1666 ## 测试 编译验证通过,移除未使用的头文件不影响功能。 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码重构 - 移除冗余头文件引用和代码格式化 See merge request: cann/ops-math!2962 | 3 个月前 | |
ops-math新增spack安装方式 Co-authored-by: moudi123<moudi1@h-partners.com> # message auto-generated for no-merge-commit merge: !2585 merge master into master ops-math新增spack安装方式 Created-by: moudi123 Commit-by: moudi123 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2585 | 4 个月前 | |
refactor: 统一gtest链接目标为GTest::gtest以适配cann-cmake接口 Co-authored-by: chensi79@huawei.com<chensi79@huawei.com> # message auto-generated for no-merge-commit merge: !2979 merge master into master refactor: 统一gtest链接目标为GTest::gtest以适配cann-cmake接口 Created-by: chensi79 Commit-by: chensi79@huawei.com Merged-by: cann-robot Description: ## 描述 适配cann-cmake接口变更,将CMake构建系统中所有 gtest链接目标统一替换为CMake标准命名GTest::gtest,并移除冗余的ALIAS定义。 ### 改动原因 cann-cmake接口已将gtest的CMake target Name改为标准的GTest::gtest,下游仓库需同步适配,否则会出现链接目标找不到的编译错误。 ### 改动方法 1. 移除cmake/ut.cmake中手动创建的gtest/gtest_main ALIAS(4行),因为cann-cmake已直接提供GTest::gtest target 2. 将cmake/ut.cmake中所有target_link_libraries里的gtest替换为GTest::gtest(共12处) 3. 将tests/ut/下6个CMakeLists.txt中的gtest替换为GTest::gtest(每文件1处) 涉及文件: - cmake/ut.cmake:核心构建脚本,移除ALIAS + 全部替换 - tests/ut/op_api/CMakeLists.txt - tests/ut/op_api/op_api_ut_common/src/CMakeLists.txt - tests/ut/op_graph/CMakeLists.txt - tests/ut/op_host/CMakeLists.txt - tests/ut/op_kernel/CMakeLists.txt - tests/ut/op_kernel_aicpu/CMakeLists.txt ## 关联的Issue - https://gitcode.com/cann/ops-math/issues/1688 ## 测试 通过编译验证,确认所有UT模块使用GTest::gtest target正常链接。 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:CMake构建系统接口适配 See merge request: cann/ops-math!2979 | 3 个月前 | |
update license Co-authored-by: zhaozi3<zhaozi3@h-partners.com> # message auto-generated for no-merge-commit merge: !417 merge master into master update license Created-by: zhaozi3 Commit-by: zhaozi3 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!417 | 8 个月前 | |
docs: 移除 AI Core 算子开发进阶指南文档并清理相关引用 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !2879 merge master into master docs: 移除 AI Core 算子开发进阶指南文档并清理相关引用 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 移除 docs/zh/develop/aicore_develop_advanced_guide.md 文档文件(AI Core 算子开发进阶指南),并清理其他文档中对该进阶指南的所有引用链接。 具体改动: - 删除 docs/zh/develop/aicore_develop_advanced_guide.md(1412行) - 清理 docs/zh/develop/aicore_develop_guide.md 中 6 处指向进阶指南的引用(涉及算子原型定义、Tiling实现、Kernel实现、图模式适配、Aclnn适配、代际隔离章节) - 清理 docs/zh/develop/graph_develop_guide.md 中 1 处指向进阶指南的引用(GE图模式原型定义章节) - 更新 .gitignore 添加 .opencode/ 忽略规则 ## 关联的Issue - #1635 ## 测试 - 验证删除文档后,其余文档中无残留的失效链接引用 - 验证剩余文档结构完整,章节衔接自然 ## 文档更新 - 删除了 AI Core 算子开发进阶指南文档 - 清理了 aicore_develop_guide.md 和 graph_develop_guide.md 中的相关引用 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [x] 其他,请描述:清理文档引用链接 See merge request: cann/ops-math!2879 | 3 个月前 | |
贡献Ascend C实现的Equal算子 Co-authored-by: fullt<full.fu@huawei.com> # message auto-generated for no-merge-commit merge: !2890 merge equal_v2 into master 贡献Ascend C实现的Equal算子 Created-by: fullt Commit-by: fullt Merged-by: cann-robot Description: ## 描述 贡献Ascend C实现equal算子。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/368 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2890 | 3 个月前 | |
math仓的doc tools 工具检测的低错问题 Co-authored-by: caiwenwen<caiwenwen6@h-partners.com> # message auto-generated for no-merge-commit merge: !2461 merge master into master math仓的doc tools 工具检测的低错问题 Created-by: caiwenwen Commit-by: caiwenwen Merged-by: cann-robot Description: ## 描述 处理math仓的doc tools 工具检测的低错问题,包括markdown低错、htlm标签合入、链接是否可以正常跳转 ## 关联的Issue #关联issue#1262 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 更新全部文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2461 | 4 个月前 | |
refactor: 统一使用CANN公共仓接口管理第三方依赖 Co-authored-by: chensi79@huawei.com<chensi79@huawei.com> # message auto-generated for no-merge-commit merge: !2816 merge master into master refactor: 统一使用CANN公共仓接口管理第三方依赖 Created-by: chensi79 Commit-by: chensi79@huawei.com Merged-by: cann-robot Description: ## 描述 将第三方依赖(eigen、protobuf、json、gtest)的构建管理从项目内维护的 cmake 脚本切换为 CANN 公共仓提供的 add_cann_third_party() 接口,统一依赖获取方式。 主要改动: - CMakeLists.txt:移除 4 个 include(cmake/third_party/*.cmake),改用 add_cann_third_party() 下载 eigen、protobuf、json;新增 ENABLE_OPEN_SRC 开关;通过 host_protoc 目标获取 protoc 路径 - cmake/func.cmake:Eigen3::EigenMath → Eigen3::Eigen(5 处);protobuf include 路径更新为公共仓变量;${ABSL_SOURCE_DIR} → ${ABS_INSTALL_DIR};依赖 ascend_protobuf_build_math → host_protoc - cmake/ut.cmake:gtest 改用 add_cann_third_party(gtest) 并创建 ALIAS;Eigen3::EigenMath → Eigen3::Eigen(4 处) - tests/ut/op_kernel_aicpu/CMakeLists.txt:Eigen3::EigenMath → Eigen3::Eigen ## 关联的Issue https://gitcode.com/cann/ops-math/issues/1603 ## 测试 编译通过,UT 用例运行正常,二级冒烟通过 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:构建系统重构 See merge request: cann/ops-math!2816 | 3 个月前 | |
docs: 补充生态算子精度标准引用 Co-authored-by: chaotang233<tangchao47@hisilicon.com> # message auto-generated for no-merge-commit merge: !2634 merge master into master docs: 补充生态算子精度标准引用 Created-by: chaotang233 Commit-by: chaotang233 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。-->增加精度标准的索引,确保仓可以引用到精度标准 会议纪要:https://etherpad-cann.meeting.osinfra.cn/p/TSC  ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。-->CONTRIBUTING.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2634 | 3 个月前 | |
init | 11 个月前 | |
规范化OAT.xml中许可证声明形式 Co-authored-by: chenyx2012<975102023@qq.com> # message auto-generated for no-merge-commit merge: !2009 merge master into master 规范化OAT.xml中许可证声明形式 Created-by: chenyx_2012 Commit-by: chenyx2012 Merged-by: cann-robot Description: ## 描述 规范化OAT.xml中许可证声明形式 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2009 | 5 个月前 | |
modify CANNLab desc Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !2651 merge master into master modify CANNLab desc Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 云开发环境名称由WebIDE更正为CANNLab ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> NA ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> quick_install.md QUICKSTART.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2651 | 3 个月前 | |
math仓的doc tools 工具检测的低错问题 Co-authored-by: caiwenwen<caiwenwen6@h-partners.com> # message auto-generated for no-merge-commit merge: !2461 merge master into master math仓的doc tools 工具检测的低错问题 Created-by: caiwenwen Commit-by: caiwenwen Merged-by: cann-robot Description: ## 描述 处理math仓的doc tools 工具检测的低错问题,包括markdown低错、htlm标签合入、链接是否可以正常跳转 ## 关联的Issue #关联issue#1262 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 更新全部文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2461 | 4 个月前 | |
【描 述】 eigen update to 5.0.0 Co-authored-by: j00427146<jialimin1@huawei.com> # message auto-generated for no-merge-commit merge: !985 merge master into master 【描 述】 eigen update to 5.0.0 Created-by: jialimin1 Commit-by: j00427146 Merged-by: cann-robot Description: ## 描述 现开源软件eigen 3.4.0 EOM,Eigen 从3.4.0版本升级到5.0.0,解决生命周期问题。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试   ## 文档更新 SECURITY.md docs/zh/context/build_offline.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:Update Eigen to 5.0.0 See merge request: cann/ops-math!985 | 6 个月前 | |
add_example_aicpu修改 Co-authored-by: Ding_Jing<dingjing19@huawei.com> # message auto-generated for no-merge-commit merge: !2237 merge bugfix-0415 into master add_example_aicpu修改 Created-by: Ding_Jing Commit-by: Ding_Jing Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本PR的具体修改内容如下: 1、修复add_example_aicpu的ut 2、ut说明中添加aicpu的kernel执行 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> issue [#1122](https://gitcode.com/cann/ops-math/issues/1122) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> [2026-04-15 13:01:30] [ RUN ] TEST_AddExample_UT.INT32_VECTOR_ADD_SUCC [2026-04-15 13:01:30] [ OK ] TEST_AddExample_UT.INT32_VECTOR_ADD_SUCC (0 ms) [2026-04-15 13:01:30] [----------] 1 test from TEST_AddExample_UT (0 ms total) [2026-04-15 13:01:30] [2026-04-15 13:01:30] [----------] Global test environment tear-down [2026-04-15 13:01:30] [==========] 1 test from 1 test suite ran. (0 ms total) [2026-04-15 13:01:30] [ PASSED ] 1 test. [2026-04-15 13:01:30] [100%] Built target math_aicpu_op_kernel_ut ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新了docs/zh/install/compile.md ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2237 | 4 个月前 | |
feat: 新增 cannsim 仿真一键运行脚本及 --noexec 编译选项 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !2874 merge master into master feat: 新增 cannsim 仿真一键运行脚本及 --noexec 编译选项 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 新增 cannsim 仿真端到端运行脚本 scripts/ci/run_cannsim_example.sh,支持在 Ascend950 平台上对算子执行编译、安装、示例编译和 cannsim 仿真四阶段流程。同时在 build.sh 中新增 --noexec 选项,允许仅编译示例而不执行,便于交叉编译场景下将产物提供给 cannsim 使用。 ### 改动原因 原有 build.sh --run_example 会编译后立即执行示例,无法满足交叉编译+cannsim 仿真的场景需求(目标平台无 NPU 硬件)。需要一个独立的脚本串联构建→安装→编译示例→cannsim 仿真的完整流程。 ### 改动方法 1. **build.sh**: 新增 --noexec 命令行选项,设置 ENABLE_UT_EXEC 变量控制是否执行编译产物;更新 usage 帮助信息。 2. **scripts/ci/run_cannsim_example.sh**: 新增四阶段脚本(Stage 1 构建算子包 → Stage 2 安装算子包 → Stage 3 编译示例 --noexec → Stage 4 运行 cannsim 仿真),支持 --skip-build、--skip-cannsim、--gen-report、--clean、-j 等选项,并输出各阶段耗时统计。 ## 关联的Issue - https://gitcode.com/cann/ops-math/issues/1632 ## 测试 - 使用 bash build.sh --run_example <op> eager cust --noexec --vendor_name=custom 验证仅编译不执行功能正常 - 使用 bash scripts/ci/run_cannsim_example.sh <op_name> 验证四阶段端到端流程 - 使用 --skip-build、--skip-cannsim、--gen-report、--clean 等选项验证各分支逻辑 ## 文档更新 无文档文件变更,usage 帮助信息已在 build.sh 中更新。 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2874 | 3 个月前 | |
将matmul_compress_dequant算子从math仓迁到nn仓 Co-authored-by: wmg1<wangmingguang2@h-partners.com> # message auto-generated for no-merge-commit merge: !2728 merge test_c into master 将matmul_compress_dequant算子从math仓迁到nn仓 Created-by: wmg1 Commit-by: wmg1 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 将matmul_compress_dequant算子从math仓迁到nn仓 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。-->https://gitcode.com/cann/ops-math/issues/1507 <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:matmulcompressdequant算子迁到nn仓去 See merge request: cann/ops-math!2728 | 3 个月前 | |
fix: install_deps.sh GCC安装增加版本自动检测与回退机制,适配Debian 13等新版本系统 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !2987 merge master into master fix: install_deps.sh GCC安装增加版本自动检测与回退机制,适配Debian 13等新版本系统 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> install_deps.sh 中 install_gcc() 的 Debian 分支原先硬编码安装 gcc-9/g++-9,在 Debian 13 等新版本系统上 gcc-9 包已不可用,导致依赖安装失败。 本次改动将 Debian 分支的 GCC 安装逻辑改为自动版本检测:遍历 gcc-9 ~ gcc-14 候选版本,通过 apt-cache show 检查包是否存在于软件源中,自动选择第一个可用的版本进行安装;若所有候选版本均不可用,则降级安装系统默认的 gcc/g++ 包,确保在各种 Debian 版本上都能成功安装 GCC。 ### 改动方法 - 新增候选版本数组 (9 10 11 12 13 14),逐个通过 apt-cache show gcc-$ver 和 apt-cache show g++-$ver 检测包可用性 - 找到可用版本后安装对应版本的 gcc 和 g++,并设置 update-alternatives - 所有候选版本均不可用时,回退到安装默认 gcc/g++ 包 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> - #1686 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> - 在 Debian 13 环境下验证安装脚本能正确检测并安装可用的 GCC 版本 - 在 Debian 11/12 环境下验证原有行为不受影响 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> - 无 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2987 | 3 个月前 | |
docs: 优化环境部署文档结构,补充基础依赖和构建参数说明 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !2404 merge master into master docs: 优化环境部署文档结构,补充基础依赖和构建参数说明 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 重构项目环境部署相关文档,优化安装流程说明结构。将构建工具依赖安装步骤从 compile.md 迁移至 quick_install.md,使开发者在一处即可完成全部环境准备;补充 build.sh 的 --soc 参数支持列表;新增 absl-py 和 jinja2 Python 依赖。 具体改动: 1. README.md:优化源码下载说明措辞,将 WebIDE 提示改为醒目的注释块说明 2. build.sh:新增 --soc 参数所有支持值的说明,列出 ascend910b、ascend910_93、ascend950 等全部 SoC 型号 3. docs/zh/install/compile.md:移除"安装构建工具"章节(已迁移至 quick_install.md) 4. docs/zh/install/quick_install.md:重构手动安装章节,新增"安装基础依赖"小节,整合构建工具和 Python 依赖安装步骤 5. requirements.txt:新增 absl-py>=2.0.0 和 jinja2>=3.1.0 依赖 ## 关联的Issue - #1347 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 更新了 README.md、docs/zh/install/compile.md、docs/zh/install/quick_install.md 文档内容。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2404 | 4 个月前 | |
依赖cmake公共仓api,降低编译工程复杂度 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !2311 merge master into master 依赖cmake公共仓api,降低编译工程复杂度 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 依赖cmake公共仓api,降低编译工程复杂度 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2311 | 4 个月前 |
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)算子库中提供数值计算的基础算子库,包括conversion类、math类、random类等,覆盖张量形态变换、基础数学运算、随机数生成等场景,子库在架构图中的位置如下。

本仓已集成代码仓库智能体,点击 徽章,进入其专属页面,开启在线智能代码学习与知识问答体验!
📌版本配套
本项目源码会跟随CANN软件版本发布,关于CANN软件版本与本项目标签的对应关系请参阅release仓库中的相应版本说明。 请注意,为确保您的源码定制开发顺利进行,请选择配套的CANN版本与Gitcode标签源码,使用master分支可能存在版本不匹配的风险。
🛠️环境准备
环境部署是体验本项目能力的前提,请先完成NPU驱动、CANN包安装等,确保环境正常。
⬇️源码下载
环境准备好后,下载与CANN版本配套的分支源码,命令如下,${tag_version}替换为分支标签名。
说明:若环境中已存在配套分支源码,可跳过本步骤,例如CANNLab默认已提供最新商发版CANN对应的源码 。
git clone -b ${tag_version} https://gitcode.com/cann/ops-math.git
📖学习教程
💬相关信息
PS:本项目功能和文档正在持续更新和完善中,欢迎您关注最新版本。