| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
fix conv op proto Co-authored-by: huafeng793<chenhuafeng2@huawei.com> # message auto-generated for no-merge-commit merge: !9416 merge conv_proto into master fix conv op proto Created-by: huafeng793 Commit-by: huafeng793 Merged-by: cann-robot Description: ## 描述 ops_proto_nn.h和ops_proto_legacy.h中存在重复的conv2d、conv3d、deformableconv2d的原型定义。如果ops_proto_nn.h和ops_proto_legacy.h同时引用,会产生重复定义的错误,所以需要进行头文件引用保护。 ## 关联的Issue [#5380](https://gitcode.com/cann/ops-nn/issues/5380) ## 测试 RDV执行通过 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!9416 | 6 天前 | |
refactor: 删除 nn 仓重复的 resize 类算子 IR 原型与 ONNX 插件 Co-authored-by: huang-qiang<huangqiang3@huawei.com> # message auto-generated for no-merge-commit merge: !9322 merge chenfeng61/issue-60-resize-cleanup into master refactor: 删除 nn 仓重复的 resize 类算子 IR 原型与 ONNX 插件 Created-by: chenfeng61 Commit-by: huang-qiang Merged-by: cann-robot Description: ## 描述 resize 类算子(ResizeNearestNeighborV2、Resize)属视觉算子,其 IR 原型与 ONNX 框架插件应统一归属 ops-cv 仓。此前这两段 REG_OP 定义在 ops-nn 仓与 ops-cv 仓重复存在,且 resize_onnx_plugin.cpp 的 ONNX 插件误落在 ops-nn 仓。 本 PR 在 nn 侧执行删除(新增 0 行、删除 479 行): - 删除 common/inc/op_graph/op_nn_proto_extend.h 中 ResizeNearestNeighborV2、Resize 两段 REG_OP 定义(含 align_corners、half_pixel_centers、scales、coordinate_transformation_mode、mode、nearest_mode 等属性与输入输出类型定义),这些定义与 ops-cv 仓已有定义重复,统一由 ops-cv 仓承接; - 删除 common/src/framework/resize_onnx_plugin.cpp 整个文件,包括 ParseParamsResize/ParseOpToGraphResize、ParseParamsResizeV10/ParseOpToGraphResizeV10 等解析与构图逻辑,以及基于 REGISTER_CUSTOM_OP("PartitionedCall") 对 ai.onnx::10~18::Resize 的插件注册(nearest/linear/cubic 插值路径),该插件已迁移至 ops-cv 仓。 删除后 op_nn_proto_extend.h 中 MatMulV2 与 IndexByTensor 定义衔接保持正确,花括号平衡。 ## 关联的Issue 关联 issue #60(resize 类算子归属清理) 配套 PR(ops-cv 侧迁入):https://gitcode.com/cann/ops-cv/pull/1406 ## 测试 - pre-commit 全部通过(clang-format / OAT / codespell 等) - 删除后 op_nn_proto_extend.h 结构完整性验证:MatMulV2 与 IndexByTensor 衔接正确 ## 文档更新 无文档更新。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:归属清理 — 删除重复定义,统一归属至 ops-cv 仓 ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!9322 | 9 天前 | |
新增aclnnTopkV2接口适配TopkV2算子支持小k场景下的双调排序 Co-authored-by: caoyan_huawei<caoyan11@huawei.com> # message auto-generated for no-merge-commit merge: !8845 merge cy_br_npu_gpu_index into master 新增aclnnTopkV2接口适配TopkV2算子支持小k场景下的双调排序 Created-by: caoyan_huawei Commit-by: caoyan_huawei Merged-by: cann-robot Description: ## 概述 本 PR 为 Topk 算子新增带 sortPolicy 参数的 V2 接口 aclnnTopkV2,用于在指定条件下走 Bitonic 排序路径,使输出索引与 GPU 侧对齐。核心做法是:将原 aclnnTopkGetWorkspaceSize 的逻辑抽取为公共函数 aclnnTopkGetWorkspaceSizeCommon(新增 sortPolicy 参数),并让原 V1 接口与新 V2 接口共同复用;同时定义 Bitonic 排序的阈值与策略常量,新增 IsBitonicSort 判断,当 k 处于 [2, 32] 且 sorted 为 true、sortPolicy == 1 时,跳过原有的 IsSort/IsSortAndTopK 排序分支,改走 l0op::Topk 路径并把 sortPolicy 透传下去。 主要改动 1. 新增 TopkV2 对外接口:在 aclnn_topk.h 中声明 aclnnTopkV2GetWorkspaceSize 与 aclnnTopkV2,在 aclnn_topk.cpp 中实现,二者复用公共逻辑 aclnnTopkGetWorkspaceSizeCommon,并新增 sortPolicy 入参。 2. 重构 workspace 计算逻辑:原 aclnnTopkGetWorkspaceSize 函数体被抽取为带 sortPolicy 参数的 aclnnTopkGetWorkspaceSizeCommon,原接口作为兼容入口以默认值 0 调用公共函数,行为保持不变。 3. 新增 Bitonic 排序策略判断:定义常量 BITONIC_SORT_MAX_K_THRESTHOD(32)、BITONIC_SORT_MIN_K_THRESTHOD(2)、TOP_K_BITONIC_SORT_POLICY(1),并新增 IsBitonicSort 函数;在各排序分支(IsSort、IsSortAndTopK)条件中追加 !IsBitonicSort(...),使满足条件的场景不再走 sort 分支。 4. 扩展 l0op::Topk 接口:在 common/stub/op_api/level0/topk.h 中声明带 sortPolicy 参数的新 Topk 重载,并在 common/stub/op_api/op_api_stub.cpp 中补充对应的 stub 实现;aclnn_topk.cpp 中的各 l0op::Topk 调用点均改为传入 sortPolicy。 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/5236 ## 测试 ST, UT,二级冒烟测试正常 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8845 | 5 天前 | |
fix: migrate simple onnx parse params plugins Co-authored-by: clinglai0517<laichangling@huawei.com> # message auto-generated for no-merge-commit merge: !9161 merge onnx-fix-0825 into master fix: migrate simple onnx parse params plugins Created-by: clinglai0517 Commit-by: clinglai0517 Merged-by: cann-robot Description: ## 描述 将一批 ONNX 插件的参数解析接口从 ParseParamsFn 迁移到 ParseParamsByOperatorFn,实现onnx插件和protobuf的解耦 涉及算子: - Mish - FastGelu - Size - Elu - LeakyRelu - HardMax 【实现说明】 - 无属性或仅默认属性的算子,直接切换新注册接口。 - 对 Elu、LeakyRelu、HardMax,从 ge::Operator 的 attribute JSON 中解析 ONNX 属性。 - 保留旧逻辑中的默认值行为。 - 对缺失或非数组形式的 attribute JSON 增加保护,避免无属性场景误返回 FAILED。 ## 关联的Issue Issue #5115 ## 测试 onnx插件ut编译、执行通过 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!9161 | 11 天前 | |
调整cube_utils的源码和ut的位置 Co-authored-by: jiang-mingming01<jiangmingming16@h-partners.com> # message auto-generated for no-merge-commit merge: !9060 merge br_mingmingj_mv_cube_utils_0824 into master 调整cube_utils的源码和ut的位置 Created-by: jiang-mingming01 Commit-by: jiang-mingming01 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> t调整cube_utils的源码和ut的位置 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> UT在在--opgraph -u或者ut_test_all的时候触发 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!9060 | 12 天前 |