| AIDD拼写和标点问题修改 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !10060 merge master into master AIDD拼写和标点问题修改 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 AIDD拼写和标点问题修改 ## 关联的Issue 关联Issue #5680 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!10060 | 1 个月前 |
| refactor(unique): move aclnnUnique APIs to owning operator directory Co-authored-by: yourealize<chenzhanxi1@huawei.com> # message auto-generated for no-merge-commit merge: !8848 merge codex/move-aclnn-unique into master refactor(unique): move aclnnUnique APIs to owning operator directory Created-by: yourealize Commit-by: yourealize Merged-by: cann-robot Description: ## 描述 aclnnUnique 和 aclnnUnique2 当前位于 scatter_elements/op_api 目录,与接口实际归属不一致。本次调整: - 将 aclnnUnique、aclnnUnique2 及共享实现 unique_common 迁移到 unique_consecutive/op_api。 - 将原有 aclnnUniqueConsecutive 及 UniqueConsecutive L0 接口从 unique_consecutive/op_host/op_api 迁移到根级 op_api,统一符合仓库当前目录规范。 - 950 核心路径由 Sort + UniqueConsecutive 实现;UniqueWithCountsAndSorting 保留为不支持 AI Core 路径时的回退实现。 - 同步迁移接口文档、示例、ST 和 UT。 - 将构建入口调整到算子根 CMakeLists.txt,更新依赖、文档索引和 classify_rule.yaml,并移除 scatter_elements 中不再使用的 Unique 依赖。 ## 关联的Issue [#4918](https://gitcode.com/cann/ops-nn/issues/4918) ## 测试 - git diff --check 通过。 - 目录、引用和依赖结构检查通过,旧路径无残留。 - 未运行单元测试。 ## 文档更新 - 迁移 aclnnUnique.md、aclnnUnique2.md。 - 更新 aclnn API 菜单及接口列表链接。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [x] 其他,请描述:目录结构调整 ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!8848 | 1 个月前 |
| format cpp Co-authored-by: yang-di52<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !6784 merge issue_fix into master format cpp Created-by: yang-di52 Commit-by: yang-di52 Merged-by: cann-robot Description: ## 描述 批量刷新cpp代码格式 ## 关联的Issue [#3791](https://gitcode.com/cann/ops-nn/issues/3791) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码格式化 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!6784 | 3 个月前 |
| fix: 规范 index 目录 6 算子日志输出(级别错配/标识符拼写/格式符/错误描述) Co-authored-by: liangtongxue<lianglihui@h-partners.com> # message auto-generated for no-merge-commit merge: !9847 merge fix/log-spec-20260903-v2 into master fix: 规范 index 目录 6 算子日志输出(级别错配/标识符拼写/格式符/错误描述) Created-by: liangtongxue Commit-by: liangtongxue Merged-by: cann-robot Description: ## 描述 对 index/ 下 6 算子(gather_elements、index、index_put_v2、index_put_with_sort_v2、non_zero、unsorted_segment_sum,含 examples、tests)的日志输出做规范整改,修复以下缺陷: - **致命级别错配**:index_put_v2_fusion_pass 失败分支 OP_LOGI 改为 OP_LOGE(14 处),故障不再被 INFO 级过滤忽略 - **标识符拼写改名(定义/声明/调用全同步)**:公共头 level2_base.h CheckInpuNullTensorMaxUnPool3D→CheckInputNullTensorMaxUnPool3D、isContinous_→isContinuous_、MargeInputAxis/MargeOutputAxis→MergeInputAxis/MergeOutputAxis、intputDtypeSize→inputDtypeSize、CalcTilingForInt→CalcTiling4Int、拼音变量 sheng→remainder - **描述与实现不符修正**:multinomial 日志实参 self/out 顺序颠倒(标签与值配对错误)、cast bool to int8 实际为 int32、onnx dtype 文案与 kvlist 对齐 - **错误描述不完整**:Check* failed! 补参数名(7 处)、GetDim/tailSize/indicesSize 等校验失败补当前值、校验宏 incorrectShapes/incorrectDtypes 传变量名字符串改传真实值(9 处)、dtype 支持列表补 DT_COMPLEX64 与实现集合对齐 - **格式符与实参类型不匹配**:按头文件/TilingData 实类型逐项修正:sortDimValue %d→%ld(9 处)、no_continuous 8 参数整段重写、ubSize_/innerDim_ %ld→%lu(5 处)等 - **语法错误(50+ 处)**:not support→does not support、should same with→should be the same as、is begin→begins、running begin/end→started/finished、don't→doesn't、序数 1th、两行拼接逗号补空格等 ### 改动方法 仅修改日志文案/级别/格式符及拼写错误标识符的全量同步改名,不改动任何校验逻辑与控制流;标识符改名已确认仓内定义/声明/调用零残留。 ## 关联的Issue #5650 ## 测试 - pre-commit 全部通过(clang-format / ruff-check / ruff-format / codespell / OAT 等 10 项) - bash build.sh --pkg --jit --soc=ascend950 编译打包通过(含 -Werror=format 严格校验) - 标识符改名定义/声明/调用全部同步(grep 零残留) - 输出文案中文残留、业务代码私有打印残留均为 0 ## 文档更新 无 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!9847 | 1 个月前 |
| format cpp Co-authored-by: yang-di52<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !6784 merge issue_fix into master format cpp Created-by: yang-di52 Commit-by: yang-di52 Merged-by: cann-robot Description: ## 描述 批量刷新cpp代码格式 ## 关联的Issue [#3791](https://gitcode.com/cann/ops-nn/issues/3791) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码格式化 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!6784 | 3 个月前 |
| Feature: 为 index 和 pooling 类算子新增 Ascend350 平台支持 Co-authored-by: klein8793<zhangli24@huawei.com> # message auto-generated for no-merge-commit merge: !9754 merge dev_zl_2026_0902 into master Feature: 为 index 和 pooling 类算子新增 Ascend350 平台支持 Created-by: klein8793 Commit-by: klein8793 Merged-by: cann-robot Description: ## 描述 为 index 和 pooling 类算子新增 Ascend350 平台支持。具体变更包括: 1. **新增 Ascend350 平台配置文件**(42 个 JSON):为每个算子新增 op_host/config/ascend350/ 下的二进制配置 JSON 2. **注册 Ascend350 平台**:在各算子 _def.cpp 中添加 his->AICore().AddConfig(ascend350, aicoreConfig) 3. **更新编译配置**:修改各算子 CMakeLists.txt,添加 Ascend350 编译选项;更新 scendc_config.json 中对应算子的 compute_units 列表,将 [ascend950] 扩展为 [ascend950, ascend350] 4. **更新 Fusion Pass 平台判断**:在 bucketize_v2_fusion_pass、inplace_add_fusion_pass、gather_fusion_pass、tensor_scatter_add_fusion_pass、sorted_sparse_segment_mean_grad_fusion_pass 中将 Ascend350 加入平台白名单 涉及算子(35+): - index: bucketize_v2, concat_offset, gather_elements, gather_nd, gather_v2, index_fill, index_fill_d, index_put_v2, inplace_index_add, inplace_index_fill, linear_index_v2, masked_scatter, repeat_interleave, reverse_sequence, reverse_v2, scatter, scatter_add, scatter_add_with_sorted, scatter_elements, scatter_elements_v2, scatter_nd, scatter_nd_add, scatter_nd_max, scatter_nd_min, scatter_nd_update, scatter_sub, scatter_update, segment_sum, sorted_sparse_segment_mean_grad, sparse_segment_mean, sparse_to_dense, unsorted_segment_max, unsorted_segment_min - pooling: avg_pool, avg_pool_v2 - 公共库: scatter_nd_common, unsorted_segment_common, sort_lib ## 关联的Issue - #5651 ## 测试 obp冒烟、david冒烟已通过 ## 文档更新 NA ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [ ] AI辅助编写 See merge request: cann/ops-nn!9754 | 1 个月前 |
| feat(scatter_elements): 支持确定性全局排序 Co-authored-by: yourealize<chenzhanxi1@huawei.com> # message auto-generated for no-merge-commit merge: !9766 merge codex/migrate-scatter-elements-global-sort into master feat(scatter_elements): 支持确定性全局排序 Created-by: yourealize Commit-by: yourealize Merged-by: cann-robot Description: ## 描述 ScatterElements 在 Ascend 950 确定性模式下新增全局排序路径,复用现有 SortLib,并保留 data -> y 拷贝语义。 主要修改: - Host Tiling 增加全局排序 tiling、workspace 及 2xxxxxx tiling key 路由。 - 新增 copy -> linear index -> SortLib radix sort -> grouped reduction kernel。 - FP16/BF16 分组内使用 FP32 累加;INT8/INT16 使用 INT32 累加,组间按输出 dtype 写回。 - permSize 跟随 countMode,采用 32/64 位同宽设计,不修改 SortLib。 - 新增 ScatterElements Host Tiling UT,覆盖排序路由、fallback、subset 和 64 位 permutation 边界。 本 PR 仅修改 index/scatter_elements,index/sort_lib 与目标基线一致。 ## 关联的Issue Closes #5735 ## 测试 - pre-commit run --from-ref upstream/master --to-ref HEAD:全部通过。 - clang-format、codespell、OAT Compliance Check:全部通过。 - rebase 前后 git range-diff:补丁完全等价。 - git diff --check upstream/master...HEAD:通过。 - ScatterElementsWithSortedTiling:5/5 通过。 - ScatterElementsV2WithSortedTiling:9/9 通过。 - 上游 SortLibTilingTest:10/10 通过。 - ScatterElements Ascend950PR_9599 kernel 配置:20/20 编译通过。 - 完整 Host UT:48/51 通过;其余 3 个失败为本机 CANN 9.1 下既有的 ScatterElementsV2 确定性 tiling 序列化期望差异,与本 PR 无关。 ## 文档更新 无需文档更新。 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!9766 | 1 个月前 |
| feat(aicpu): enable constant folding for migrated ops Co-authored-by: hid29204727<wangboyu20@huawei.com> # message auto-generated for no-merge-commit merge: !9280 merge codex/aicpu-const-folding into master feat(aicpu): enable constant folding for migrated ops Created-by: hid29204727 Commit-by: hid29204727 Merged-by: cann-robot Description: ## 描述 补充 ops-nn 仓 AICPU host 常量折叠注册通路,并为当前已标记 OPEN_OPS_FLAG 的 18 个迁移算子统一开启常量折叠支持。 主要改动: - 新增仓级 OPS_NN_REGISTER_CPU_KERNELV2 注册包装宏,host 构建优先注册 V2,device/custom/UT 保持 V1 回退。 - 为 add_modules_sources 和 add_all_modules_sources 增加 HOSTCPU 参数及 host OBJECT 收集逻辑。 - 为 18 个 OPEN_OPS_FLAG 算子补充 HOSTCPU TRUE、注册头文件和 V2 注册。 - host OBJECT 汇入 libopconstant_folding_nn.so。 ## 关联的Issue 无。 ## 测试 已完成以下静态验证: - git diff --check 通过。 - 18 个 OPEN_OPS_FLAG 算子均具备 HOSTCPU TRUE。 - 18 个算子均使用 OPS_NN_REGISTER_CPU_KERNELV2,无直接 V1 注册残留。 - 注册头文件、host 编译宏和仓级 so 收集通路检查通过。 当前 Windows 环境缺少 CANN、NPU、CMake 和远端构建桥,未执行 bash build.sh --pkg -j16;完整打包构建及常量折叠功能验证待 CANN Linux 环境/CI 完成。 ## 文档更新 无仓内文档变更。 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!9280 | 30 天前 |
| Feature: 为 index 和 pooling 类算子新增 Ascend350 平台支持 Co-authored-by: klein8793<zhangli24@huawei.com> # message auto-generated for no-merge-commit merge: !9754 merge dev_zl_2026_0902 into master Feature: 为 index 和 pooling 类算子新增 Ascend350 平台支持 Created-by: klein8793 Commit-by: klein8793 Merged-by: cann-robot Description: ## 描述 为 index 和 pooling 类算子新增 Ascend350 平台支持。具体变更包括: 1. **新增 Ascend350 平台配置文件**(42 个 JSON):为每个算子新增 op_host/config/ascend350/ 下的二进制配置 JSON 2. **注册 Ascend350 平台**:在各算子 _def.cpp 中添加 his->AICore().AddConfig(ascend350, aicoreConfig) 3. **更新编译配置**:修改各算子 CMakeLists.txt,添加 Ascend350 编译选项;更新 scendc_config.json 中对应算子的 compute_units 列表,将 [ascend950] 扩展为 [ascend950, ascend350] 4. **更新 Fusion Pass 平台判断**:在 bucketize_v2_fusion_pass、inplace_add_fusion_pass、gather_fusion_pass、tensor_scatter_add_fusion_pass、sorted_sparse_segment_mean_grad_fusion_pass 中将 Ascend350 加入平台白名单 涉及算子(35+): - index: bucketize_v2, concat_offset, gather_elements, gather_nd, gather_v2, index_fill, index_fill_d, index_put_v2, inplace_index_add, inplace_index_fill, linear_index_v2, masked_scatter, repeat_interleave, reverse_sequence, reverse_v2, scatter, scatter_add, scatter_add_with_sorted, scatter_elements, scatter_elements_v2, scatter_nd, scatter_nd_add, scatter_nd_max, scatter_nd_min, scatter_nd_update, scatter_sub, scatter_update, segment_sum, sorted_sparse_segment_mean_grad, sparse_segment_mean, sparse_to_dense, unsorted_segment_max, unsorted_segment_min - pooling: avg_pool, avg_pool_v2 - 公共库: scatter_nd_common, unsorted_segment_common, sort_lib ## 关联的Issue - #5651 ## 测试 obp冒烟、david冒烟已通过 ## 文档更新 NA ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [ ] AI辅助编写 See merge request: cann/ops-nn!9754 | 1 个月前 |
| feat(aicpu): enable constant folding for migrated ops Co-authored-by: hid29204727<wangboyu20@huawei.com> # message auto-generated for no-merge-commit merge: !9280 merge codex/aicpu-const-folding into master feat(aicpu): enable constant folding for migrated ops Created-by: hid29204727 Commit-by: hid29204727 Merged-by: cann-robot Description: ## 描述 补充 ops-nn 仓 AICPU host 常量折叠注册通路,并为当前已标记 OPEN_OPS_FLAG 的 18 个迁移算子统一开启常量折叠支持。 主要改动: - 新增仓级 OPS_NN_REGISTER_CPU_KERNELV2 注册包装宏,host 构建优先注册 V2,device/custom/UT 保持 V1 回退。 - 为 add_modules_sources 和 add_all_modules_sources 增加 HOSTCPU 参数及 host OBJECT 收集逻辑。 - 为 18 个 OPEN_OPS_FLAG 算子补充 HOSTCPU TRUE、注册头文件和 V2 注册。 - host OBJECT 汇入 libopconstant_folding_nn.so。 ## 关联的Issue 无。 ## 测试 已完成以下静态验证: - git diff --check 通过。 - 18 个 OPEN_OPS_FLAG 算子均具备 HOSTCPU TRUE。 - 18 个算子均使用 OPS_NN_REGISTER_CPU_KERNELV2,无直接 V1 注册残留。 - 注册头文件、host 编译宏和仓级 so 收集通路检查通过。 当前 Windows 环境缺少 CANN、NPU、CMake 和远端构建桥,未执行 bash build.sh --pkg -j16;完整打包构建及常量折叠功能验证待 CANN Linux 环境/CI 完成。 ## 文档更新 无仓内文档变更。 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!9280 | 30 天前 |
| docs(lamb/scatter): 补齐 16 个算子 README 产品支持表的 A2/A3 标记 Co-authored-by: tangpingchuan<tangpingchuan@huawei.com> # message auto-generated for no-merge-commit merge: !9223 merge fix/readme-a2a3-support into master docs(lamb/scatter): 补齐 16 个算子 README 产品支持表的 A2/A3 标记 Created-by: zl_hw Commit-by: tangpingchuan Merged-by: cann-robot Description: ## 描述 这 16 个算子在 A2(ascend910b)与 A3(ascend910_93)上均有可用实现,但各自 README 的「产品支持情况」表把这两行标成了 ×,与事实不符——从资料上看不出这些算子在 A2/A3 可用。本 PR 将这两行订正为 √。 判定依据(两条同时成立才改,逐个算子核对): 1. canndev ops/built-in/tbe/op_info_cfg/ai_core/{ascend910b,ascend910_93}/aic-*-ops-info.ini 中存在该 OpType 的注册段; 2. canndev ops/built-in/tbe/impl/(或 impl/dynamic/)下存在对应的实现文件。 涉及算子: - optim:lamb_apply_optimizer_assign、lamb_apply_weight_assign、lamb_next_m_v、lamb_next_m_v_with_decay、lamb_next_right、lamb_update_with_lr、lamb_update_with_lr_v2 - index:scatter、scatter_add、scatter_div、scatter_elements、scatter_max、scatter_min、scatter_mul、scatter_nd、quant_update_scatter 未改动项:仅改「Atlas A3 训练系列产品/Atlas A3 推理系列产品」与「Atlas A2 训练系列产品/Atlas A2 推理系列产品」两行的取值;「Atlas 200I/500 A2 推理产品」(名称中同样含 A2)及其余产品行、README 正文均未改动。 一致性说明:同目录下 scatter_nd_sub、scatter_non_aliasing_add、scatter_max_with_argmax 等算子同样是本仓 def 只注册 ascend950、A2/A3 实现在 canndev,其 README 本就标为 √;本次改动与既有写法保持一致。 ## 关联的Issue - 关联Issue #5164 (https://gitcode.com/cann/ops-nn/issues/5164) ## 测试 本 PR 仅涉及 README 文档,无代码改动,不涉及编译与用例执行。核对方式: 1. 脚本逐算子比对 canndev 的 ops-info 注册段与 impl 实现文件,确认 16 个算子在 ascend910b/ascend910_93 均命中;改后复跑同一脚本,同类算子中已无遗漏; 2. 核对 git diff,被修改的行全部为 <term>Atlas A2/A3 …</term> 两行,未触及其他产品行与正文。 ## 文档更新 更新了上述 16 个算子目录下的 README.md(每个文件 2 行,共 32 行)。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!9223 | 1 个月前 |