本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
update runs-on,修改actions任务使用的资源池,优化oh冒烟任务 Co-authored-by: liuyi<larry.liuyi@huawei.com> # message auto-generated for no-merge-commit merge: !4638 merge master into master update runs-on,修改actions任务使用的资源池,优化oh冒烟任务 Created-by: Larry_liuyi Commit-by: liuyi Merged-by: cann-robot Description: ## 描述 修改actions任务使用的资源池 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:修改actions任务使用的资源池 See merge request: cann/ops-math!4638 | 13 天前 | |
grouped_bias_add_grad误用的arch32统一改为arch22 Co-authored-by: clinglai0517<laichangling@huawei.com> # message auto-generated for no-merge-commit merge: !4964 merge arch32-fix-groupaddbias into master grouped_bias_add_grad误用的arch32统一改为arch22 Created-by: clinglai0517 Commit-by: clinglai0517 Merged-by: cann-robot Description: ## 描述 将math/grouped_bias_add_grad算子中误用arch32的目录及代码引用统一修正为arch22, 与ascend910_93/ascend910b对应arch22的架构目录约定保持一致: 1. 目录重命名(3处): - math/grouped_bias_add_grad/op_host/arch32 -> arch22 - math/grouped_bias_add_grad/op_kernel/arch32 -> arch22 - math/grouped_bias_add_grad/tests/ut/op_host/arch32 -> arch22 2. 内容替换(8个文件): - CMakeLists.txt中SUPPORT_TILING_DIR由"arch32" "arch32" "arch35"修正为"arch22" "arch22" "arch35" - grouped_bias_add_grad.cpp中的op_kernel include路径 - op_host/op_kernel UT中的include路径与CMake引用 - cmake/func.cmake、docs/zh/develop/aicore_develop_guide.md中的arch目录示例 3. 同步更新classify_rule.yaml中2处math/grouped_bias_add_grad路径条目。 【影响范围】 - 涉及算子:grouped_bias_add_grad ## 关联的Issue Issue #2749 ## 测试 - 算子编译及ut通过 - math目录下rg检索arch32(含Arch32/ARCH32)无残留 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4964 | 6 天前 | |
feat: MatrixDiagPartV3/MatrixDiagV3 新增 RT2 infershape Co-authored-by: Ding_Jing<dingjing19@huawei.com> # message auto-generated for no-merge-commit merge: !4600 merge feat/add-rt2-infershape-matrix-diag-v3 into master feat: MatrixDiagPartV3/MatrixDiagV3 新增 RT2 infershape Created-by: Ding_Jing Commit-by: Ding_Jing Merged-by: cann-robot Description: ## 描述 MatrixDiagPartV3 与 MatrixDiagV3 在 ops-math 中缺少 RT2 infershape(连 op_host/ 目录都不存在),canndev 源侧也只有 RT1(op_proto/matrix_calculation_ops.cc:1370 / :1940),op_proto/runtime 下无 RT2 实现。本 PR 按 RT1 → RT2 适配补齐。 **改动内容(6 个新增文件,无 CMake 改动)** | 文件 | 说明 | |---|---| | op_host/<op>_infershape.cpp | RT2 InferShape,含 .InputsDataDependency(PartV3 依赖 k;V3 依赖 k/num_rows/num_cols)与三条兜底分支 | | op_graph/<op>_graph_infer.cpp | 源侧 RT1 在 InferShape 里用 SetDataType 设了输出 dtype,按规范拆成独立 IMPL_OP(...).InferDataType(...) | | tests/ut/op_host/test_<op>_infershape.cpp | 共 32 条用例 | CMake 无需改动:cmake/func.cmake 自动 glob op_host/*_infershape*.cpp、op_graph/*.cpp,并把 tests/ut/op_host/ 挂到 math_op_infershape_ut_cases。 **两处有意偏离源侧(均已论证等价,请重点看这两处)** 1. 兜底 shape 用 Ops::Base::SetUnknownShape(1, y)。源侧写的是 Shape(ge::UNKNOWN_SHAPE),而 ge::UNKNOWN_SHAPE 是 {-1}(1 维长度未知)而非 unknown rank {-2},两者逐字对应;若写成 SetUnknownRank 会改变语义。 2. num_rows / num_cols / max_diag_len 全程用 int64_t。源侧用 int32_t 承载来自 int64_t shape dim 的值,存在窄化截断;改用 int64 对所有合法 shape 行为一致,且消除溢出路径。 ## 关联的Issue #2600 ## 测试 1. **infershape UT:32/32 PASS** bash build.sh -u --ophost --ops=matrix_diag_part_v3,matrix_diag_v3 [==========] 32 tests from 2 test suites ran. [ PASSED ] 32 tests. 覆盖:单对角线 / 多对角线(band)/ 带 batch / 非方阵 / 局部动态维;三条兜底分支(k 非常量、x unknown rank、k shape 非 fully defined)各一条;源侧每条 return FAILED 各一条。数据依赖的 const 真值路径由 faker 的 isConst_/constValue_ 真实覆盖。 2. **反向对照(证明用例非恒真断言)**:注入两处回归——去掉 IsRankInvalid/IsRankAboveLimit 的 unknown rank 容忍、兜底由 {-1} 改成 {-2}——后**精确 6 条动态 shape 用例失败**(两算子各 3 条),恢复后 32/32 通过。 3. **图模式 example 交叉核对**:现有 test_geir_matrix_diag_*.cpp 本就用 op::Const 喂 k/num_rows/num_cols,真机跑通,输出 [3] 与 [3,2],与本实现手工推算一致。 需说明的限定:该 example 走 ge::Session + graphRunMode=1 的 RT1 执行通路,日志显示整张图 6 个节点(含内置 Const/Data)**全部 Call InferShapeFuncV1、V2 计数为 0**,因此它不能直接证明 RT2 被调用。RT2 已被 GE 正确收下有独立证据:op_impl_registry.cc ... Op type[MatrixDiagV3] register OP_IMPL : [InferShape][InputsDependency]。 4. 基于最新 master(35f36a065)重跑上述 UT 与 clang-format 后复验,结果一致。 ## 文档更新 无。本 PR 只补 host 侧推导实现与 UT,不涉及算子对外接口与 README。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4600 | 9 天前 | |
日志整改(im2col等算子) Co-authored-by: wow5523<wuao1@huawei.com> # message auto-generated for no-merge-commit merge: !5009 merge log-remediation into master 日志整改(im2col等算子) Created-by: zhu-xun Commit-by: wow5523 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 日志整改(im2col等算子) ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5009 | 5 天前 | |
docs(acosh): 更新 Acosh 算子 Ascend 950 产品支持情况及 op_api_list Co-authored-by: Coder_Nerd<shishuai5@huawei.com> # message auto-generated for no-merge-commit merge: !5060 merge master into master docs(acosh): 更新 Acosh 算子 Ascend 950 产品支持情况及 op_api_list Created-by: Coder_Nerd Commit-by: Coder_Nerd Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 更新 Acosh 算子 Ascend 950 产品支持情况及 op_api_list,改为支持Ascend950 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/2864 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5060 | 5 天前 | |
docs: 同步快速入门并修正文档示例 Co-authored-by: chensi79<chensi79@huawei.com> # message auto-generated for no-merge-commit merge: !4354 merge docs/sync-and-fix-guides into master docs: 同步快速入门并修正文档示例 Created-by: chensi79 Commit-by: chensi79 Merged-by: cann-robot Description: ## 描述 同步 ops-nn 与 ops-cv 相关文档更新,并根据 ops-math 仓现有实现做仓别适配,避免直接照抄其他算子仓中不适用于 math 仓的命令、目标和示例。 主要修改: - 更新贡献指南中的 Issue、SIG 评审、交付件及 PR/CI 流程说明。 - 按 ops-math 的 AddExample 实际代码同步 QUICKSTART 示例、输入数据和输出说明。 - 更新 Ascend 950 相关编译参数与 AddExample 产品支持说明。 - 修复 TilingFunc 非 void 函数缺少成功状态返回的问题。 - 修复编译命令中可选参数方括号导致无法直接执行的问题。 - 修正 AddExample 调用示例中误用 mean 算子输出的问题。 - 修复 Spack root 管理员配置误用 user scope 的问题。 - 补齐跨平台迁移 Gather 示例中的变量来源、作用域及数据搬运接口。 适配说明: - 未引入 ops-nn 特有的 aclnnAddExampleTest。 - 未引入 ops-cv 特有的 lcann_cv_static。 - 保留 ops-math Simulator 场景所需参数。 - QUICKSTART 中的 shape、变量名和输出格式以 ops-math 当前 AddExample 源码为准。 参考修改: - https://gitcode.com/cann/ops-nn/pull/6366 - https://gitcode.com/cann/ops-nn/pull/7584 - https://gitcode.com/cann/ops-cv/pull/1188 ## 关联的Issue 无。 文档检测问题:1274、1275、1702、1707、1834、1924。 ## 测试 - 已对精确范围内 8 个文件执行 git diff --check,检查通过。 - 已核对 QUICKSTART 示例与 ops-math AddExample 当前源码的 shape、变量名和打印格式。 - 已核对修改范围,不包含 docs/zh/debug/op_debug_prof.md 及其他无关工作区改动。 - 本次仅修改文档,未执行算子编译或运行测试。 ## 文档更新 更新以下文档: - CONTRIBUTING.md - docs/QUICKSTART.md - docs/zh/debug/cann_sim.md - docs/zh/develop/aicore_develop_guide.md - docs/zh/develop/cross_platform_migration_guide.md - docs/zh/install/spack_quick_install.md - docs/zh/invocation/quick_op_invocation.md - examples/add_example/README.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4354 | 30 天前 | |
修改AIDD扫描的语义问题 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !5050 merge master into master 修改AIDD扫描的语义问题 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 修改AIDD扫描的语义问题 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5050 | 5 天前 | |
针对math仓部分算子错误日志进行统一整改 | 5 天前 | |
random cleancode安全规范整改 Co-authored-by: zhuzemao<zhuzemao1@h-partners.com> # message auto-generated for no-merge-commit merge: !4980 merge clean_code_random into master random cleancode安全规范整改 Created-by: zhuzemao Commit-by: zhuzemao Merged-by: cann-robot Description: ## 描述 random cleancode安全规范整改 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/2809 ## 测试 不涉及 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:cleancode整改 See merge request: cann/ops-math!4980 | 5 天前 | |
[CANNBot]新增SubMulConcat算子950实现 Co-authored-by: zhongheng<m202474569@hust.edu.cn> # message auto-generated for no-merge-commit merge: !4940 merge cherry-pick-mr-4934-1787305827898-auto into master [CANNBot]新增SubMulConcat算子950实现 Created-by: zhaozhongyao Commit-by: zhongheng Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本PR为SubMulConcat内部融合算子新增Ascend950/arch35实现。 SubMulConcat计算公式为: \[ z=\operatorname{Concat}([x,\ y,\ x-y,\ x\odot y],\ axis=-1) \] 本PR不新增公开ACLNN、公开REG_OP/proto、PyTorch直调接口或直接构造SubMulConcat节点的GEIR接口。算子通过Sub、Mul和Concat/ConcatV2/ConcatV2D原始图触发FusionPass,融合后生成内部SubMulConcat节点并加载Ascend950 Kernel。 主要改动如下: 1. 新增Ascend950算子工程 - 新增 math/sub_mul_concat目录; - 仅交付ascend950/arch35实现; - 保留现有Ascend910B平台配置,不在本目录迁入arch32实现。 2. 新增内部图融合能力 - 新增SubMulConcatFusionPass; - 支持匹配Concat、ConcatV2和ConcatV2D; - 支持源图axis为-1或2,融合后统一规范化为-1; - 校验输入dtype、format、rank、Shape、输入来源、拼接顺序和消费者关系; - 不满足条件时不融合,保留原始基础算子图。 3. 新增Host实现 - 新增内部OpDef; - 新增InferShape和独立InferDataType注册; - 输出Shape由[N,H,W]推导为[N,H,4W]; - 新增Ascend950 Host Tiling; - 按row/chunk拆分任务并根据AIV核数和UB大小设置blockDim; - 对Shape、整数溢出、UB容量和Tiling Buffer进行防御检查; - workspace为0。 4. 新增Ascend950 RegBase Kernel - 使用四块Local Buffer保存x、y、sub和mul; - 使用RegTensor执行FLOAT32向量Sub和Mul; - 使用mask处理非对齐尾块; - 支持超宽行按chunk切分; - 使用硬事件完成MTE2、Vector和MTE3流水同步; - 输出布局为[x | y | x-y | x*y]。 5. 新增构建和二进制配置 - 新增Ascend950预编译Kernel配置; - 仓级ascendc_config.json在保留ascend910b的基础上追加ascend950; - Kernel编译开启VF融合相关选项。 6. 新增测试和文档 - 新增Host Tiling、InferShape、Kernel和FusionPass UT; - 新增完整FusionPass E2E矩阵及分析脚本; - 新增算子README; - 更新仓级算子列表。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/2791 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 已在Ascend950环境完成以下验证: ### 1. 构建与打包 - Ascend950独立构建:PASS; - Ascend950 package构建:PASS; - 生成并匹配固定release Kernel: SubMulConcat_7500b75a7b72832aed73eae305a78a12_high_performance。 ### 2. 单元测试 - Host/InferShape/Tiling UT:25/25 PASS; - Kernel UT:5/5 PASS; - FusionPass Graph UT:16/16 PASS; - 合计:46/46 PASS,无skip。 覆盖内容包括: - 对齐和非对齐Shape; - 空Tensor; - 宽行和多chunk; - UB边界; - 多核任务分发; - Shape不一致; - rank错误; - 整数溢出; - Tiling Buffer容量不足; - FusionPass正向匹配和负向拒绝。 ### 3. TTK精度验证 - 正向用例:240/240 PASS; - FAIL:0; - SKIP:0; - 负向用例:10/10按预期拒绝; - 确定性验证:PASS; - 全部正向用例命中Ascend950 release binary。 覆盖场景包括: - 空Tensor; - 小Shape和大Shape; - 对齐和非对齐; - Vector尾块; - 单核和多核; - 单chunk和多chunk; - 宽W边界; - 特殊值及数值边界。 ### 4. FusionPass E2E 完整源图FusionPass矩阵:25/25符合预期。 - 12个正向场景成功融合并加载SubMulConcat Kernel; - 10个不满足条件的场景正确保持不融合; - 3个非法公开图按预期拒绝; - 无skip、无N/A; - 已验证FusionPass替换、JSON匹配、Kernel注册和实际Kernel Launch链路。 ### 5. 性能回归 - Kernel性能用例:7/7 PASS; - Fusion性能用例:6/6 PASS; - 所有性能用例同时通过精度检查和内存检查。 ### 6. CPU/NPU/GPU三方验证 使用统一L0 Golden完成240条用例的三方验证: - NPU/CPU/GPU CrossCheck L0:240/240 PASS; - XPU执行状态:240/240 PASS; - Ascend950 Binary Match:240/240 PASS; - 精度失败:0; - XPU失败:0; - 224条非空Tensor保留原生A100性能数据; - 16条空Tensor的GPU性能结果按框架原始输出保留为NA,未人工回填。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 已在Ascend950环境完成以下验证: ### 1. 构建与打包 - Ascend950独立构建:PASS; - Ascend950 package构建:PASS; - 生成并匹配固定release Kernel: SubMulConcat_7500b75a7b72832aed73eae305a78a12_high_performance。 ### 2. 单元测试 - Host/InferShape/Tiling UT:25/25 PASS; - Kernel UT:5/5 PASS; - FusionPass Graph UT:16/16 PASS; - 合计:46/46 PASS,无skip。 覆盖内容包括: - 对齐和非对齐Shape; - 空Tensor; - 宽行和多chunk; - UB边界; - 多核任务分发; - Shape不一致; - rank错误; - 整数溢出; - Tiling Buffer容量不足; - FusionPass正向匹配和负向拒绝。 ### 3. TTK精度验证 - 正向用例:240/240 PASS; - FAIL:0; - SKIP:0; - 负向用例:10/10按预期拒绝; - 确定性验证:PASS; - 全部正向用例命中Ascend950 release binary。 覆盖场景包括: - 空Tensor; - 小Shape和大Shape; - 对齐和非对齐; - Vector尾块; - 单核和多核; - 单chunk和多chunk; - 宽W边界; - 特殊值及数值边界。 ### 4. FusionPass E2E 完整源图FusionPass矩阵:25/25符合预期。 - 12个正向场景成功融合并加载SubMulConcat Kernel; - 10个不满足条件的场景正确保持不融合; - 3个非法公开图按预期拒绝; - 无skip、无N/A; - 已验证FusionPass替换、JSON匹配、Kernel注册和实际Kernel Launch链路。 ### 5. 性能回归 - Kernel性能用例:7/7 PASS; - Fusion性能用例:6/6 PASS; - 所有性能用例同时通过精度检查和内存检查。 ### 6. CPU/NPU/GPU三方验证 使用统一L0 Golden完成240条用例的三方验证: - NPU/CPU/GPU CrossCheck L0:240/240 PASS; - XPU执行状态:240/240 PASS; - Ascend950 Binary Match:240/240 PASS; - 精度失败:0; - XPU失败:0; - 224条非空Tensor保留原生A100性能数据; - 16条空Tensor的GPU性能结果按框架原始输出保留为NA,未人工回填。 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4940 | 5 天前 | |
设置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 | 2 个月前 | |
feat: 补充pad_v3等算子UT Co-authored-by: zhanw_coding<zhanwang@huawei.com> # message auto-generated for no-merge-commit merge: !3722 merge ft-ut into master feat: 补充pad_v3等算子UT Created-by: zhanw_coding Commit-by: zhanw_coding Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> feat: 补充pad/pad_v3/transpose算子UT ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/2090 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:UT See merge request: cann/ops-math!3722 | 1 个月前 | |
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 | 2 个月前 | |
迁移开源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 | 27 天前 | |
aclnnReduceProd 用例修改 Co-authored-by: sunchun<sunchun4@h-partners.com> # message auto-generated for no-merge-commit merge: !4271 merge prod into master aclnnReduceProd 用例修改 Created-by: sunchun Commit-by: sunchun Merged-by: cann-robot Description: ## 描述 aclnnReduceProd 用例修改 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/2398 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4271 | 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 | 25 天前 | |
feat: 支持 deb/rpm 包构建 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !4178 merge master into master feat: 支持 deb/rpm 包构建 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 为 ops-math 构建系统新增 deb/rpm 包构建能力,支持通过 --pkg-type 参数选择构建 run / rpm / deb / all 四种包类型。 ### 改动原因 当前 ops-math 仅支持生成 .run 自解压安装包,无法满足 Linux 发行版原生包管理的需求。 ### 改动方法 1. CMake 层面:新增 PACKAGE_TYPE 缓存变量(run/rpm/deb/all),升级 cann-cmake 依赖到 master-045 2. 构建脚本:build.sh 新增 --pkg-type=<TYPE> 参数,build_lib.sh 实现 rpm/deb 构建/清理/收集逻辑 3. CI 重新打包:ops_run_repackage.sh 支持 --pkg-type,在生成 .run 包后调用 ops_generate_rpm_deb.sh 4. 包管理钩子:新增 custom_postinst.sh 和 custom_prerm.sh 用于安装后/卸载前的 pip wheel 管理 5. 包配置更新:ops_math.xml 移除 EngineeringFiles,调整目录权限,添加版权头 ## 关联的Issue - #2460 ## 测试 - 本地验证 --pkg-type 参数校验逻辑 - CI 流水线已通过 ## 文档更新 - 更新 docs/zh/install/compile.md 中 cann-cmake 版本信息 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 See merge request: cann/ops-math!4178 | 29 天前 | |
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 | 25 天前 | |
init | 10 个月前 | |
expint 算子开发 Co-authored-by: kangjiaming<1159380836@qq.com> # message auto-generated for no-merge-commit merge: !3864 merge expint into master expint 算子开发 Created-by: kangjiaming Commit-by: kangjiaming Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> https://gitcode.com/cann/ops-math/issues/2212 <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3864 | 1 个月前 | |
docs: 在README Latest News中新增Ascend 950系列算子支持与新特性介绍 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !4379 merge master into master docs: 在README Latest News中新增Ascend 950系列算子支持与新特性介绍 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 在 README.md 的 Latest News 中新增条目,介绍 Ascend 950 系列最新算子支持与新特性: - 新增算子:CumulativeLogSumExp、MatrixSetDiagV2、DropoutV3Grad、SignBitsUnpack、ProdVirialSeA - 新特性:FLOAT8/FLOAT4 低精度类型支持、Philox PRNG 随机数生成、Reg 接口迁移 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 更新了 README.md 文件。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4379 | 29 天前 | |
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 | 3 个月前 | |
【描 述】 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 个月前 | |
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 | 1 个月前 | |
grouped_bias_add_grad误用的arch32统一改为arch22 Co-authored-by: clinglai0517<laichangling@huawei.com> # message auto-generated for no-merge-commit merge: !4964 merge arch32-fix-groupaddbias into master grouped_bias_add_grad误用的arch32统一改为arch22 Created-by: clinglai0517 Commit-by: clinglai0517 Merged-by: cann-robot Description: ## 描述 将math/grouped_bias_add_grad算子中误用arch32的目录及代码引用统一修正为arch22, 与ascend910_93/ascend910b对应arch22的架构目录约定保持一致: 1. 目录重命名(3处): - math/grouped_bias_add_grad/op_host/arch32 -> arch22 - math/grouped_bias_add_grad/op_kernel/arch32 -> arch22 - math/grouped_bias_add_grad/tests/ut/op_host/arch32 -> arch22 2. 内容替换(8个文件): - CMakeLists.txt中SUPPORT_TILING_DIR由"arch32" "arch32" "arch35"修正为"arch22" "arch22" "arch35" - grouped_bias_add_grad.cpp中的op_kernel include路径 - op_host/op_kernel UT中的include路径与CMake引用 - cmake/func.cmake、docs/zh/develop/aicore_develop_guide.md中的arch目录示例 3. 同步更新classify_rule.yaml中2处math/grouped_bias_add_grad路径条目。 【影响范围】 - 涉及算子:grouped_bias_add_grad ## 关联的Issue Issue #2749 ## 测试 - 算子编译及ut通过 - math目录下rg检索arch32(含Arch32/ARCH32)无残留 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4964 | 6 天前 | |
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 | 1 个月前 | |
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 个月前 | |
chore: bump ops_math version from 9.0.0 to 9.1.0 Co-authored-by: chensi79@huawei.com<chensi79@huawei.com> # message auto-generated for no-merge-commit merge: !3268 merge fix/issue-1843-version-cmake into master chore: bump ops_math version from 9.0.0 to 9.1.0 Created-by: chensi79 Commit-by: chensi79@huawei.com Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 更新 version.cmake 中 ops_math 包的默认版本号从 9.0.0 到 9.1.0,与当前已发布的 9.1.0 版本及其他 CANN 仓库保持一致。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/1843 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 仅版本号修改,通过 diff 确认改动正确。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:版本号更新 See merge request: cann/ops-math!3268 | 2 个月前 |
ops-math
🔥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:本项目功能和文档正在持续更新和完善中,欢迎您关注最新版本。