本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
action上线适配:checkout改allow-unsafe-pr-checkout,revise-img改comment+TESTTOKEN Co-authored-by: wangyunxiang<wangyunxiang6@h-partners.com> # message auto-generated for no-merge-commit merge: !5754 merge master into master action上线适配:checkout改allow-unsafe-pr-checkout,revise-img改comment+TESTTOKEN Created-by: wangyunxiang1 Commit-by: wangyunxiang Merged-by: cann-robot Description: 统一迁移 .gitcode/workflows 中两类插件参数: 1. process_checkout:token(secrets.GIT_TOKEN) 改为 allow-unsafe-pr-checkout: true 2. revise_image:repo_url(vars.CI_PATH) 改为 comment(atomgit.event.comment.body) + token(secrets.TESTTOKEN) See merge request: cann/ops-math!5754 | 25 天前 | |
feat(aicpu): AICPU built-in整包准入manifest机制 Co-authored-by: liu-wei<lovline.liuwei@huawei.com> # message auto-generated for no-merge-commit merge: !5693 merge feat/aicpu-builtin-package-manifest into master feat(aicpu): AICPU built-in整包准入manifest机制 Created-by: liu-wei Commit-by: liu-wei Merged-by: cann-robot Description: ## 描述 新增aicpu_builtin_package_manifest.cmake策略文件,控制哪些AICPU算子在整包编译(--pkg)时打包device侧.so和json配置。 ### 设计要点 - 默认所有AICPU算子不进入built-in整包(manifest为空=OFF) - 新增算子想进入built-in整包时,在manifest中添加ON条目即可 - 想快速全量放开,把AICPU_BUILTIN_PACKAGE_FORCE_ALL改为ON - 不影响自定义包模式(--ops --vendor_name)行为 - host常量折叠(libopconstant_folding_math.so)不受manifest控制,保持已有行为 - 不新增任何编译选项或命令参数 ### 改动文件 - cmake/config/aicpu_builtin_package_manifest.cmake(新增):manifest策略文件 - CMakeLists.txt:在add_subdirectory之前include manifest文件 - cmake/func.cmake:add_all_modules_sources中增加manifest准入判断,统一控制AICPU的OpDef/JSON/cust_obj三条路径 - cmake/symbol.cmake:gen_norm_symbol中在ENABLE_PACKAGE且非DISABLE_AICPU时调用gen_aicpu_json_symbol和gen_aicpu_kernel_symbol(无准入算子时自动跳过) - 4个算子(topk/tan/lin_space/identity)的op_kernel_aicpu/CMakeLists.txt:统一加manifest准入检查,OpDef/JSON收集和cust_obj编译受同一条件控制 ### manifest使用方式 cmake # cmake/config/aicpu_builtin_package_manifest.cmake set(AICPU_BUILTIN_PACKAGE_FORCE_ALL OFF) set(AICPU_BUILTIN_PACKAGE_MANIFEST # 新增算子想进入built-in整包时在此添加 # "new_op=ON" ) # 全量放开: set(AICPU_BUILTIN_PACKAGE_FORCE_ALL ON) ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3194 ## 测试 ### 一、已有功能回归测试(manifest为空,验证不影响已有功能) TC-01: 整包编译(manifest为空) 命令: bash build.sh --pkg --soc=ascend910_93 -j16 预期: 编译成功;libopconstant_folding_math.so 生成;libmath_aicpu_kernels.so 不生成;aicpu_math.json 不生成;AI Core 产物不变 TC-02: 自定义算子包编译(--ops=cumsum) 命令: bash build.sh --pkg --soc=ascend910_93 --ops=cumsum --vendor_name=custom -j16 预期: 编译成功;libmath_aicpu_kernels.so 生成(含cumsum + identity等);cust_aicpu_kernel.json 生成;与改动前行为一致 TC-03: AI Core 算子不受影响 命令: bash build.sh --pkg --soc=ascend910_93 --ops=add -j16 预期: AI Core kernel binary 正常编译,不涉及 aicpu 逻辑 TC-04: UT 编译不受影响 命令: bash build.sh -u --noexec --soc=ascend910_93 -j16 预期: UT 编译成功,aicpu kernel UT 可执行文件生成 TC-05: host常量折叠库不受manifest影响 命令: bash build.sh --pkg --soc=ascend910_93 -j16 预期: libopconstant_folding_math.so 生成且包含全部已有aicpu算子,manifest为空不影响host_const_obj收集 TC-06: 静态库编译不受影响 命令: bash build.sh --pkg --static --soc=ascend910_93 -j16 预期: 静态库编译成功,产物与改动前一致 ### 二、manifest准入功能测试 TC-07: manifest为空时整包不产出device aicpu产物 前置: manifest中 AICPU_BUILTIN_PACKAGE_MANIFEST 为空 命令: bash build.sh --pkg --soc=ascend910_93 -j16 预期: libmath_aicpu_kernels.so 不生成;aicpu_math.json 不生成 TC-08: manifest指定单个算子ON(cumsum) 前置: manifest中 "cumsum=ON" 命令: bash build.sh --pkg --soc=ascend910_93 -j16 预期: libmath_aicpu_kernels.so 生成(仅含cumsum);aicpu_math.json 生成(仅含cumsum);libopconstant_folding_math.so 照常生成(含全部算子) TC-09: manifest指定多个算子ON 前置: manifest中 "cumsum=ON" 和 "log=ON" 命令: bash build.sh --pkg --soc=ascend910_93 -j16 预期: libmath_aicpu_kernels.so 生成(含cumsum和log);aicpu_math.json 生成(含cumsum和log) TC-10: AICPU_BUILTIN_PACKAGE_FORCE_ALL=ON全量放开 前置: manifest中 set(AICPU_BUILTIN_PACKAGE_FORCE_ALL ON) 命令: bash build.sh --pkg --soc=ascend910_93 -j16 预期: libmath_aicpu_kernels.so 生成(含全部aicpu算子);aicpu_math.json 生成(含全部aicpu算子) TC-11: manifest中写ON但算子不存在 前置: manifest中 "nonexistent_op=ON" 命令: bash build.sh --pkg --soc=ascend910_93 -j16 预期: 编译成功(不报错);libmath_aicpu_kernels.so 不生成;aicpu_math.json 不生成 TC-12: --noaicpu仍然完全关闭aicpu 前置: manifest中 "cumsum=ON" 命令: bash build.sh --pkg --soc=ascend910_93 --noaicpu -j16 预期: DISABLE_AICPU=TRUE;不编译任何aicpu .o;不生成libmath_aicpu_kernels.so;不生成aicpu_math.json;不生成libopconstant_folding_math.so ### 三、manifest匹配准确性测试 TC-13: manifest key使用算子名 前置: manifest中 "cumsum=ON" 命令: bash build.sh --pkg --soc=ascend910_93 -j16 预期: 匹配成功,cumsum进入整包 TC-14: manifest key写错不匹配(大小写敏感) 前置: manifest中 "Cumsum=ON"(大写C) 命令: bash build.sh --pkg --soc=ascend910_93 -j16 预期: 不匹配(STREQUAL大小写敏感),cumsum不进入整包 TC-15: manifest value非ON不匹配 前置: manifest中 "cumsum=OFF" 命令: bash build.sh --pkg --soc=ascend910_93 -j16 预期: 不匹配(STREQUAL要求精确"=ON"),cumsum不进入整包 ### 四、安装卸载测试 TC-16: 整包安装(manifest为空) 命令: bash build.sh --pkg --soc=ascend910_93 -j16 && bash build_out/*.run --quiet --full 预期: 安装成功无ERROR;opp/built-in/op_impl/host_cpu/libopconstant_folding_math.so 存在;opp/built-in/op_impl/aicpu/ 下无 aicpu_math.json 和 libmath_aicpu_kernels.so TC-17: 整包安装(manifest指定ON) 前置: manifest中 "cumsum=ON" 命令: bash build.sh --pkg --soc=ascend910_93 -j16 && bash build_out/*.run --quiet --full 预期: 安装成功;opp/built-in/op_impl/aicpu/config/aicpu_math.json 存在;opp/built-in/op_impl/aicpu/kernel/libmath_aicpu_kernels.so 存在;opp/built-in/op_impl/host_cpu/libopconstant_folding_math.so 存在 TC-18: 整包卸载 命令: bash build_out/*.run --quiet --uninstall 预期: 卸载成功,所有aicpu相关文件被清理 ### 五、4个特殊算子回归测试(topk/tan/lin_space/identity) TC-19: 自定义包模式下4个算子行为不变 命令: bash build.sh --pkg --soc=ascend910_93 --ops=cumsum --vendor_name=custom -j16 预期: 4个算子在自定义包模式下仍被收入AICPU_CUST_OBJ_TARGETS;libmath_aicpu_kernels.so 包含 identity;cust_aicpu_kernel.json 包含 identity;与改动前行为一致 TC-20: 整包模式下4个算子受manifest控制 前置: manifest为空 命令: bash build.sh --pkg --soc=ascend910_93 -j16 预期: 4个算子不被收入AICPU_CUST_OBJ_TARGETS;libmath_aicpu_kernels.so 不生成;identity 不出现在任何产物中 TC-21: 整包模式下manifest指定topk=ON 前置: manifest中 "topk=ON" 命令: bash build.sh --pkg --soc=ascend910_93 -j16 预期: libmath_aicpu_kernels.so 生成(仅含topk);aicpu_math.json 生成(含topk);identity 不在产物中 TC-22: 整包模式下manifest指定identity=ON 前置: manifest中 "identity=ON" 命令: bash build.sh --pkg --soc=ascend910_93 -j16 预期: libmath_aicpu_kernels.so 生成(含identity);aicpu_math.json 生成(含identity,JSON文件正确收集);topk 不在产物中 ### 六、pre-commit检查 TC-23: pre-commit通过 命令: pre-commit run --files <所有修改的文件> 预期: 全部 Passed ## 文档更新 无 ## 类型标签 - [ ] 🐛 Bug修复 - [x] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-math!5693 | 27 天前 | |
delete: 删除文件 resize_v2_tf_plugin.cpp Co-authored-by: VoyageZhou<zhouyuanhang4@h-partners.com> # message auto-generated for no-merge-commit merge: !5744 merge master into master delete: 删除文件 resize_v2_tf_plugin.cpp Created-by: VoyageZhou Commit-by: VoyageZhou Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> delete: 删除文件 resize_v2_tf_plugin.cpp ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [Issues 3168](https://gitcode.com/cann/ops-math/issues/3168) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5744 | 26 天前 | |
fix: 修复多个算子样例运行问题 Co-authored-by: xujiachen8<xujiachen8@h-partners.com> # message auto-generated for no-merge-commit merge: !5878 merge fix-issue-3159-runtime-master-20260920T083218Z into master fix: 修复多个算子样例运行问题 Created-by: xujiachen8 Commit-by: xujiachen8 Merged-by: cann-robot Description: ## 描述 修复 #3159 中多个算子样例无法编译或运行的问题: - 修正 batch_to_space 和 random_uniform_v2 样例中 DT_INT64 输入使用 int32_t 缓冲的问题; - 修正 split 样例的 split_dim 类型、shape、值及动态输出声明; - 修正 accumulate_nv2 普通与 arch35 样例的公共 aclnn 头文件引用路径; - 限制 batch_to_space 的终端输出量,完整结果仍写入输出文件。 本次只修改 examples,不修改算子定义、host tiling 或 kernel 实现。 ## 关联的Issue Closes #3159 ## 测试 - CANN 9.2.0 + Ascend 950PR:Issue 涉及的 7 个 graph/eager 样例全部运行成功; - accumulate_nv2 普通与 arch35 两份样例均运行成功,输出数值符合预期; - exact-files pre-commit、clang-format、OAT 通过; - git -c core.whitespace=cr-at-eol diff --check 通过。 尚未执行四项 msSanitizer,待 PR CI 继续验证。 ## 文档更新 无。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5878 | 22 天前 | |
docs: QUICKSTART.md 等文档的易用性优化 Co-authored-by: xujiachen8<xujiachen8@h-partners.com> # message auto-generated for no-merge-commit merge: !5824 merge openfix-master into master docs: QUICKSTART.md 等文档的易用性优化 Created-by: xujiachen8 Commit-by: xujiachen8 Merged-by: cann-robot Description: ## 描述 优化快速入门、源码构建及快速安装文档: - 运行AddExample样例时显式指定SoC,并补充error 161001排查说明。 - 补充自定义run包安装FAQ,命令按ops-math包名和vendor目录适配。 - 手动安装改为跳转CANN官网Weekly版本和稳定版本,不再单独维护驱动及软件包安装步骤。 ## 测试 - git diff --check通过。 - Markdown解析通过。 - 已结合ops-math打包和example脚本核对相关命令。 ## 文档更新 更新docs/QUICKSTART.md、docs/zh/install/compile.md、docs/zh/install/quick_install.md。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5824 | 24 天前 | |
support compile pypto-pro op in ops-math Co-authored-by: sunhaoxuan2024<sunhaoxuan3@h-partners.com> # message auto-generated for no-merge-commit merge: !5276 merge pr-pypto-math into master support compile pypto-pro op in ops-math Created-by: h9718w Commit-by: sunhaoxuan2024 Merged-by: cann-robot Description: 移植 PyPTO 支持到 ops-math,包括 cmake/func.cmake、cmake/gen_ops_info.cmake、scripts/util/ascendc_impl_build.py、scripts/util/pypto_codegen.py 及示例算子 examples/pypto_add_example See merge request: cann/ops-math!5276 | 1 个月前 | |
fix(experimental): 修复 reduce_sum_v2/reduce_max_v2 AxesAll 对齐 pad 污染 (issues #2605 #3134) Co-authored-by: xujiachen8<xujiachen8@h-partners.com> # message auto-generated for no-merge-commit merge: !5858 merge fix/run-20260920-reduce-axesall-pad/g1-reduce-axesall-pad into master fix(experimental): 修复 reduce_sum_v2/reduce_max_v2 AxesAll 对齐 pad 污染 (issues #2605 #3134) Created-by: xujiachen8 Commit-by: xujiachen8 Merged-by: cann-robot Description: ## 描述 experimental reduce_sum_v2 与 reduce_max_v2 的 AxesAll(axes=-1)全归约路径沿用 32B 对齐后的 tileDataNum/tailDataNum 作为末 tile 参与归约的元素个数。tiling 按对齐长度分核,而 kernel Init 已把 coreDataNum 按逻辑总数 rows*cols 裁剪,二者不一致导致末 tile 把 GM 32B 对齐 pad 一并计入求和/最大值: - #2605:ones{1,5} 物理 buffer 8 元素、pad 填 1000,全归约求和期望 5,实际 3005 - #3134:同样输入全归约求最大值期望 1,实际 1000 修复方式(仅两个 kernel 头文件): - AxesAll 中 DataCopy 仍按 32B 对齐长度搬运(MTE2 对齐约束,与原设计一致),新增按 coreDataNum 逻辑长度计算的 validLen,求和/最大值循环只统计 validLen 个元素,pad 不再参与归约; - CopyIn 改为由调用方传入实际搬运长度(接口形态与已合入的 reduce_mean_v2 修复一致),Axes0/Axes1 调用点语义不变(其累加循环本就有 globalIdx >= totalElements 保护)。 ## 关联的Issue - https://gitcode.com/cann/ops-math/issues/2605 - https://gitcode.com/cann/ops-math/issues/3134 ## 测试 Ascend910B 系列(SoC 归一化 ascend910_93)+ CANN 9.2.0,单算子包源码编译安装后 aclnn 真机验证: - 基线复现:#2605 sum=3005(期望 5)、#3134 max=1000(期望 1),与 issue 报告一致(exit 42) - 修复后:sum=5、max=1,两个 issue 复现用例均 exit 0 - 扩展回归 14 用例全部通过:fp32/fp16 AxesAll+canary pad、Axes0/Axes1+pad(验证既有保护未被破坏)、{1,100003} 多核多 tile 非对齐尾对照 CPU golden、{1,8} 对齐输入无 pad - ascend910b(issue 原始 SoC)编译通过 说明:验证机 SoC 归一化为 ascend910_93,两个算子 op_def 目前仅注册 ascend910b,本地验证时临时补充 ascend910_93 注册(验证后已还原,不在本 PR 范围;与 reduce_mean_v2 等兄弟算子现状一致)。 ## 文档更新 无 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: 🤖 Generated with [Claude Code](https://claude.com/claude-code) See merge request: cann/ops-math!5858 | 22 天前 | |
fix: 修复多个算子样例运行问题 Co-authored-by: xujiachen8<xujiachen8@h-partners.com> # message auto-generated for no-merge-commit merge: !5878 merge fix-issue-3159-runtime-master-20260920T083218Z into master fix: 修复多个算子样例运行问题 Created-by: xujiachen8 Commit-by: xujiachen8 Merged-by: cann-robot Description: ## 描述 修复 #3159 中多个算子样例无法编译或运行的问题: - 修正 batch_to_space 和 random_uniform_v2 样例中 DT_INT64 输入使用 int32_t 缓冲的问题; - 修正 split 样例的 split_dim 类型、shape、值及动态输出声明; - 修正 accumulate_nv2 普通与 arch35 样例的公共 aclnn 头文件引用路径; - 限制 batch_to_space 的终端输出量,完整结果仍写入输出文件。 本次只修改 examples,不修改算子定义、host tiling 或 kernel 实现。 ## 关联的Issue Closes #3159 ## 测试 - CANN 9.2.0 + Ascend 950PR:Issue 涉及的 7 个 graph/eager 样例全部运行成功; - accumulate_nv2 普通与 arch35 两份样例均运行成功,输出数值符合预期; - exact-files pre-commit、clang-format、OAT 通过; - git -c core.whitespace=cr-at-eol diff --check 通过。 尚未执行四项 msSanitizer,待 PR CI 继续验证。 ## 文档更新 无。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5878 | 22 天前 | |
fix: 修复多个算子样例运行问题 Co-authored-by: xujiachen8<xujiachen8@h-partners.com> # message auto-generated for no-merge-commit merge: !5878 merge fix-issue-3159-runtime-master-20260920T083218Z into master fix: 修复多个算子样例运行问题 Created-by: xujiachen8 Commit-by: xujiachen8 Merged-by: cann-robot Description: ## 描述 修复 #3159 中多个算子样例无法编译或运行的问题: - 修正 batch_to_space 和 random_uniform_v2 样例中 DT_INT64 输入使用 int32_t 缓冲的问题; - 修正 split 样例的 split_dim 类型、shape、值及动态输出声明; - 修正 accumulate_nv2 普通与 arch35 样例的公共 aclnn 头文件引用路径; - 限制 batch_to_space 的终端输出量,完整结果仍写入输出文件。 本次只修改 examples,不修改算子定义、host tiling 或 kernel 实现。 ## 关联的Issue Closes #3159 ## 测试 - CANN 9.2.0 + Ascend 950PR:Issue 涉及的 7 个 graph/eager 样例全部运行成功; - accumulate_nv2 普通与 arch35 两份样例均运行成功,输出数值符合预期; - exact-files pre-commit、clang-format、OAT 通过; - git -c core.whitespace=cr-at-eol diff --check 通过。 尚未执行四项 msSanitizer,待 PR CI 继续验证。 ## 文档更新 无。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5878 | 22 天前 | |
[ascend350] 部分算子新增ascend350平台支持 Co-authored-by: huairuchen<chenhuairu@huawei.com> # message auto-generated for no-merge-commit merge: !5748 merge ascend350_adapt_8ops into master [ascend350] 部分算子新增ascend350平台支持 Created-by: huairuchen Commit-by: huairuchen Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> Math仓部分随机数算子在350平台进行适配 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3256 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 冒烟测试 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5748 | 22 天前 | |
设置spack脚本set -e,使其有错误也会继续执行,消除codecheck告警 Co-authored-by: moudi123<moudi1@h-partners.com> # message auto-generated for no-merge-commit merge: !3109 merge master into master 设置spack脚本set -e,使其有错误也会继续执行,消除codecheck告警 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!3109 | 4 个月前 | |
feat: 算子仓适配Ascend5162A芯片编译 Co-authored-by: wuxuening<wuxuening2@huawei.com> # message auto-generated for no-merge-commit merge: !5731 merge feat/ascend5162a-build-support into master feat: 算子仓适配Ascend5162A芯片编译 Created-by: wuxuening Commit-by: wuxuening Merged-by: cann-robot Description: ## 描述 算子仓适配 Ascend5162A 芯片编译:在编译框架(CMakeLists、build 脚本、SOC 映射)与 UT 桩代码中注册 ascend5162a 计算单元,支持通过 --soc=ascend5162a 编译输出 5162A 算子包。 改动清单(9 个文件): | 文件 | 改动 | |---|---| | CMakeLists.txt | ASCEND_ALL_COMPUTE_UNIT 增加 ascend5162a | | scripts/build.conf.sh | SUPPORT_COMPUTE_UNIT_SHORT 增加 ascend5162a | | scripts/build_options.sh | --soc usage 补充 ascend5162a | | scripts/kernel/binary_script/build_env.sh | SOC_MAP 增加 Ascend5162A | | scripts/util/const_var.py | SOC_MAP_EXT 增加 ascend5162a → Ascend5162A | | scripts/util/opdesc_parser.py | SOC_TO_SHORT_SOC_MAP 增加 ascend5162a | | tests/ut/common/tiling_case_executor.cpp | soc 映射表增加 ascend5162a | | tests/ut/op_api/stub/opdev/platform.cpp | ASCEND5162A ToString 映射 | | tests/ut/op_api/stub/opdev/platform.h | SocVersion 枚举增加 ASCEND5162A | ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3201 ## 测试 本地环境(CANN 9.2.0,aarch64)执行 build.sh --soc=ascend5162a,编译通过并成功生成算子包 cann-5162a-ops-math_9.2.0_linux-aarch64.run。 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5731 | 26 天前 | |
feat: 构建脚本增加 --ccache 参数控制,支持编译时禁用 ccache Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !3509 merge master into master feat: 构建脚本增加 --ccache 参数控制,支持编译时禁用 ccache Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 为 build.sh 新增 --ccache=<VALUE> 构建选项,支持在编译时显式启用或禁用 ccache 缓存加速。默认行为保持开启(ENABLE_CCACHE=TRUE),当传入 --ccache=off/false/disable 时关闭 ccache。同时在 cmake/gen_ops_info.cmake 增加一行 _ASCENDC_ENV_VAR 的 message(STATUS ...) 调试输出。 ### 改动详情 - **build.sh** - 在 SUPPORTED_LONG_OPTS 中注册 ccache= 长选项 - checkopts() 中初始化 ENABLE_CCACHE=TRUE,新增 ccache=*) 分支解析 VALUE:值为 off/false/disable 时置 ENABLE_CCACHE=FALSE - assemble_cmake_args() 中追加 CMAKE_ARGS="$CMAKE_ARGS -DENABLE_CCACHE=${ENABLE_CCACHE}",将开关透传给 cmake - 在全部 8 处 usage 帮助文本中补充 --ccache=<VALUE> 说明(VALUE: on/off/true/false/disable,Default: on) - **cmake/gen_ops_info.cmake** - 在 prepare_compile_from_config 的 CCACHE_PROGRAM 块后新增 message(STATUS "_ASCENDC_ENV_VAR: ${_ASCENDC_ENV_VAR}") 调试输出 ## 关联的Issue - #2039 ## 测试 - 构建验证:bash build.sh --ophost --ccache=on(默认开启)与 bash build.sh --ophost --ccache=off(显式关闭)均构建正常,-DENABLE_CCACHE 参数按预期透传给 cmake ## 文档更新 - 无单独文档更新;构建选项说明已通过 build.sh 内 usage 帮助文本同步更新 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3509 | 3 个月前 | |
chore: 补充.gitattributes并将存量png统一迁移至LFS Co-authored-by: ywx1080114<yuanbin22@huawei.com> # message auto-generated for no-merge-commit merge: !5569 merge add-gitattributes into master chore: 补充.gitattributes并将存量png统一迁移至LFS Created-by: yuanbin_22 Commit-by: ywx1080114 Merged-by: cann-robot Description: ## 描述 补充 PR !5397 遗漏的 .gitattributes,并将存量 png 统一迁移至 LFS(单提交、不重写历史)。 ### 背景 PR !5397 以 LFS pointer 形式提交了 docs/zh/figures/CastlikeFusionPass.png,但仓库缺少 .gitattributes 中 filter=lfs 规则声明,导致 git check-attr filter 为 unspecified,检出时该文件无法被 smudge 为真实图片。 ### 变更内容(单提交 8fee7b7ea) - 新增 .gitattributes:*.png filter=lfs diff=lfs merge=lfs -text(对齐 ops-nn / ops-transformer 惯例) - 将存量 37 个 png 二进制文件转换为 LFS pointer 存储,连同已有 pointer 共 38 个 png 统一走 LFS,消除混合存储导致的 git status 假 modified、checkout 告警及后续误提交风险 ## 关联的Issue #3057 ## 测试 - [x] git check-attr filter 对全部 png 返回 lfs - [x] git lfs ls-files 共 38 个文件,工作区可正常检出为真实 PNG - [x] git status clean,无假 modified 文件 - [x] pre-commit / OAT 合规检查通过 - [x] PR 仅含 1 个提交,无历史重写 ## 类型标签 - [x] 其他(工程配置修复) ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-math!5569 | 1 个月前 | |
迁移开源TF插件--math Co-authored-by: yaochen<yaochen15@huawei.com> # message auto-generated for no-merge-commit merge: !4308 merge transfer-math into master 迁移开源TF插件--math Created-by: nextyale Commit-by: yaochen Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:迁移TF插件 See merge request: cann/ops-math!4308 | 2 个月前 | |
feat(cmake): prebed include/aicpu path in Findaicpu.cmake Co-authored-by: liu-wei<lovline.liuwei@huawei.com> # message auto-generated for no-merge-commit merge: !5411 merge feat/prebed-include-aicpu-path into master feat(cmake): prebed include/aicpu path in Findaicpu.cmake Created-by: liu-wei Commit-by: liu-wei Merged-by: cann-robot Description: ## 描述 在 Findaicpu.cmake 中为已安装依赖包构建场景补充 include/aicpu 头文件搜索路径,预埋后续opbase中pkg_inc/aicpu头文件给include/aicpu/路径切换平稳过渡。 ### 变更 cmake if(BUILD_WITH_INSTALLED_DEPENDENCY_CANN_PKG) set(AICPU_INC_DIRS ... ${ASCEND_DIR}/${SYSTEM_PREFIX}/include/experiment/datagw/aicpu/common ${ASCEND_DIR}/${SYSTEM_PREFIX}/pkg_inc ${ASCEND_DIR}/${SYSTEM_PREFIX}/pkg_inc/aicpu ${ASCEND_DIR}/${SYSTEM_PREFIX}/include/aicpu ← 新增 ) ### 涉及文件 | 文件 | 变更 | 说明 | |------|------|------| | cmake/modules/Findaicpu.cmake | +1 | AICPU_INC_DIRS 追加 include/aicpu 路径 | ## 关联的Issue include path增加一个路径,逻辑简单,不用创建issue了。 ## 测试 相关用例测试通过。 ## 文档更新 NA ## 类型标签 - [ ] 🐛 Bug修复 - [x] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [x] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-math!5411 | 1 个月前 | |
fix: Modify the AIDD docs issue Co-authored-by: zwj223<zhangwenjing55@h-partners.com> # message auto-generated for no-merge-commit merge: !4332 merge master into master fix: Modify the AIDD docs issue Created-by: zwj223 Commit-by: zwj223 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修改AIDD扫描的核心资料问题 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#2415](https://gitcode.com/cann/ops-math/issues/2415) ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> quick_op_invocation.md cross_platform_migration_guide.md op_list.md aicpu_develop_guide.md ... ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4332 | 2 个月前 | |
feat: 算子仓适配Ascend5162A芯片编译 Co-authored-by: wuxuening<wuxuening2@huawei.com> # message auto-generated for no-merge-commit merge: !5731 merge feat/ascend5162a-build-support into master feat: 算子仓适配Ascend5162A芯片编译 Created-by: wuxuening Commit-by: wuxuening Merged-by: cann-robot Description: ## 描述 算子仓适配 Ascend5162A 芯片编译:在编译框架(CMakeLists、build 脚本、SOC 映射)与 UT 桩代码中注册 ascend5162a 计算单元,支持通过 --soc=ascend5162a 编译输出 5162A 算子包。 改动清单(9 个文件): | 文件 | 改动 | |---|---| | CMakeLists.txt | ASCEND_ALL_COMPUTE_UNIT 增加 ascend5162a | | scripts/build.conf.sh | SUPPORT_COMPUTE_UNIT_SHORT 增加 ascend5162a | | scripts/build_options.sh | --soc usage 补充 ascend5162a | | scripts/kernel/binary_script/build_env.sh | SOC_MAP 增加 Ascend5162A | | scripts/util/const_var.py | SOC_MAP_EXT 增加 ascend5162a → Ascend5162A | | scripts/util/opdesc_parser.py | SOC_TO_SHORT_SOC_MAP 增加 ascend5162a | | tests/ut/common/tiling_case_executor.cpp | soc 映射表增加 ascend5162a | | tests/ut/op_api/stub/opdev/platform.cpp | ASCEND5162A ToString 映射 | | tests/ut/op_api/stub/opdev/platform.h | SocVersion 枚举增加 ASCEND5162A | ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3201 ## 测试 本地环境(CANN 9.2.0,aarch64)执行 build.sh --soc=ascend5162a,编译通过并成功生成算子包 cann-5162a-ops-math_9.2.0_linux-aarch64.run。 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5731 | 26 天前 | |
docs(contributing): 补充子场景 Tiling 文件与 _tiling 命名约束 Co-authored-by: chensi79<chensi79@huawei.com> # message auto-generated for no-merge-commit merge: !4253 merge fix/issue-2314-tiling-naming-doc into master docs(contributing): 补充子场景 Tiling 文件与 _tiling 命名约束 Created-by: chensi79 Commit-by: chensi79 Merged-by: cann-robot Description: ## 描述 补充子场景 Tiling 交付件说明与 _tiling 命名约束: - CONTRIBUTING.md 附录目录树补充 ${op_name}_tiling_${sub_case}.cpp/.h 两个可选子场景 Tiling 交付件,并在附录增加指向 docs/zh/install/dir_structure.md 的链接,同时说明 op_host 下 Tiling 实现文件名须包含 _tiling 标识才会被编译系统识别。 - docs/zh/install/dir_structure.md 针对 ${op_name}_tiling_${sub_case}.cpp 补充同名命名约束说明。 根因:cmake/func.cmake 通过 file(GLOB ... *_tiling*.cpp) 收集 Tiling 源文件参与编译,不含 _tiling 的文件不会被 glob 命中,因而静默不编译。该约束此前未在文档中披露。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/2314 ## 测试 执行 bash build.sh --ophost 验证文档变更不影响编译,构建通过([100%] Built target ophost_math,EXIT_CODE=0)。 ## 文档更新 - CONTRIBUTING.md:附录目录树补充子场景 Tiling 文件、增加 dir_structure.md 链接、补充 _tiling 命名约束 - docs/zh/install/dir_structure.md:补充 _tiling 命名约束说明 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4253 | 2 个月前 | |
init | 1 年前 | |
docs: 新增CastlikeFusionPass融合pass文档 Co-authored-by: ywx1080114<yuanbin22@huawei.com> # message auto-generated for no-merge-commit merge: !5397 merge castlike-fusion-pass-doc into master docs: 新增CastlikeFusionPass融合pass文档 Created-by: yuanbin_22 Commit-by: ywx1080114 Merged-by: cann-robot Description: ## 描述 新增 CastLike 算子的融合 pass 说明文档,包含融合模式、使用约束及支持的型号信息: - **CastlikeFusionPass**:将图中的 CastLike 算子替换为 Cast 算子,从 CastLike 的类型参考输入 y 中提取目标类型 dst_type,替换后 Cast 仅接收 x 输入并携带 dst_type 属性。支持 Ascend 950PR/Ascend 950DT。 同时新增融合模式示意图(LFS)。 ## 关联的Issue #3057 ## 测试 纯文档更新,无需测试。 ## 文档更新 - 新增 math/cast/docs/CastlikeFusionPass.md - 新增 docs/zh/figures/CastlikeFusionPass.png ## 类型标签 - [x] 文档更新 ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-math!5397 | 1 个月前 | |
[文档] 更新社区入口、架构图及确定性与Batch一致性说明 Co-authored-by: xujiachen8<xujiachen8@h-partners.com> # message auto-generated for no-merge-commit merge: !5668 merge docs_master into master [文档] 更新社区入口、架构图及确定性与Batch一致性说明 Created-by: xujiachen8 Commit-by: xujiachen8 Merged-by: cann-robot Description: ## 描述 - README新增社区全量算子、项目文档、许可证、贡献指南及ops-basic SIG徽章,将Ask AI徽章移至顶部并删除原介绍,补充committer列表链接,更新包含ops-ras的ops-math架构图。 - 新增确定性计算与Batch一致性文档,补充配置方式、版本要求及本仓ReduceSum/Mean的非归约轴限制,并从基本概念和aclnn接口列表提供入口。 - 明确PyTorch配置依赖外部框架及实际算子支持情况,更新CANNLab指导链接。 ## 关联的Issue 无。参考文档变更:https://gitcode.com/cann/ops-nn/pull/10302 。对应9.2.0分支PR:https://gitcode.com/cann/ops-math/pull/5666 。 ## 测试 - 检查修改文档的337个本地链接,全部可解析。 - 核对架构图与提供的05.png一致,确认突出ops-math并包含ops-ras。 - 核对ReduceSum/Mean的API说明及Batch一致性Tiling分支;git diff --check通过。 - 保留master现有API表格及图片Git LFS管理方式。 - 纯文档修改,未运行算子编译或NPU测试。 ## 文档更新 README.md、docs/zh/context/basic_concept.md、docs/zh/context/determinism_compute.md、docs/zh/context/batch_consistency.md、docs/zh/op_api_list.md、docs/zh/install/quick_install.md及架构图。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他 ## AI/Agent生成声明 - [ ] AI辅助编写 See merge request: cann/ops-math!5668 | 28 天前 | |
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 | 5 个月前 | |
【描 述】 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 | 7 个月前 | |
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 | 5 个月前 | |
refactor: 将 build.sh 拆分为模块化构建脚本 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !4239 merge master into master refactor: 将 build.sh 拆分为模块化构建脚本 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 将 ops-math 工程中原本约 1700 行的单体构建脚本 build.sh,按职责拆分为 8 个独立子脚本,放在 scripts/ 目录下。拆分后的 build.sh 仅作为入口,负责引入各模块并调用 main() 主流程统一调度,功能逻辑完全保持不变。 ### 改动原因 原始的 build.sh 将所有构建逻辑(配置管理、参数解析、编译、打包、UT、Example、GenOp 等)集中在一个文件中,代码量庞大(~1738 行),不利于维护和团队协作。本次重构将不同职责的代码分离到独立脚本中,提升可读性和可维护性。 ### 改动方法 - build.sh:精简为入口脚本(~70 行),定义环境变量,按序 source 各模块子脚本,定义 main() 统一调度构建流程 - 各子脚本按职责划分: - scripts/build.conf.sh(106 行):全局配置、变量定义、公共工具函数 - scripts/build_clean.sh(57 行):构建产物清理 - scripts/build_options.sh(846 行):命令行选项解析、校验、帮助信息展示 - scripts/build_cmake.sh(167 行):CMake 初始化与配置 - scripts/build_lib.sh(209 行):库编译、二进制编译、打包 - scripts/build_ut.sh(24 行):单元测试构建 - scripts/build_example.sh(284 行):示例代码构建 - scripts/build_genop.sh(59 行):GenOp 算子代码生成 ## 关联的Issue - #2381 https://gitcode.com/cann/ops-math/issues/2300 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。--> ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码重构 See merge request: cann/ops-math!4239 | 2 个月前 | |
修改yaml配置目录,解决算子测试目录配置位置错误问题 Co-authored-by: sikaiwei<sikaiwei1@h-partners.com> # message auto-generated for no-merge-commit merge: !5739 merge fix_yaml_config into master 修改yaml配置目录,解决算子测试目录配置位置错误问题 Created-by: sikaiwei Commit-by: sikaiwei Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> stateless_normal、drop_out_do_mask_v3、drop_out_do_mask_v3_d等算子yaml配置位置错误,需要修改 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3205 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> MC检查已通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:配置修改 See merge request: cann/ops-math!5739 | 26 天前 | |
fix: 修复 install_deps.sh 中管道与 source 场景被 run_command 吞输出的问题 Co-authored-by: chensi79@huawei.com<chensi79@huawei.com> # message auto-generated for no-merge-commit merge: !3865 merge fix/issue-2143-install-deps-pipe into master fix: 修复 install_deps.sh 中管道与 source 场景被 run_command 吞输出的问题 Created-by: chensi79 Commit-by: chensi79@huawei.com Merged-by: cann-robot Description: ## 描述 修复 install_deps.sh 中 run_command 与管道 / source 配合使用时的两类缺陷。 ### 根因 run_command() 用 output=$("$@" 2>&1) 捕获被包裹命令的标准输出,成功时只重新输出自身的 "Executing command: ..." 日志行。两类调用语义被破坏: 1. **管道场景**(install_cmake Ubuntu 18.04 分支,原 L220/L221):下游(gpg --dearmor、sudo tee)实际收到的是日志行而非真实 payload,Kitware 源 key 与 sources.list 导入失败。 2. **source 场景**(install_python/install_gcc 的 RHEL/CentOS 7 与 macOS 分支,原 L98/L107/L170/L183):run_command source X 在 $(...) 子 shell 中执行 source,导出的环境变量无法进入当前脚本。 ### 改动 去掉这 6 处调用点的 run_command 包裹: - L220 run_command wget -O - ... | gpg --dearmor - | sudo tee ... → wget -O - ... | gpg --dearmor - | sudo tee ... - L221 run_command echo 'deb [signed-by=...]' | sudo tee ... → echo 'deb [signed-by=...]' | sudo tee ... - L98/L107/L170/L183 run_command source X → source X 其余 30+ 处 run_command sudo apt/dnf install ... / run_command brew install ... 调用保持原样——这些场景下 run_command 工作正常(吞 stdout 反而让脚本输出更干净),且仍提供失败诊断。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/2143 ## 测试 - bash -n install_deps.sh 语法检查通过 - 最小逻辑验证(参考 Issue #2143 中的复现用例): - 修复前:run_command printf hello | wc -c 输出 32(下游收到 Executing command: printf hello\n,hello 内容被吞) - 修复后:printf hello | wc -c 输出 5(下游收到真实 payload) ## 文档更新 无(仅修复脚本,未涉及文档) ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3865 | 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 | 5 个月前 | |
chore(version): ops_math包版本由9.1.0升级至9.2.0 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !5298 merge master into master chore(version): ops_math包版本由9.1.0升级至9.2.0 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 ### 改动原因 仓库已进入 9.2.0 发布周期(远端已发布 v9.2.0-beta.2 标签),ops_math 包版本号需由 9.1.0 升级至 9.2.0,与发布节奏对齐。 ### 改动方法 version.cmake 中 set_cann_package(ops_math VERSION "9.1.0") 调整为 "9.2.0"。编译依赖与运行时依赖(runtime/opbase/metadef/ge-compiler/bisheng-compiler/asc-devkit/ge-executor 等 >=8.5)保持不变。 ## 关联的Issue #3003 ## 测试 版本号变更仅影响打包元信息,编译验证通过。 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述:版本升级 See merge request: cann/ops-math!5298 | 1 个月前 |
🔥Latest News
- [2026/07] 新增支持Ascend 950系列算子及新特性,涵盖CumulativeLogSumExp、MatrixSetDiagV2、DropoutV3Grad、SignBitsUnpack、ProdVirialSeA等算子;引入FLOAT8/FLOAT4低精度类型支持、Philox PRNG随机数生成、Reg接口迁移等新特性。
- [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}替换为分支标签名。以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:本项目功能和文档正在持续更新和完善中,欢迎您关注最新版本。