本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
子流水线支持更新门禁代码 Co-authored-by: zhangxu-<zhangxu109@huawei.com> # message auto-generated for no-merge-commit merge: !2617 merge master into master 子流水线支持更新门禁代码 Created-by: zhangxu- Commit-by: zhangxu- Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 子流水线支持更新门禁代码 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 线上测试 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> NA ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2617 | 3 个月前 | |
doc Tools扫描错误修改 Co-authored-by: gitee-yanglulu<yanglulul@h-partners.com> # message auto-generated for no-merge-commit merge: !1899 merge master into master doc Tools扫描错误修改 Created-by: gitee-yanglulu Commit-by: gitee-yanglulu Merged-by: cann-robot Description: doc Tools扫描错误修改 See merge request: cann/ops-math!1899 | 5 个月前 | |
feat: 为opapi共享库链接opbase_util_objs以支持log.h调用 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !2693 merge master into master feat: 为opapi共享库链接opbase_util_objs以支持log.h调用 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 在 cmake/symbol.cmake 的 gen_opapi_symbol() 和 gen_cust_opapi_symbol() 两个函数中,为 opapi 共享库和 cust_opapi 链接 opbase_util_objs 目标对象。 opbase_util_objs 由 cmake/func.cmake 定义,编译源文件包含 ${OPBASE_SOURCE_PATH}/src/op_common/log/*.cpp(日志工具实现)。此前 opapi 共享库未链接该目标对象,导致 opapi 中无法调用 log.h 提供的日志接口。本次改动通过 CMake generator expression $<$<TARGET_EXISTS:opbase_util_objs>:...> 条件性地引入,确保仅在目标存在时才链接,不影响不包含该目标的构建场景。 ### 改动文件 - cmake/symbol.cmake:在 gen_opapi_symbol() 和 gen_cust_opapi_symbol() 中各增加一行 $<$<TARGET_EXISTS:opbase_util_objs>:$<TARGET_OBJECTS:opbase_util_objs>> ## 关联的Issue - #1517 ## 测试 编译验证通过,opapi 共享库可正常链接并调用 log.h 接口。 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2693 | 3 个月前 | |
fix: input_util.h 等添加头文件保护 Co-authored-by: zhanw_coding<zhanwang@huawei.com> # message auto-generated for no-merge-commit merge: !2722 merge fix-header into master fix: input_util.h 等添加头文件保护 Created-by: zhanw_coding Commit-by: zhanw_coding Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> fix: input_util.h 等公共头文件添加头文件保护 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/1547 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2722 | 3 个月前 | |
fix: 修正 ConfusionTransposeD proto 定义错误 Co-authored-by: wangxun21<wangxun21@huawei.com> # message auto-generated for no-merge-commit merge: !2732 merge fix-confusion-transpose-d-proto into master fix: 修正 ConfusionTransposeD proto 定义错误 Created-by: wangxun21 Commit-by: wangxun21 Merged-by: cann-robot Description: ## 描述 修正 ConfusionTransposeD proto 定义中的多个错误。 在 confusion_transpose_d_proto.h 中存在以下问题: 1. REG_OP(ConfusionTransposeD) 与 OP_END_FACTORY_REG(confusionTransposeD) 参数不一致(大小写不同) 2. 属性类型错误:.ATTR(..., bool) 应为 .REQUIRED_ATTR(..., Bool) 3. TensorType 使用外部变量导致 merge_proto.py 提取失败 4. 必需属性应使用 REQUIRED_ATTR 这些错误导致 merge_proto.py 的正则表达式无法正确匹配,ConfusionTransposeD 算子无法注册到 ops_proto_math.h。 ## 修改内容 - 修正 OP_END_FACTORY_REG 参数为 ConfusionTransposeD(与 REG_OP 一致) - 属性类型改为 Bool(大写) - 使用 REQUIRED_ATTR 标记必需属性 - TensorType 直接展开类型列表 ## 关联的Issue - #1558 ## 测试 - 验证 merge_proto.py 正则匹配成功 - 大包编译通过,ops_proto_math.h 正确生成 ## 文档更新 无需更新文档 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他 See merge request: cann/ops-math!2732 | 3 个月前 | |
fix dir_structure.md Co-authored-by: chensi79@huawei.com<chensi79@huawei.com> # message auto-generated for no-merge-commit merge: !2740 merge master into master fix dir_structure.md Created-by: chensi79 Commit-by: chensi79@huawei.com Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> dir_structure.md中目录结构已过时,更新为最新内容 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/1490 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 本地验证 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> dir_structure.md ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2740 | 3 个月前 | |
feat: 新增 Add 算子 C API(asc_simd)风格示例工程 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !2708 merge master into master feat: 新增 Add 算子 C API(asc_simd)风格示例工程 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 新增 Add 算子的 C API(asc_simd)风格示例工程 add_example_c_api,展示使用 C API 方式开发 AI Core 算子的完整流程,区别于传统 C++ 类方式的 AscendC API。 ### 改动原因 现有示例仅包含 C++ 类方式(AscendC API)和 AI CPU 方式的算子开发样例,缺少 C API(asc_simd)风格的示例。本 PR 补充了该开发方式的端到端示例,方便开发者参考。 ### 改动方法 1. 新增 examples/add_example_c_api/ 目录,包含完整的算子工程结构: - op_kernel/:使用 C API(asc_simd)实现加法 kernel,核心接口包括 asc_init()、asc_copy_gm2ub_sync()、asc_add_sync()、asc_copy_ub2gm_sync() - op_host/:Tiling 实现、算子定义(OpDef)、InferShape 实现 - op_graph/:图推理(InferShape/InferDataType)及 proto 定义 - examples/:aclnn 调用样例(test_aclnn_add_example_c_api.cpp) 2. 算子定义支持 ascend910b、ascend910_93、ascend950 硬件平台 3. 输入输出仅支持 FLOAT 数据类型,4 维 ND 格式 4. 更新 examples/README.md 添加新示例目录说明和样例表格条目 ## 关联的Issue - #1535 ## 测试 提供 aclnn 调用样例(test_aclnn_add_example_c_api.cpp),使用 32×4×4×4 的 FLOAT 张量进行端到端验证,计算 x1 + x2 = y 并打印结果。 ## 文档更新 - 新增 examples/add_example_c_api/README.md,说明产品支持情况、功能说明、参数说明、约束说明、调用方式和 Kernel 开发方式 - 更新 examples/README.md 添加 add_example_c_api 目录结构和样例表格 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2708 | 3 个月前 | |
【社区任务】AscendC实现SignBitsPack算子贡献 Co-authored-by: infinity_infi<67455467@qq.com> # message auto-generated for no-merge-commit merge: !2494 merge master into master 【社区任务】AscendC实现SignBitsPack算子贡献 Created-by: infinity_infi Commit-by: infinity_infi Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 使用AscendC对TBE实现的SignBitsPack算子进行重构,实现了AscendC实现的SignBitsPack算子对Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件硬件的适配。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> 关联Issue:https://gitcode.com/cann/ops-math/issues/1387 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 采用aclnn调用测试 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2494 | 3 个月前 | |
cdist算子smit模版min函数适配nan Co-authored-by: xiapengcheng5<xiapengcheng5@huawei.com> # message auto-generated for no-merge-commit merge: !2743 merge master into master cdist算子smit模版min函数适配nan Created-by: xiapengcheng5 Commit-by: xiapengcheng5 Merged-by: cann-robot Description: ## 描述 SMIT中Min函数输入中含nan时,原api接口返回nan,符合算子实际输出,但属于API错误输出,在后续API修复后,该问题浮现。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/1548 ## 测试 二级冒烟、david st、本地验证均通过 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [x ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2743 | 3 个月前 | |
RandomUniformV2 set dim0 Co-authored-by: zhaozi3<zhaozi3@h-partners.com> # message auto-generated for no-merge-commit merge: !2656 merge master into master RandomUniformV2 set dim0 Created-by: zhaozi3 Commit-by: zhaozi3 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> RandomUniformV2算子支持0维输入,放开tiling侧拦截 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 网络用例测试 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2656 | 3 个月前 | |
fix ci script | 3 个月前 | |
ops-math新增spack安装方式 Co-authored-by: moudi123<moudi1@h-partners.com> # message auto-generated for no-merge-commit merge: !2585 merge master into master ops-math新增spack安装方式 Created-by: moudi123 Commit-by: moudi123 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2585 | 4 个月前 | |
[CANNBot] 迁移RandomStandardNormal融合规则到新pass框架 Co-authored-by: xuejinghui<xuejinghui@huawei.com> # message auto-generated for no-merge-commit merge: !2420 merge fussion-pass into master [CANNBot] 迁移RandomStandardNormal融合规则到新pass框架 Created-by: xuejinghui Commit-by: xuejinghui Merged-by: cann-robot Description: ## 描述 [CANNBot] 迁移RandomStandardNormal融合规则到新pass框架 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue https://gitcode.com/cann/ops-math/issues/1407 <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 回归图转换成功且通路算子精度pass <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 不涉及 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:RandomStandardNormal融合规则并迁移至新Pass框架 ## AI/Agent 生成声明(必填) ------- 新增 代码来源: - [ ] 纯人工手写 - [x] AI 辅助编写(思路/片段/优化) - [ ] AI 完全生成 人工审查:已完成 测试验证:已通过 合规检查:已完成 See merge request: cann/ops-math!2420 | 4 个月前 | |
update license Co-authored-by: zhaozi3<zhaozi3@h-partners.com> # message auto-generated for no-merge-commit merge: !417 merge master into master update license Created-by: zhaozi3 Commit-by: zhaozi3 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!417 | 8 个月前 | |
feat: 忽略CodeArts项目配置目录 .arts Co-authored-by: zhanw_coding<zhanwang@huawei.com> # message auto-generated for no-merge-commit merge: !2083 merge ft-ignore into master feat: 忽略CodeArts项目配置目录 .arts Created-by: zhanw_coding Commit-by: zhanw_coding Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> feat: 忽略CodeArts项目配置目录 .arts ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/1175 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2083 | 4 个月前 | |
调整yaml文件格式 Co-authored-by: zhangxu-<zhangxu109@huawei.com> # message auto-generated for no-merge-commit merge: !2593 merge master into master 调整yaml文件格式 Created-by: zhangxu- Commit-by: zhangxu- Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 调整yaml文件格式 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> #1464 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 线上测试 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> NA ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2593 | 3 个月前 | |
math仓的doc tools 工具检测的低错问题 Co-authored-by: caiwenwen<caiwenwen6@h-partners.com> # message auto-generated for no-merge-commit merge: !2461 merge master into master math仓的doc tools 工具检测的低错问题 Created-by: caiwenwen Commit-by: caiwenwen Merged-by: cann-robot Description: ## 描述 处理math仓的doc tools 工具检测的低错问题,包括markdown低错、htlm标签合入、链接是否可以正常跳转 ## 关联的Issue #关联issue#1262 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 更新全部文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2461 | 4 个月前 | |
fix: 修复opgen生成的算子工程无法编译通过的问题 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !2431 merge master into master fix: 修复opgen生成的算子工程无法编译通过的问题 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 修复 opgen 工具生成的算子工程在编译时出现的多处问题,确保生成的模板代码可以正常编译通过。 改动原因: - CMakeLists.txt 中硬编码过滤 \ add_example\ 导致其他算子的 examples 目录无法正确包含 - 生成的算子工程目录缺少 CMake 构建链路(父目录 CMakeLists.txt 中没有 \add_subdirectory\) - 模板代码中存在编译错误:未定义的 \IDX_0\ 宏、未使用参数警告、kernel 函数签名与 Init 调用参数不匹配 改动方法: 1. **CMakeLists.txt**:将硬编码的 \add_example\ 过滤逻辑改为动态检查 \examples/{op_name}/CMakeLists.txt\ 文件是否存在,从而正确判断是否需要包含 examples 子目录 2. **opgen_standalone.py**:新增 \_update_cmake_chain()\ 方法,在生成算子工程后自动向上遍历父目录,在各级 CMakeLists.txt 中追加 \add_subdirectory\,确保构建系统能找到新建的工程目录 3. **add_example_infershape.cpp**:将 \IDX_0\ 替换为字面量 \0\,消除未定义宏导致的编译错误 4. **add_example_tiling.cpp**:为未使用的 \context\ 参数添加 \[[maybe_unused]]\ 属性并直接返回 \GRAPH_SUCCESS\,消除未使用参数警告 5. **add_example.cpp / add_example.h**:修正 kernel 函数和 \Init\ 方法的参数签名,移除多余的 \z\(输出)参数;补全 \Init\ 的参数声明和实现;将 \Process\ 中的循环次数改为变量 \loopExample\ ## 关联的Issue - #1378 https://gitcode.com/cann/ops-math/issues/1335 ## 测试 使用 opgen 工具生成算子工程后,验证生成的代码可以正常编译通过。 ## 文档更新 无 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2431 | 4 个月前 | |
docs: 补充生态算子精度标准引用 Co-authored-by: chaotang233<tangchao47@hisilicon.com> # message auto-generated for no-merge-commit merge: !2634 merge master into master docs: 补充生态算子精度标准引用 Created-by: chaotang233 Commit-by: chaotang233 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。-->增加精度标准的索引,确保仓可以引用到精度标准 会议纪要:https://etherpad-cann.meeting.osinfra.cn/p/TSC  ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。-->CONTRIBUTING.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2634 | 3 个月前 | |
init | 11 个月前 | |
规范化OAT.xml中许可证声明形式 Co-authored-by: chenyx2012<975102023@qq.com> # message auto-generated for no-merge-commit merge: !2009 merge master into master 规范化OAT.xml中许可证声明形式 Created-by: chenyx_2012 Commit-by: chenyx2012 Merged-by: cann-robot Description: ## 描述 规范化OAT.xml中许可证声明形式 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2009 | 5 个月前 | |
modify CANNLab desc Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !2651 merge master into master modify CANNLab desc Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 云开发环境名称由WebIDE更正为CANNLab ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> NA ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> quick_install.md QUICKSTART.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2651 | 3 个月前 | |
math仓的doc tools 工具检测的低错问题 Co-authored-by: caiwenwen<caiwenwen6@h-partners.com> # message auto-generated for no-merge-commit merge: !2461 merge master into master math仓的doc tools 工具检测的低错问题 Created-by: caiwenwen Commit-by: caiwenwen Merged-by: cann-robot Description: ## 描述 处理math仓的doc tools 工具检测的低错问题,包括markdown低错、htlm标签合入、链接是否可以正常跳转 ## 关联的Issue #关联issue#1262 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 更新全部文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2461 | 4 个月前 | |
【描 述】 eigen update to 5.0.0 Co-authored-by: j00427146<jialimin1@huawei.com> # message auto-generated for no-merge-commit merge: !985 merge master into master 【描 述】 eigen update to 5.0.0 Created-by: jialimin1 Commit-by: j00427146 Merged-by: cann-robot Description: ## 描述 现开源软件eigen 3.4.0 EOM,Eigen 从3.4.0版本升级到5.0.0,解决生命周期问题。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试   ## 文档更新 SECURITY.md docs/zh/context/build_offline.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:Update Eigen to 5.0.0 See merge request: cann/ops-math!985 | 6 个月前 | |
add_example_aicpu修改 Co-authored-by: Ding_Jing<dingjing19@huawei.com> # message auto-generated for no-merge-commit merge: !2237 merge bugfix-0415 into master add_example_aicpu修改 Created-by: Ding_Jing Commit-by: Ding_Jing Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本PR的具体修改内容如下: 1、修复add_example_aicpu的ut 2、ut说明中添加aicpu的kernel执行 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> issue [#1122](https://gitcode.com/cann/ops-math/issues/1122) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> [2026-04-15 13:01:30] [ RUN ] TEST_AddExample_UT.INT32_VECTOR_ADD_SUCC [2026-04-15 13:01:30] [ OK ] TEST_AddExample_UT.INT32_VECTOR_ADD_SUCC (0 ms) [2026-04-15 13:01:30] [----------] 1 test from TEST_AddExample_UT (0 ms total) [2026-04-15 13:01:30] [2026-04-15 13:01:30] [----------] Global test environment tear-down [2026-04-15 13:01:30] [==========] 1 test from 1 test suite ran. (0 ms total) [2026-04-15 13:01:30] [ PASSED ] 1 test. [2026-04-15 13:01:30] [100%] Built target math_aicpu_op_kernel_ut ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新了docs/zh/install/compile.md ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2237 | 4 个月前 | |
fix: 修正build.sh中onnxplugin和tfplugin帮助信息中已失效的--debug参数描述 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !2458 merge master into master fix: 修正build.sh中onnxplugin和tfplugin帮助信息中已失效的--debug参数描述 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 修正 build.sh 中 onnxplugin 和 tfplugin 模块 usage 帮助信息里已失效的 \ --debug\ 参数描述。 改动原因: onnxplugin 和 tfplugin 模块的帮助信息中仍然显示已不再使用的 \--debug\ 参数,与实际支持的 \--build-type\ 参数不一致,用户按照帮助信息使用 \--debug\ 会发现参数无效。 改动方法: 在 build.sh 的 \usage()\ 函数中,将 onnxplugin(第291-294行)和 tfplugin(第304-307行)两个分支的帮助文本和示例中的 \--debug\ 替换为 \--build-type=<Type>\,明确支持 \Release/Debug\ 两种构建类型,默认值为 \Release\。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 验证 \bash build.sh --onnxplugin -h\ 和 \bash build.sh --tfplugin -h\ 输出的帮助信息中 \--debug\ 已被替换为 \--build-type=<Type>\。 ## 文档更新 build.sh 帮助信息已更新。 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2458 | 4 个月前 | |
将未纳管文件加入到classify_yaml Co-authored-by: zhangdongdong34<zhangdongdong34@huawei.com> # message auto-generated for no-merge-commit merge: !2696 merge classify_fix into master 将未纳管文件加入到classify_yaml Created-by: zhangdongdong34 Commit-by: zhangdongdong34 Merged-by: cann-robot Description: ## 描述 修复cleancode,将未纳管文件加入到classify_yaml ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述: See merge request: cann/ops-math!2696 | 3 个月前 | |
refactor: 去除构建脚本对 gawk 的依赖,改用纯 bash 实现时间戳格式化 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !2407 merge master into master refactor: 去除构建脚本对 gawk 的依赖,改用纯 bash 实现时间戳格式化 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 将项目中所有 shell 脚本对 gawk 的依赖替换为纯 bash 实现,降低构建环境的外部依赖要求。 ### 改动原因 项目中多个脚本使用 gawk 进行日志时间戳格式化,导致 gawk 成为必需依赖。gawk 并非所有系统默认安装,可通过纯 bash 的 while read + date 组合实现相同功能,消除该依赖。 ### 改动方法 1. 将 build.sh、scripts/kernel/binary_script/ 下 7 个脚本、scripts/util/gen_compile_option.sh 共 9 个脚本中的 gawk 调用替换为 while IFS= read -r line; do echo "$(date '[%Y-%m-%d %H:%M:%S]') $line"; done 2. 移除 install_deps.sh 中的 install_gawk 函数及其调用(删除 31 行) 3. 从 docs/zh/install/quick_install.md 依赖列表中移除 gawk ## 关联的Issue - #1348 ## 测试 替换后的 bash 命令功能与原 gawk 命令一致,均为逐行读取输出并添加 [YYYY-MM-DD HH:MM:SS] 时间前缀。 ## 文档更新 更新了 docs/zh/install/quick_install.md,移除 gawk 依赖说明。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:重构-移除外部依赖 See merge request: cann/ops-math!2407 | 4 个月前 | |
docs: 优化环境部署文档结构,补充基础依赖和构建参数说明 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !2404 merge master into master docs: 优化环境部署文档结构,补充基础依赖和构建参数说明 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 重构项目环境部署相关文档,优化安装流程说明结构。将构建工具依赖安装步骤从 compile.md 迁移至 quick_install.md,使开发者在一处即可完成全部环境准备;补充 build.sh 的 --soc 参数支持列表;新增 absl-py 和 jinja2 Python 依赖。 具体改动: 1. README.md:优化源码下载说明措辞,将 WebIDE 提示改为醒目的注释块说明 2. build.sh:新增 --soc 参数所有支持值的说明,列出 ascend910b、ascend910_93、ascend950 等全部 SoC 型号 3. docs/zh/install/compile.md:移除"安装构建工具"章节(已迁移至 quick_install.md) 4. docs/zh/install/quick_install.md:重构手动安装章节,新增"安装基础依赖"小节,整合构建工具和 Python 依赖安装步骤 5. requirements.txt:新增 absl-py>=2.0.0 和 jinja2>=3.1.0 依赖 ## 关联的Issue - #1347 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 更新了 README.md、docs/zh/install/compile.md、docs/zh/install/quick_install.md 文档内容。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2404 | 4 个月前 | |
依赖cmake公共仓api,降低编译工程复杂度 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !2311 merge master into master 依赖cmake公共仓api,降低编译工程复杂度 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 依赖cmake公共仓api,降低编译工程复杂度 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2311 | 4 个月前 |
ops-math
🔥Latest News
- [2026/01] 新增QuickStart,指导新手零基础入门算子项目部署(支持Docker环境)、算子开发和贡献流程。
- [2025/12] 开源算子支持Ascend 950PR/Ascend 950DT,可以通过CANN Simulator仿真工具开发调试;在add算子中增加了<<<>>>kernel异构调用示例,方便用户自定义使用;在多个类别中新支持算子concat、lerp、drop_out_v3等。
- [2025/11] 完善多个算子README描述,改进算子开发实例文档及example。
- [2025/10] 新增experimental目录,完善贡献指南,支持开发者调试并贡献自定义算子。
- [2025/09] ops-math项目首次上线。
🚀概述
ops-math是CANN (Compute Architecture for Neural Networks)算子库中提供数值计算的基础算子库,包括conversion类、math类、random类等,覆盖张量形态变换、基础数学运算、随机数生成等场景,子库在架构图中的位置如下。

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