| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
feat(onnx): 迁移 ReverseSequence 插件至 ParseParamsByOperatorFn 并补单测 Co-authored-by: clinglai0517<laichangling@huawei.com> # message auto-generated for no-merge-commit merge: !5201 merge fix-onnx-0828 into master feat(onnx): 迁移 ReverseSequence 插件至 ParseParamsByOperatorFn 并补单测 Created-by: clinglai0517 Commit-by: clinglai0517 Merged-by: cann-robot Description: ## 描述 将 ReverseSequence ONNX 插件与 protobuf 解耦(ParseParamsFn → ParseParamsByOperatorFn),补单测;并修复 common 集中目录下 onnx 插件改动时框架 UT 在 CI 跑不到的问题,使本 MR 新增的 onnx UT 能被 CI 真正编译执行。 **主要改动:** - 插件解耦 + 新增 test_reverse_sequence_onnx_plugin.cpp(8 用例)。 - 抽出 protobuf-free 公共头 math_onnx_plugin_util.h(GetOpName),消除 onnx_common.h 与插件间的重复定义。 - 拆分 ParseParamsReverseSequence,方法嵌套深度 7→4(满足 CodeCheck ≤5)。 - 插件文件改 snake_case reverse_sequence_onnx_plugin.cpp(与测试文件名一致,便于按文件名匹配)。 - 打通 common onnx 框架 UT 的 CI 链路(见下)。 <details><summary>CI/cmake 框架 UT 使能细节</summary> 此前 common 下 onnx 改动,CI 的 gen_ci_cmd.py 不识别(回退默认 is_finite),cmake --ops 模式又把 framework 用例库 stub 成 empty.cpp,导致改了不测。改动: - scripts/ci/gen_ci_cmd.py:识别 common/(src/framework|tests/ut/framework)/(test_)?<op>_onnx_plugin.cpp,按文件名提算子名生成 --ops=<op> --ophost;无 op_host 路径的框架算子回退 ophost。 - cmake/func.cmake(check_compiled_ops):扫 common/src/framework/*_onnx_plugin.cpp 注入 COMPILED_OPS,避免 --ops=<common 插件> 时空 FATAL。 - tests/ut/op_host/CMakeLists.txt:门槛从"--ops 非空跳过"改为"全量接入;--ops 命中 common 框架插件才接入"。 - cmake/ut.cmake:framework 分支按 test_<op>_onnx_plugin.cpp 文件名过滤(不再按路径推 OP_NAME=common)。 </details> ## 关联的Issue Issue #2892 ## 测试 本地容器(CANN 9.0.0)矩阵全过:--ops=reverse_sequence 仅编入对应用例、8 PASSED、无 FATAL;--ops=is_finite 无回归;-f pr_filelist 端到端 gen_ci_cmd→--ops=reverse_sequence --ophost→8 PASSED。CI 实证 CodeCheck(OpenLibing)已转绿、precommit clang-format/EOF/codespell/OAT 通过、gen_ci_cmd.py 已对齐 ruff-format。 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5201 | 1 个月前 | |
新增 kthvalue 算子 Co-authored-by: ConanHuang<huangxiaobin1@huawei.com> # message auto-generated for no-merge-commit merge: !3174 merge master into master 新增 kthvalue 算子 Created-by: ConanHuang Commit-by: ConanHuang Merged-by: cann-robot Description: ## 描述 新增 KthValue 算子,重构 sort 公共逻辑 1. 新增 KthValue 算子,支持沿指定维度查找第 k 小值及其索引。支持数据类型:float16、float32、bfloat16、int8、int16、int32、int64、uint8、uint16、uint32、uint64,支持 last-axis 和 non-last small-axis(轴长 ∈ 2, 2048)两种场景。 2. 实现多策略 Tiling 路由:small axis insertion / two-stage、radix one-core / more-core、merge sort one-core / more-core、merge intra-core、non-last small axis、axis-one copy(axis=1 特化)。 3. 将 sort 算子的公共排序逻辑抽取到 sort/op_kernel/arch35/common/ 和 sort/op_host/arch35/sort_tiling_common.{h,cpp},供 kth_value 复用,包括 radix sort、merge sort、small axis、non-last small axis 等 base 类。 4. 新增 kth_value 的 tiling UT 和 infershape UT。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/2018 ## 测试 1 sort算子原始250+ST用例全部通过 2 sort算子新增80+ 非尾轴排序ST用例全部通过 3 kthvalue算子新增100+ ST用例,涵盖各个模板,全部通过 4 topkv2,sort_with_index ST用例全部通过 5 二级冒烟通过 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3174 | 3 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 个月前 | ||
| 3 个月前 |