| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
批量修改md中冗余空格 Co-authored-by: wuyao51511<wuyao61@h-partners.com> # message auto-generated for no-merge-commit merge: !6027 merge master into master 批量修改md中冗余空格 Created-by: wuyao51511 Commit-by: wuyao51511 Merged-by: cann-robot Description: ## 描述 文档空格问题清理 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!6027 | 2 个月前 | |
geir用例修改 Co-authored-by: Ding_Jing<dingjing19@huawei.com> # message auto-generated for no-merge-commit merge: !3795 merge geir_modify_0414 into master geir用例修改 Created-by: Ding_Jing Commit-by: Ding_Jing Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本PR针对geir用例修改: 1、删除无用头文件 2、用例报错时再打Error Message信息,防止产生误导 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> issue [#2045](https://gitcode.com/cann/ops-nn/issues/2045) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> Assert: [2026-04-14 09:48:24] 2026-04-14 09:48:24,000 - INFO - [XIR]: Start to add compute graph to ir session [2026-04-14 09:48:24] 2026-04-14 09:48:24,000 - INFO - [XIR]: Session add ir compute graph to ir session success [2026-04-14 09:48:24] 2026-04-14 09:48:24,000 - INFO - [XIR]: dump graph to txt [2026-04-14 09:48:24] 2026-04-14 09:48:24,000 - INFO - [XIR]: Start to run ir compute graph [2026-04-14 09:48:24] 2026-04-14 09:48:24,000 - INFO - [XIR]: Session run ir compute graph success [2026-04-14 09:48:25] 2026-04-14 09:48:24,000 - INFO - [XIR]: Start to finalize ir graph session [2026-04-14 09:48:27] 2026-04-14 09:48:25,000 - INFO - [XIR]: Finalize ir graph session success [2026-04-14 09:48:27] [2026-04-14 09:48:27] ---------------------------------------------------------------- [2026-04-14 09:48:27] Run test_geir_assert success. [2026-04-14 09:48:27] ---------------------------------------------------------------- [2026-04-14 09:48:27] Identity: [2026-04-14 09:49:31] 2026-04-14 09:49:31,000 - INFO - [XIR]: Start to add compute graph to ir session [2026-04-14 09:49:31] 2026-04-14 09:49:31,000 - INFO - [XIR]: Session add ir compute graph to ir session success [2026-04-14 09:49:31] 2026-04-14 09:49:31,000 - INFO - [XIR]: dump graph to txt [2026-04-14 09:49:31] 2026-04-14 09:49:31,000 - INFO - [XIR]: Start to run ir compute graph [2026-04-14 09:49:31] 2026-04-14 09:49:31,000 - INFO - [XIR]: Session run ir compute graph success [2026-04-14 09:49:32] result[0] is: 2.000000 [2026-04-14 09:49:32] result[1] is: 2.000000 [2026-04-14 09:49:32] result[2] is: 2.000000 [2026-04-14 09:49:32] result[3] is: 2.000000 [2026-04-14 09:49:32] result[4] is: 2.000000 [2026-04-14 09:49:32] result[5] is: 2.000000 [2026-04-14 09:49:32] result[6] is: 2.000000 [2026-04-14 09:49:32] result[7] is: 2.000000 [2026-04-14 09:49:32] 2026-04-14 09:49:31,000 - INFO - [XIR]: Start to finalize ir graph session [2026-04-14 09:49:34] 2026-04-14 09:49:33,000 - INFO - [XIR]: Finalize ir graph session success [2026-04-14 09:49:34] [2026-04-14 09:49:34] ---------------------------------------------------------------- [2026-04-14 09:49:34] Run test_geir_identity success. [2026-04-14 09:49:34] ---------------------------------------------------------------- [2026-04-14 09:49:34] GatherV2: [2026-04-14 09:51:31] result[0] is: (1.500000, 11.500000) [2026-04-14 09:51:31] result[1] is: (3.500000, 13.500000) [2026-04-14 09:51:31] result[2] is: (6.500000, 16.500000) [2026-04-14 09:51:31] result[3] is: (8.500000, 18.500000) [2026-04-14 09:51:31] result[4] is: (11.500000, 21.500000) [2026-04-14 09:51:31] result[5] is: (13.500000, 23.500000) [2026-04-14 09:51:33] [2026-04-14 09:51:33] ---------------------------------------------------------------- [2026-04-14 09:51:33] Run test_geir_gather_v2 success. [2026-04-14 09:51:33] ---------------------------------------------------------------- [2026-04-14 09:51:33] reverse_sequence: [2026-04-14 10:30:09] === ReverseSequence GEIR Test Start === [2026-04-14 10:30:09] output 0 dtype : 11 [2026-04-14 10:30:10] INFO - [XIR]: Precison is ok. [2026-04-14 10:30:13] === Test completed successfully === [2026-04-14 10:30:13] [2026-04-14 10:30:13] ---------------------------------------------------------------- [2026-04-14 10:30:13] Run test_geir_reverse_sequence success. [2026-04-14 10:30:13] ---------------------------------------------------------------- [2026-04-14 10:30:13] ScatterElements: [2026-04-14 09:56:49] result[0] is: (1.000000, 1.000000) [2026-04-14 09:56:49] result[1] is: (10.000000, -1.000000) [2026-04-14 09:56:49] result[2] is: (3.000000, 3.000000) [2026-04-14 09:56:49] result[3] is: (20.000000, -2.000000) [2026-04-14 09:56:49] result[4] is: (5.000000, 5.000000) [2026-04-14 09:56:51] [2026-04-14 09:56:51] ---------------------------------------------------------------- [2026-04-14 09:56:51] Run test_geir_scatter_elements success. [2026-04-14 09:56:51] ---------------------------------------------------------------- [2026-04-14 09:56:51] TensorScatterUpdate: [2026-04-14 09:57:50] 2026-04-14 09:57:50,000 - INFO - [XIR]: Start to add compute graph to ir session [2026-04-14 09:57:50] 2026-04-14 09:57:50,000 - INFO - [XIR]: Session add ir compute graph to ir session success [2026-04-14 09:57:50] 2026-04-14 09:57:50,000 - INFO - [XIR]: dump graph to txt [2026-04-14 09:57:50] 2026-04-14 09:57:50,000 - INFO - [XIR]: Start to run ir compute graph [2026-04-14 09:57:50] 2026-04-14 09:57:50,000 - INFO - [XIR]: Session run ir compute graph success [2026-04-14 09:57:50] result[0] is: (100.000000, 10.000000) [2026-04-14 09:57:50] result[1] is: (101.000000, 11.000000) [2026-04-14 09:57:50] result[2] is: (102.000000, 12.000000) [2026-04-14 09:57:50] result[3] is: (103.000000, 13.000000) [2026-04-14 09:57:50] result[4] is: (104.000000, 14.000000) [2026-04-14 09:57:50] result[5] is: (5.000000, -2.500000) [2026-04-14 09:57:50] result[6] is: (6.000000, 3.500000) [2026-04-14 09:57:50] result[7] is: (7.000000, -3.500000) [2026-04-14 09:57:50] result[8] is: (8.000000, 4.500000) [2026-04-14 09:57:50] result[9] is: (9.000000, -4.500000) [2026-04-14 09:57:50] result[10] is: (200.000000, 20.000000) [2026-04-14 09:57:50] result[11] is: (201.000000, 21.000000) [2026-04-14 09:57:50] result[12] is: (202.000000, 22.000000) [2026-04-14 09:57:50] result[13] is: (203.000000, 23.000000) [2026-04-14 09:57:50] result[14] is: (204.000000, 24.000000) [2026-04-14 09:57:50] 2026-04-14 09:57:50,000 - INFO - [XIR]: Start to finalize ir graph session [2026-04-14 09:57:53] 2026-04-14 09:57:52,000 - INFO - [XIR]: Finalize ir graph session success [2026-04-14 09:57:53] [2026-04-14 09:57:53] ---------------------------------------------------------------- [2026-04-14 09:57:53] Run test_geir_tensor_scatter_update success. [2026-04-14 09:57:53] ---------------------------------------------------------------- Where: [2026-04-14 10:03:13] 2026-04-14 10:03:13,000 - INFO - [XIR]: Start to add compute graph to ir session [2026-04-14 10:03:13] 2026-04-14 10:03:13,000 - INFO - [XIR]: Session add ir compute graph to ir session success [2026-04-14 10:03:13] 2026-04-14 10:03:13,000 - INFO - [XIR]: dump graph to txt [2026-04-14 10:03:13] 2026-04-14 10:03:13,000 - INFO - [XIR]: Start to run ir compute graph [2026-04-14 10:03:13] 2026-04-14 10:03:13,000 - INFO - [XIR]: Session run ir compute graph success [2026-04-14 10:03:14] 2026-04-14 10:03:13,000 - INFO - [XIR]: Precision is ok [2026-04-14 10:03:14] 2026-04-14 10:03:13,000 - INFO - [XIR]: Start to finalize ir graph session [2026-04-14 10:03:16] 2026-04-14 10:03:15,000 - INFO - [XIR]: Finalize ir graph session success [2026-04-14 10:03:16] [2026-04-14 10:03:16] ---------------------------------------------------------------- [2026-04-14 10:03:16] Run test_geir_where success. [2026-04-14 10:03:16] ---------------------------------------------------------------- [2026-04-14 10:03:16] ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 针对geir用例修改,不涉及文档更新 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!3795 | 4 个月前 | |
add reduction for ScatterElements Co-authored-by: lu-yukun<luyukun4@h-partners.com> # message auto-generated for no-merge-commit merge: !6013 merge br_scatter into master add reduction for ScatterElements Created-by: lu-yukun Commit-by: lu-yukun Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 支持 ScatterElements onnx 传入 reduction 属性 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/3315 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!6013 | 2 个月前 | |
A5接口Unique多维输入支持走AiCore Co-authored-by: ZhouChuping<zhouchuping1@huawei.com> # message auto-generated for no-merge-commit merge: !6792 merge 9.1.0 into 9.1.0 A5接口Unique多维输入支持走AiCore Created-by: ZhouChuping Commit-by: ZhouChuping Merged-by: cann-robot Description: ## 描述 unqiue接口接收多维输入后由AiCpu改为AiCore处理 ## 关联的Issue [#3311](https://gitcode.com/cann/ops-nn/issues/3311) ## 测试 此pr已合入master分支 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!6792 | 1 个月前 | |
LeakyRelu/LeakyReluGrad/QuantUpdateScatter/ScatterAdd/ScatterElements/ScatterNd/ScatterNdAdd/Swish算子文档补充 Co-authored-by: ZhouChuping<zhouchuping1@huawei.com> # message auto-generated for no-merge-commit merge: !576 merge master into master LeakyRelu/LeakyReluGrad/QuantUpdateScatter/ScatterAdd/ScatterElements/ScatterNd/ScatterNdAdd/Swish算子文档补充 Created-by: ZhouChuping Commit-by: ZhouChuping Merged-by: cann-robot Description: ## 描述 1.LeakyRelu/LeakyReluGrad/QuantUpdateScatter/ScatterAdd/ScatterElements/ScatterNd/ScatterNdAdd/Swish算子文档补充 ## 关联的Issue 关联Issue [#316](https://gitcode.com/cann/ops-nn/issues/316) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!576 | 7 个月前 | |
fix vfscope && ErrMsg整改 Co-authored-by: 吕梦鸽<lvmengge@huawei.com> # message auto-generated for no-merge-commit merge: !5746 merge master into master fix vfscope && ErrMsg整改 Created-by: lvmengge Commit-by: 吕梦鸽 Merged-by: cann-robot Description: ## 描述 fix vfscope && ErrMsg整改 ## 关联的Issue 关联Issue [#3263](https://gitcode.com/cann/ops-nn/issues/3263) ## 测试 st测试和冒烟测试 ## 文档更新 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [√ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5746 | 2 个月前 | |
fix vfscope && ErrMsg整改 Co-authored-by: 吕梦鸽<lvmengge@huawei.com> # message auto-generated for no-merge-commit merge: !5746 merge master into master fix vfscope && ErrMsg整改 Created-by: lvmengge Commit-by: 吕梦鸽 Merged-by: cann-robot Description: ## 描述 fix vfscope && ErrMsg整改 ## 关联的Issue 关联Issue [#3263](https://gitcode.com/cann/ops-nn/issues/3263) ## 测试 st测试和冒烟测试 ## 文档更新 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [√ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5746 | 2 个月前 | |
feat: migrate aicpu opdef json payloads to cpp defs Co-authored-by: zhaowenrui666<zhaowenrui7@huawei.com> # message auto-generated for no-merge-commit merge: !4390 merge def into master feat: migrate aicpu opdef json payloads to cpp defs Created-by: zhaowenrui666 Commit-by: zhaowenrui666 Merged-by: cann-robot Description: ## 描述 当前部分 AICPU 算子的 opdef 仍以 JSON 形式维护,构建时需要额外收集 JSON 文件,算子定义入口和维护方式不统一,不利于后续持续迁移和统一管理。 本次 PR 做了什么: 1. 将 Elu、Assert、Identity、GatherV2、ReverseSequence、ScatterElements、TensorScatterUpdate、Where 等 AICPU 算子的 opdef 从 JSON 迁移为 C++ 定义文件。 2. 新增 common/inc/aicpu/aicpu_op_def.h,补充 AICPU opdef 的公共声明。 3. 调整相关 CMakeLists.txt 以及 cmake/opbuild.cmake、cmake/symbol.cmake,支持 *_aicpu_def.cpp 的统一收集和构建。 4. 新增 scripts/kernel/binary_script/aicpu_parser_ini_to_json.py,补齐相关脚本能力。 ## 关联的Issue - 关联 Issue #2438 - https://gitcode.com/cann/ops-nn/issues/2438 ## 测试 1. 已核对 PR 对应提交为 08453e64840072937d255e0ad154825266439ba4。 2. 已重新执行 cmake -S /home/jiumao/open/ops-nn -B /home/jiumao/open/ops-nn/build_custom,完成 build_custom 配置刷新。 3. 已执行 cmake --build /home/jiumao/open/ops-nn/build_custom --target gen_aicpu_json_from_opdef -j8,重新生成 build_custom/autogen/aicpu_kernel.ini、build_custom/aicpu_opdef_kernel.json、build_custom/cust_aicpu_kernel.json。 4. 已手动执行 python3 scripts/kernel/binary_script/aicpu_parser_ini_to_json.py build_custom/autogen/aicpu_kernel.ini /tmp/ops_nn_aicpu_verify.json,输出 Compile op info cfg successfully.。 5. 已执行 python3 -m unittest tests/scripts/parser_ini_guard/test_aicpu_parser_ini_to_json.py,6/6 用例通过。 6. 已完成 before/after JSON 对比,8 个算子的金标准字段全部保留,无字段缺失。 7. 已完成 I/O normalized vs canndev 校验,Elu、Assert、Identity、GatherV2、ReverseSequence、ScatterElements、TensorScatterUpdate、Where 与 canndev 基线一致。 8. 本次按 skill 仅验证 custom 路径;未修改 parser_ini.py,因此 AICore before/after 回归按口径豁免。 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4390 | 2 个月前 | |
fix codecheck warning Co-authored-by: 吕梦鸽<lvmengge@huawei.com> # message auto-generated for no-merge-commit merge: !5672 merge master into master fix codecheck warning Created-by: lvmengge Commit-by: 吕梦鸽 Merged-by: cann-robot Description: ## 描述 fix codecheck warning ## 关联的Issue 关联Issue [#3094](https://gitcode.com/cann/ops-nn/issues/3094) ## 测试 codecheck检查 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [√] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5672 | 2 个月前 | |
适配pg short soc特性 Co-authored-by: xufeng12121<1074805447@qq.com> # message auto-generated for no-merge-commit merge: !4999 merge pg_soc into master 适配pg short soc特性 Created-by: xufeng12121 Commit-by: xufeng12121 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 算子适配PG特性。 将short soc version改成mc62 改动点:mc62cm12a-->mc62, MC62CM12A-->MC62 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> https://gitcode.com/cann/ops-nn/issues/2991 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4999 | 2 个月前 | |
批量修改md中冗余空格 Co-authored-by: wuyao51511<wuyao61@h-partners.com> # message auto-generated for no-merge-commit merge: !6027 merge master into master 批量修改md中冗余空格 Created-by: wuyao51511 Commit-by: wuyao51511 Merged-by: cann-robot Description: ## 描述 文档空格问题清理 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!6027 | 2 个月前 |
ScatterElements
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR/Ascend 950DT | √ |
| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | × |
| Atlas 推理系列产品 | × |
| Atlas 训练系列产品 | × |
功能说明
-
算子功能: 将tensor updates中的值按指定的轴和方向以及对应的位置关系逐个替换/累加/累乘至输出tensor中,输出tensor非更新位置的值和输入tensor一致。
-
示例: 对于一个3D tensor,输出会按照如下的规则进行更新:
y[indices[i][j][k]][j][k] += updates[i][j][k] # 如果dim == 0 && reduction == 1 y[i][indices[i][j][k]][k] *= updates[i][j][k] # 如果dim == 1 && reduction == 2 y[i][j][indices[i][j][k]] = updates[i][j][k] # 如果dim == 2 && reduction == 0在计算时需要满足以下要求:
- data、indices和updates的维度数量必须相同。
- 对于每一个维度d,有indices.size(d) <= updates.size(d)的限制。
- 对于每一个维度d,如果d != dim,有indices.size(d) <= data.size(d)的限制。
- dim的值的大小必须在 [-data的维度数量, data的维度数量-1] 之间。
- data的维度数应该小于等于8。
- indices的值大小必须在[0, data.size(dim)-1]之间。
参数说明
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| data | 输入 | 公式中的`data`,Device侧的aclTensor。 | COMPLEX128, COMPLEX64, DOUBLE, FLOAT32, FLOAT16, INT16, INT32, INT64, INT8, QINT32, QINT8, QUINT8, UINT16, UINT32, UINT64, UINT8, BFLOAT16, COMPLEX32 | ND |
| dim | 输入 | 用来scatter的维度,数据类型为INT64。 | int64_t | - |
| indices | 输入 | 公式中的`indices`,Device侧的aclTensor。 | INT32、INT64。 | ND |
| updates | 输入 | 公式中的`updates`,Device侧的aclTensor。 | COMPLEX128, COMPLEX64, DOUBLE, FLOAT32, FLOAT16, INT16, INT32, INT64, INT8, QINT32, QINT8, QUINT8, UINT16, UINT32, UINT64, UINT8, BFLOAT16, COMPLEX32 | ND |
| reduction | 输入 | Host侧的字符串,选择应用的reduction操作。 | string | - |
| out | 输出 | 公式中的输出。 | COMPLEX128, COMPLEX64, DOUBLE, FLOAT32, FLOAT16, INT16, INT32, INT64, INT8, QINT32, QINT8, QUINT8, UINT16, UINT32, UINT64, UINT8, BFLOAT16, COMPLEX32 | ND |
约束说明
无
调用说明
| 调用方式 | 样例代码 | 说明 |
|---|---|---|
| 图模式调用 | test_geir_scatter_elements | 通过算子IR构图方式调用ScatterElements算子。 |