| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
style: 全仓统一 clang-format 代码格式化 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !3345 merge master into master style: 全仓统一 clang-format 代码格式化 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 对全仓代码(common、examples、tests 等目录共 113 个文件)统一执行 clang-format 格式化,使代码风格与 .clang-format 配置保持一致。本次变更不涉及任何功能逻辑修改,仅涉及缩进、对齐、空格、换行等代码风格调整。 涉及的主要目录: - common/inc/、common/src/:公共头文件及框架插件代码 - examples/:示例算子代码 - tests/:UT 测试框架及工具代码 ## 关联的Issue #1984 ## 测试 代码仅涉及格式化,不影响编译与功能;全量 UT 已通过。 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码格式化(clang-format) See merge request: cann/ops-math!3345 | 3 个月前 | |
style: 全仓统一 clang-format 代码格式化 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !3345 merge master into master style: 全仓统一 clang-format 代码格式化 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 对全仓代码(common、examples、tests 等目录共 113 个文件)统一执行 clang-format 格式化,使代码风格与 .clang-format 配置保持一致。本次变更不涉及任何功能逻辑修改,仅涉及缩进、对齐、空格、换行等代码风格调整。 涉及的主要目录: - common/inc/、common/src/:公共头文件及框架插件代码 - examples/:示例算子代码 - tests/:UT 测试框架及工具代码 ## 关联的Issue #1984 ## 测试 代码仅涉及格式化,不影响编译与功能;全量 UT 已通过。 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码格式化(clang-format) See merge request: cann/ops-math!3345 | 3 个月前 | |
refactor: npu_indexing/correlation/one_hot_d onnx 插件迁移至 ParseParamsByOperatorFn 接口 Co-authored-by: clinglai0517<laichangling@huawei.com> # message auto-generated for no-merge-commit merge: !5325 merge fix-onnx-partitionedcall into master refactor: npu_indexing/correlation/one_hot_d onnx 插件迁移至 ParseParamsByOperatorFn 接口 Created-by: clinglai0517 Commit-by: clinglai0517 Merged-by: cann-robot Description: ## 描述 将 npu_indexing、correlation、one_hot_d 三个 ONNX 插件从旧 ParseParamsFn(const Message*, ge::Operator&) 接口迁移至 ParseParamsByOperatorFn,去除onnx_common.h / ge::onnx:: / NodeProto 依赖(强依赖 ge_onnx.pb.h),插件与 framework UT 编译均脱离 protobuf。 ### 迁移内容 - conversion/strided_slice/framework/npu_indexing_onnx_plugin.cpp + 7 UT :begins/ends/strides 与五个 mask 经 json 解析。 - common/src/framework/correlation_onnx_plugin.cpp + 5 UT :groups 属性经 json 解析,保留默认值。 - math/one_hot/framework/one_hot_d_onnx_plugin.cpp + 7 UT :depth(必需)/ num_classes / on_value / off_value 经 json 解析。 ### 公共工具下沉 onnx_common.h 中所有无 protobuf 依赖的 helper 全部下沉至common/inc/framework/math_onnx_plugin_util.h(protobuf-free):Vec2Tensor、CreateScalar、DataTypeOnnx、onnx2om_dtype_map、GetOmDtypeFromOnnxDtype、ChangeFormatFromOnnx。onnx_common.h 现仅保留ge_onnx.pb.h 等 include 链供未迁移插件使用,经包含 util 仍提供这些 helper,无破坏。 ### CI 修复 1. scripts/ci/gen_ci_cmd.py:get_op_ut_types 识别 <op>/framework/ 与 <op>/tests/ut/framework/ 变更为 ophost,修复仅改 framework/onnx 插件的 PR 生成 0 条命令、UT 未运行的问题。 2. cmake/ut.cmake:framework 分支 --ops 过滤区分 common 集中目录(按文件名) 与独立算子目录(按目录算子名),修复 test_*_onnx_plugin.cpp 因文件名算子名与目录算子名不一致被 continue 跳过、framework_ut_cases 仅剩 empty.cpp 占位的问题。 ## 关联的Issue Issue #2892 ## 测试 - 容器 CANN 9.0.0 / Ascend 910B3:Onnx*PluginTest 共 19 用例全 [ PASSED ]。 - CI 增量 --ops=correlation,one_hot,strided_slice --ophost:46 用例(含 19 个 onnx framework 用例)全过。 - pre-commit(clang-format / end-of-file / OAT)全绿。 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5325 | 14 天前 | |
refactor: rename op_resource.h to op_resource_math.h Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !4224 merge master into master refactor: rename op_resource.h to op_resource_math.h Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 将静态库算子资源注册头文件 op_resource.h 重命名为 op_resource_math.h,与 math 仓命名体系保持一致。 ### 改动内容 - common/inc/op_api/op_resource.h → op_resource_math.h:文件重命名,同时更新 \file 注释和 include-guard 宏(COMMON_NN_OP_RESOURCE_H → COMMON_NN_OP_RESOURCE_MATH_H) - scripts/util/modify_gen_aclnn_static.py:autogen 阶段 sed 替换目标从 op_resource.h 改为 op_resource_math.h ### 影响范围 - 仅影响静态库编译链路,非静态库场景不受影响 - 经两轮独立构建验证,修改前后产出的 libcann_math_static.a SHA256 完全一致,本次更名对目标码无任何影响 ## 关联的Issue #2312 ## 测试 - 通过 bash build.sh --pkg --static --jit -j32 进行静态库编译验证 - 基线构建与新构建产物 SHA256 完全一致 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码重构(文件重命名) See merge request: cann/ops-math!4224 | 1 个月前 | |
DenseBincount算子下一代支持 Co-authored-by: tianyu52<tianyu52@huawei.com> # message auto-generated for no-merge-commit merge: !5259 merge master into master DenseBincount算子下一代支持 Created-by: tianyu52 Commit-by: tianyu52 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> DenseBincount算子下一代支持 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ut/st ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> README.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5259 | 14 天前 | |
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 | 1 个月前 | |
build: 将 op_graph 目录下所有 cpp 编入 libopsgraph_math.so Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !4484 merge master into master build: 将 op_graph 目录下所有 cpp 编入 libopsgraph_math.so Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 将 op_graph 目录下所有 cpp 文件递归编入 libopsgraph_math.so。原 cmake 配置仅编译匹配 *_graph_*.cpp、*_fallback.cpp、fusion_pass/*_pass.cpp 的文件,新增 op_graph 文件需手动调整 glob 模式;改为 GLOB_RECURSE 递归收集 op_graph 目录下所有 .cpp,后续新增文件自动纳入编译。 具体改动(cmake/func.cmake 两处): - add_all_modules_sources:file(GLOB ...) 改为 file(GLOB_RECURSE OP_GRAPH_SRCS ${SOURCE_DIR}/op_graph/*.cpp) - add_graph_plugin_sources:file(GLOB ...) 改为 file(GLOB_RECURSE OP_GRAPH_SRCS ${SOURCE_DIR}/*.cpp) ## 关联的Issue - #2540: 将 op_graph 目录下所有 cpp 自动编入 libopsgraph_math.so ## 测试 - 本地编译 ops-math,验证 libopsgraph_math.so 正常生成,op_graph 目录下新增 cpp 文件的符号被纳入。 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:构建系统优化 See merge request: cann/ops-math!4484 | 1 个月前 |