本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
| Files | Last commit | Last update |
|---|---|---|
kirin_cann_test仓指定tag以下载固定代码版本 Co-authored-by: weixin_46515057<lidaoshuai@h-partners.com> # message auto-generated for no-merge-commit merge: !6316 merge master into master kirin_cann_test仓指定tag以下载固定代码版本 Created-by: weixin_46515057 Commit-by: weixin_46515057 Merged-by: cann-robot Description: kirin_cann_test仓指定tag以下载固定代码版本 See merge request: cann/ops-math!6316 | 30 days ago | |
build: 调整 opbase 依赖版本及 tiling 头文件顺序 Co-authored-by: zhang-song-rui<zhangsongrui@h-partners.com> # message auto-generated for no-merge-commit merge: !6719 merge revert/math-opbase-update-6712 into master build: 调整 opbase 依赖版本及 tiling 头文件顺序 Created-by: zhang-song-rui Commit-by: zhang-song-rui Merged-by: cann-robot Description: ## 修改内容 调整 Math 构建使用的 opbase 依赖版本和 tiling 头文件搜索顺序,共涉及两个 CMake 文件。 - cmake/third_party/opbase.cmake:OPBASE_TAG_ID 从 185a0f16167f426ace4c04e18e6989d20fcedccf 调整为 f09beaf70dd62c9c089c237cbfcdc2bd2cb757d6。 - cmake/variables.cmake:OP_TILING_INCLUDE 按 C_SEC_INCLUDE、PLATFORM_INC_DIRS、METADEF_INCLUDE_DIRS、TILINGAPI_INC_DIRS、NPURUNTIME_INCLUDE_DIRS、OPBASE_INC_DIRS 的顺序组织头文件路径。 算子 Host、Tiling、Kernel、UT 以及 func.cmake 均无改动。 ## 验证 - 两个改动文件的本地 pre-commit 检查通过。 - 已核对差异范围仅包含上述依赖 SHA 和 include 顺序调整,一次提交。 - 当前提交的编译和测试结果以本 PR 流水线为准。 See merge request: cann/ops-math!6719 | 16 days ago | |
[LeftShift] 新增 Ascend 950 / arch35 Ascend C 实现 Co-authored-by: gl_princekin<gelei10@huawei.com> # message auto-generated for no-merge-commit merge: !6684 merge master into master [LeftShift] 新增 Ascend 950 / arch35 Ascend C 实现 Created-by: gl_princekin Commit-by: gl_princekin Merged-by: cann-robot Description: ## 描述 LeftShift(按位左移)算子此前仅包含 aclnn 接口(AICPU 实现),缺少 Ascend C 原生实现。本 PR 新增 LeftShift 的 Ascend C 实现,使其在 Ascend 950 及 Atlas A3 系列(arch35 架构)产品上获得原生执行路径。 **主要改动:** - op_kernel/arch35/:新增 Ascend C kernel(DAG 节点 + 数据结构定义) - op_host/arch35/:新增 tiling 代码 - op_host/config/ascend950/、op_host/config/ascend350/:算子配置(JSON + simplified_key.ini) - op_host/:left_shift_def.cpp(算子定义)、left_shift_infershape.cpp(shape 推导) - op_graph/:left_shift_proto.h、left_shift_graph_infer.cpp - op_kernel_aicpu/:AICPU kernel 实现 - op_api/:aclnn 接口参数校验代码更新 - examples/:图模式调用示例 test_geir_left_shift.cpp - tests/:单元测试(op_api / op_host / tiling / infershape / ST) - README.md、docs/:产品支持表、广播说明文档 - common/inc/op_graph/op_math_proto_extend.h:移除 LeftShift 注册(迁移至独立 proto 文件) - math/right_shift/framework/bitshift_onnx_plugin.cpp:修复 proto 头文件引用 ## 关联的Issue - #3978 ## 测试 - op_api 单元测试:test_aclnn_left_shift.cpp、test_aclnn_left_shift_l0.cpp、test_aclnn_left_shifts.cpp - op_host 单元测试:test_left_shift_tiling.cpp(arch35)、test_left_shift_infershape.cpp - op_kernel_aicpu 单元测试:test_left_shift.cpp - ST 测试:tests/st/arch35/ttk_kernel_left_shift_st.csv ## 文档更新 - 更新了 math/left_shift/README.md(产品支持表、功能说明、参数说明、约束说明、调用说明) - 更新了 math/left_shift/docs/aclnnLeftShift.md、aclnnLeftShifts.md(新增广播说明) ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6684 | 16 days ago | |
term标记对补充 | 16 days ago | |
[LeftShift] 新增 Ascend 950 / arch35 Ascend C 实现 Co-authored-by: gl_princekin<gelei10@huawei.com> # message auto-generated for no-merge-commit merge: !6684 merge master into master [LeftShift] 新增 Ascend 950 / arch35 Ascend C 实现 Created-by: gl_princekin Commit-by: gl_princekin Merged-by: cann-robot Description: ## 描述 LeftShift(按位左移)算子此前仅包含 aclnn 接口(AICPU 实现),缺少 Ascend C 原生实现。本 PR 新增 LeftShift 的 Ascend C 实现,使其在 Ascend 950 及 Atlas A3 系列(arch35 架构)产品上获得原生执行路径。 **主要改动:** - op_kernel/arch35/:新增 Ascend C kernel(DAG 节点 + 数据结构定义) - op_host/arch35/:新增 tiling 代码 - op_host/config/ascend950/、op_host/config/ascend350/:算子配置(JSON + simplified_key.ini) - op_host/:left_shift_def.cpp(算子定义)、left_shift_infershape.cpp(shape 推导) - op_graph/:left_shift_proto.h、left_shift_graph_infer.cpp - op_kernel_aicpu/:AICPU kernel 实现 - op_api/:aclnn 接口参数校验代码更新 - examples/:图模式调用示例 test_geir_left_shift.cpp - tests/:单元测试(op_api / op_host / tiling / infershape / ST) - README.md、docs/:产品支持表、广播说明文档 - common/inc/op_graph/op_math_proto_extend.h:移除 LeftShift 注册(迁移至独立 proto 文件) - math/right_shift/framework/bitshift_onnx_plugin.cpp:修复 proto 头文件引用 ## 关联的Issue - #3978 ## 测试 - op_api 单元测试:test_aclnn_left_shift.cpp、test_aclnn_left_shift_l0.cpp、test_aclnn_left_shifts.cpp - op_host 单元测试:test_left_shift_tiling.cpp(arch35)、test_left_shift_infershape.cpp - op_kernel_aicpu 单元测试:test_left_shift.cpp - ST 测试:tests/st/arch35/ttk_kernel_left_shift_st.csv ## 文档更新 - 更新了 math/left_shift/README.md(产品支持表、功能说明、参数说明、约束说明、调用说明) - 更新了 math/left_shift/docs/aclnnLeftShift.md、aclnnLeftShifts.md(新增广播说明) ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6684 | 16 days ago | |
docs: AddExample 两种示例原型注释误称仅支持 FLOAT32 Co-authored-by: Ethan_Zou<tianjun.zou@foxmail.com> # message auto-generated for no-merge-commit merge: !6300 merge docs/b6-math-add-example-proto-integer-20261013 into master docs: AddExample 两种示例原型注释误称仅支持 FLOAT32 Created-by: Ethan_Zou Commit-by: Ethan_Zou Merged-by: cann-robot Description: ## 描述 AICore和AICPU AddExample三个Tensor说明均称只能FLOAT32,而两份同目录REG_OP实际支持FLOAT32与INT32;对应OpDef与示例实现也有整数路径。作为新算子开发模板,该复制注释会让贡献者遗漏已有整数接口能力。 两种示例的输入/输出类型文字统一为float32或int32,同源模板问题合并一组,不修改注册和执行实现。 ## 关联的Issue Fixes #3544 https://gitcode.com/cann/ops-math/issues/3544 ## 测试 依据同一源码基线的 REG_OP / OpDef / README 交叉核对文档参数、属性与计算语义;修复只改注释。最终 pre-commit 字节已复核:基线注释不满足注册契约,修复后一致;去除注释后的C++ token序列完全相同。具体注册片段、交叉引用行号和检查日志见 data/b6-math-add-example-proto-integer-contract-static.txt。 以本 case 干净基线执行适用 pre-commit hooks 与 diff --check 通过。 本地无 NPU;此修复只改文档注释,不宣称完成 GE 图构建或设备执行。 ## 文档更新 本 PR 修正文档中的已复现问题,修改范围见当前 diff。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI 使用声明 使用 AI 辅助核查和准备修复;由 Ethan_Zou 提交。每个 PR 保持一个提交。 ## AI 参与 使用 OpenAI Codex(GPT-6 系列)审查代码与文档,在 Host 侧复现、核对已有报告并准备修复。提交者账号为 Ethan_Zou。 See merge request: cann/ops-math!6300 | 30 days ago | |
docs: align experimental LogAddExp rank limit Co-authored-by: Ethan_Zou<tianjun.zou@foxmail.com> # message auto-generated for no-merge-commit merge: !6100 merge docs/logaddexp-readme-rank-limit-20261002 into master docs: align experimental LogAddExp rank limit Created-by: Ethan_Zou Commit-by: Ethan_Zou Merged-by: cann-robot Description: ## 描述 experimental/math/log_add_exp README 将最大维度数限定为3,但同目录 aclnn_log_add_exp.md 的输入表和限制均明确最多8维。当前实际 InferShape4LogAddExp 按输入最大维数推导广播结果;tiling 的 shape/stride 数组均为8项,普通广播处理遍历 dimNum。README 的3维限制会让读者错误排除4~8维输入。 将 README 最大维度数对齐本目录当前 API 文档为8;不改变算子实现或引入新的硬件支持声明。 ## 关联的Issue Fixes #3382 ## 测试 抽取该 experimental 算子的实际 InferShape4LogAddExp 函数体,在 Host C++ Shape/InferShapeContext stub 上执行4维与8维广播,均返回 GRAPH_SUCCESS 且输出形状正确;同时核对本目录 API 文档和8项 tiling 数组。此验证覆盖 Host 形状推理,不声明设备数值/性能验证。 仓库适用 pre-commit hooks 与 diff --check 通过;OAT 的 macOS sed 格式告警为既有脚本行为。 本地无 NPU,未执行设备测试;提交后评论 /compile。 ## 文档更新 - experimental/math/log_add_exp/README.md ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6100 | 16 days ago | |
feat: 迁移gelocal控制流与基础算子交付件(含While/If/Case/For/PartitionedCall、TF控制流插件、reshape),实现RT2.0交付 Co-authored-by: Dazhou_Cao<caodazhou@huawei.com> # message auto-generated for no-merge-commit merge: !6621 merge migrate-gelocal-delivery into master feat: 迁移gelocal控制流与基础算子交付件(含While/If/Case/For/PartitionedCall、TF控制流插件、reshape),实现RT2.0交付 Created-by: Dazhou_Cao Commit-by: Dazhou_Cao Merged-by: cann-robot Description: ## 描述 汇总迁移 gelocal(RT2.0)算子交付件: - **基础/GE 控制流算子**:size、rank、LoopCond、NextIteration、RefIdentity、SwitchByIndex、aipp_data、End、squeezev2、unsqueezev2,以及 enter/exit/merge/switch/switch_n/ref_* 等 - **子图控制流算子**:If、Case、For、PartitionedCall、While(原型注册 + RT2.0 推导注册 + UT + README,If/Case/For/PartitionedCall 含 GeIR 示例;均归入 ge 分类) - **TF 控制流插件**:If/_If/StatelessIf、While/_While/StatelessWhile、Case/StatelessCase、PartitionedCall/StatefulPartitionedCall 变体合并映射 - **reshape**:infershape 对齐 RT1.0 语义、allowzero/shape 属性注册、信息库 - **文档**:README 产品支持表统一(全部√)、gather_shapes 归入 conversion、op_list 同步登记 ## 测试 - bash build.sh --ophost --opgraph -j8 构建通过(含各算子 REG_OP 注册校验) - 宿主侧全量 UT:2594/2594 PASSED(384 test suites) ## 说明 - 内容汇总自此前迁移 PR(6474 / 6522 / 6208)的交付件,本 PR 为其合并后的统一交付 See merge request: cann/ops-math!6621 | 17 days ago | |
[LeftShift] 新增 Ascend 950 / arch35 Ascend C 实现 Co-authored-by: gl_princekin<gelei10@huawei.com> # message auto-generated for no-merge-commit merge: !6684 merge master into master [LeftShift] 新增 Ascend 950 / arch35 Ascend C 实现 Created-by: gl_princekin Commit-by: gl_princekin Merged-by: cann-robot Description: ## 描述 LeftShift(按位左移)算子此前仅包含 aclnn 接口(AICPU 实现),缺少 Ascend C 原生实现。本 PR 新增 LeftShift 的 Ascend C 实现,使其在 Ascend 950 及 Atlas A3 系列(arch35 架构)产品上获得原生执行路径。 **主要改动:** - op_kernel/arch35/:新增 Ascend C kernel(DAG 节点 + 数据结构定义) - op_host/arch35/:新增 tiling 代码 - op_host/config/ascend950/、op_host/config/ascend350/:算子配置(JSON + simplified_key.ini) - op_host/:left_shift_def.cpp(算子定义)、left_shift_infershape.cpp(shape 推导) - op_graph/:left_shift_proto.h、left_shift_graph_infer.cpp - op_kernel_aicpu/:AICPU kernel 实现 - op_api/:aclnn 接口参数校验代码更新 - examples/:图模式调用示例 test_geir_left_shift.cpp - tests/:单元测试(op_api / op_host / tiling / infershape / ST) - README.md、docs/:产品支持表、广播说明文档 - common/inc/op_graph/op_math_proto_extend.h:移除 LeftShift 注册(迁移至独立 proto 文件) - math/right_shift/framework/bitshift_onnx_plugin.cpp:修复 proto 头文件引用 ## 关联的Issue - #3978 ## 测试 - op_api 单元测试:test_aclnn_left_shift.cpp、test_aclnn_left_shift_l0.cpp、test_aclnn_left_shifts.cpp - op_host 单元测试:test_left_shift_tiling.cpp(arch35)、test_left_shift_infershape.cpp - op_kernel_aicpu 单元测试:test_left_shift.cpp - ST 测试:tests/st/arch35/ttk_kernel_left_shift_st.csv ## 文档更新 - 更新了 math/left_shift/README.md(产品支持表、功能说明、参数说明、约束说明、调用说明) - 更新了 math/left_shift/docs/aclnnLeftShift.md、aclnnLeftShifts.md(新增广播说明) ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6684 | 16 days ago | |
[修复] dsa_gen_bit_mask 错误码整改 Co-authored-by: zhuzemao<zhuzemao1@h-partners.com> # message auto-generated for no-merge-commit merge: !6728 merge dsa_gen into master [修复] dsa_gen_bit_mask 错误码整改 Created-by: zhuzemao Commit-by: zhuzemao Merged-by: cann-robot Description: ## 描述 dsa_gen_bit_mask 错误码整改 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/4113 ## 测试 不涉及 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6728 | 16 days ago | |
fix: kernel编译失败时被dlopen日志刷屏 Co-authored-by: zhanw_coding<zhanwang@huawei.com> # message auto-generated for no-merge-commit merge: !6714 merge fix-build into master fix: kernel编译失败时被dlopen日志刷屏 Created-by: zhanw_coding Commit-by: zhanw_coding Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> fix: kernel编译失败时被dlopen日志刷屏 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:编译日志优化 See merge request: cann/ops-math!6714 | 16 days ago | |
设置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 | 5 months ago | |
refactor: pad_v3/mirror_pad golden 内联 pad helper 副本,消除外部文件加载依赖 Co-authored-by: Xbying<2119046648@qq.com> # message auto-generated for no-merge-commit merge: !6560 merge golden-self-contained into master refactor: pad_v3/mirror_pad golden 内联 pad helper 副本,消除外部文件加载依赖 Created-by: 2301_81474000 Commit-by: Xbying Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - conversion/pad_v3/tests/assets/golden.py、conversion/mirror_pad/tests/assets/golden.py:删除 runpy.run_path + parents[4] 固定深度的外部加载,**内联各自的 pad helper 副本**(内容与 tests/golden_helpers/padding.py 同源),golden.py 成为完全自包含单文件。 - golden.py 单文件即可分发/随包打包/在 cross_check 竞品端独立执行,消除目录深度硬编码、单文件分发失效、远端探测失败等问题。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3760 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6560 | 22 days ago | |
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 | 4 months ago | |
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 | 2 months ago | |
迁移开源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 | 3 months ago | |
feat: bincount/adjacent_difference 新增 ascend960dt/ascend960pr 注册级支持 Co-authored-by: caorenlei<caorenlei@huawei.com> # message auto-generated for no-merge-commit merge: !6388 merge 1010 into master feat: bincount/adjacent_difference 新增 ascend960dt/ascend960pr 注册级支持 Created-by: caorenlei Commit-by: caorenlei Merged-by: cann-robot Description: ## 描述 bincount、adjacent_difference 两算子新增 ascend960dt/ascend960pr 平台注册级支持(v121 适配)。 ### 改动原因 Ascend960 系列平台上线,算子需同步支持 ascend960dt/ascend960pr 计算单元;适配增量同步自内部仓 cann_out 分支,在 OSS master 基线上叠加。 ### 改动方法(注册级适配,kernel/tiling/aclnn 零改动) 1. **def.cpp 注册**(2 文件):bincount_def.cpp、adjacent_difference_def.cpp 在既有 AddConfig("ascend950"/"ascend350") 后追加 AddConfig("ascend960dt", aicoreConfig) 与 AddConfig("ascend960pr", aicoreConfig),复用同一 aicoreConfig,保留 ascend350 注册不删 2. **config 配置**(8 个新增文件):新增 op_host/config/ascend960dt/、op_host/config/ascend960pr/(2 算子 × 2 芯片 × binary.json + simplified_key.ini),内容与既有 ascend950 配置逐字节一致 3. **CMakeLists**(2 文件):SUPPORT_COMPUTE_UNIT 追加 "ascend960dt" "ascend960pr",SUPPORT_TILING_DIR 等量追加 "arch35"(tiling 复用 arch35) 4. **ascendc_config.json**:Bincount、AdjacentDifference 条目 compute_units 追加 "ascend960dt",compile_options 镜像 ascend950(-mllvm -cce-aicore-dcci-before-kernel-end=false) 5. **.pre-commit-config.yaml**:codespell 忽略列表追加 build-in(config 镜像中 ascend950 既有注释拼写,内容须与 950 逐字节一致不可修改) ## 关联的Issue - #3598 ## 测试 1. **ascend950 编译出包**:bash build.sh --pkg --soc=ascend950 --ops=bincount,adjacent_difference -j8 通过;包内 950 内核齐全(23 个 .o),aic-ascend960dt-ops-info.json 含 Bincount、AdjacentDifference 注册(960 注册生效核验) 2. **950 kernel 零影响硬证据**:适配前后两次编译,23 个 ascend950 kernel .o SHA256 逐字节一致(bit 级不变) 3. **ttk 精度回归 386/386 全 PASS**(Ascend950PR_9579,release 模式,seed=123): - bincount(kernel 级)192/192、adjacent_difference(kernel 级)81/81、aclnnBincount(API 级)113/113 - 正控 PASS / 负控 FAIL,判定链路自证有效 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6388 | 27 days ago | |
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 | 3 months ago | |
工程框架支持兼容arch配置(同步ops-nn PR #11603,适配本仓差异) Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !6325 merge master into master 工程框架支持兼容arch配置(同步ops-nn PR #11603,适配本仓差异) Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6325 | 27 days ago | |
产品名变更 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !5912 merge master into master 产品名变更 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> AI处理器对应的产品型号名称更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3258](https://gitcode.com/cann/ops-math/issues/3258) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> *.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5912 | 1 month ago | |
init | 1 year ago | |
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 | 2 months ago | |
docs(readme): README最新动态中Ascend 950系列表述补充Huawei品牌前缀 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !6662 merge master into master docs(readme): README最新动态中Ascend 950系列表述补充Huawei品牌前缀 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 更新 README.md「🔥Latest News」2026/07 条目的品牌表述:将"新增支持Ascend 950系列"修改为"新增支持**Huawei** Ascend 950系列",为 Ascend 950 系列补充 Huawei 品牌前缀。 ### 改动原因 规范品牌表述,Ascend 950 系列在对外文档中需携带 Huawei 品牌前缀。 ### 改动方法 仅修改 README.md 中该条目的一处文字,链接指向(Ascend950重点特性与本仓算子样例介绍)、算子及特性清单等内容均保持不变。 ## 关联的Issue - #3872 ## 测试 文档文案改动,不涉及代码逻辑。已核对:全 PR 仅此一处文字变更,Markdown 链接格式及指向未受影响。 ## 文档更新 - README.md:最新动态 2026/07 条目补充 Huawei 品牌表述 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6662 | 19 days ago | |
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 | 6 months ago | |
【描 述】 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 | 8 months ago | |
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 | 6 months ago | |
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 | 3 months ago | |
refactor: 完成公共头文件迁移并修复关联验证问题 Co-authored-by: clinglai0517<laichangling@huawei.com> # message auto-generated for no-merge-commit merge: !6400 merge refactor/math-prefix-common-headers-1015 into master refactor: 完成公共头文件迁移并修复关联验证问题 Created-by: clinglai0517 Commit-by: clinglai0517 Merged-by: cann-robot Description: ## 描述 完成 ops-math 剩余公共头文件引用迁移,清理会与其他算子仓同名的兼容转发头。迁移同时触发此前暂缓算子的构建和冒烟,因此一并修复已复现的 UT 状态污染、SDK 类型冲突及示例 executor 生命周期问题。 - 将 Sin 的引用改为 op_api/level2_base_math.h,将 experimental Atan2、Tile、Polar 的引用改为 op_api/op_api_def_math.h。 - 全仓审计确认 level2_base.h、level2_base_caculation.h、op_api_def.h 的引用均为 0,删除这三个兼容转发头;清理 classify_rule.yaml 中两条失效路径,保留现有 canonical 头文件分类。分类配置不作为包过滤规则。 - Sin、Atan2 的每个 UT 用例保存并恢复平台 stub 的原始 SoC 和架构覆盖字段,避免负向 BF16 用例污染后续测试;保留全部原有用例和预期。 - Tile 删除与新版 SDK 冲突的全局 complex64 = uint64_t 别名,在 kernel 入口为 complex64 输入局部选择 uint64_t,保持原有按 64 位原始数据复制的行为。 - Polar 的两个示例在重复调用前显式启用 executor 复用,结束后销毁 executor;检查同步和结果拷贝错误,将精度失败和用例失败传递为非零退出码。保留原有五组形状、warmup 次数、计时次数和精度阈值。 共 14 个文件,+192/-201。所改文件包含 pre-commit 要求的 clang-format 18.1.8 调整,其中 tile.h 的 171 行 diff 主要为格式变化;已与格式化后的基线逐项比较,该头文件的逻辑改动仅删除五行旧类型别名块。 ## 关联的Issue Issue [#3243](https://gitcode.com/cann/ops-math/issues/3243)。 ## 测试 验证环境:CANN 9.0.0,aarch64 / Ascend910B3。 - 全部 11 个修改的现有文件通过容器 pre-commit 和显式 OAT;git diff --check、旧头文件零引用审计通过。 - Sin:32/32 focused UT;sin/sub/tan/tanh_grad 组合正常顺序和随机顺序(seed 17)均 116/116 通过。未修复的干净基线可复现相同 5 个 BF16 失败。 - Atan2:21/21 focused UT;atan/atan2/cross 组合正常顺序和随机顺序(seed 17)均 51/51 通过。 - 当前完整 diff 经仓库 CI 生成器选择的以下命令全部通过: bash bash build.sh -u -j16 --experimental --ops=atan2,polar,tile --opapi --soc=ascend910b bash build.sh -u -j16 --experimental --ops=tile --opkernel --soc=ascend910b bash build.sh --pkg -j16 --experimental --vendor_name=experimental --ops=atan2,polar,tile - 上述 op_api UT 为 23/23(Atan2 21 个、Repeat 2 个;Polar 无 op_api UT);Tile kernel UT 为 3/3,三组比较均 max_diff=0.0。 - 三算子实验包构建及只读完整性校验 --check --noexec 通过。检查实际包内容:含公开 API 头、libcust_opapi.so、3 个 Atan2 / 1 个 Polar / 24 个 Tile kernel 对象,不含三个旧公共头。实际 Polar 对象依赖 canonical 头文件。 - Tile 在 NPU 1 上完成 float32 和三组 complex64 实机检查,输出逐位一致,覆盖负零、NaN、无穷及次正规数。 - Polar 两个示例各 5/5 实机用例通过,所有元素错误计数为 0;原始 REF 示例在相同自定义库下用 GDB 复现 malloc_consolidate(): unaligned fastbin chunk detected / SIGABRT。两个示例均按 CI 的 -lcust_opapi 方式链接,不将 REF 文件名视为系统库对照。 - 实机 Polar 验证副本仅将设备常量从 0 改为 1,以避开 NPU 0 已有进程数限制;仓内示例仍使用设备 0。验证后源码 SHA256 和容器 vendor 配置均未改变,使用包的 staging 目录,无需安装到 SDK。 验证边界:以上为 CANN 9.0.0 本地容器结果,CANN 9.3 双架构 CI 和 A2 PreSmoke 待线上验证。全量常规 --pkg 构建仍被未修改的 conversion/concat_d/op_graph/fusion_pass/concat_to_concatd_fusion_pass.cpp 与 CANN 9.0 GE SubgraphRewriter::Replace 参数不匹配阻塞;干净基线翻译单元使用相同参数可复现,三算子实验包已通过。 ## 文档更新 无仓内文档变更;变更范围、历史问题、验证结果及限制已汇总于本 MR 描述。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:公共头文件引用迁移与兼容转发头清理 See merge request: cann/ops-math!6400 | 27 days ago | |
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 | 4 months ago | |
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 | 6 months ago | |
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 | 2 months ago |
🔥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:本项目功能和文档正在持续更新和完善中,欢迎您关注最新版本。