| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
新增算子st用例 Co-authored-by: hw-zhangpanpan<zhangpanpan5@huawei.com> Co-authored-by: yu_qinfei<yuqinfei1@h-partners.com> Co-authored-by: ligen<ligen75@h-partners.com> Co-authored-by: yefeicoding<yefei25@huawei.com> # message auto-generated for no-merge-commit merge: !7825 merge st into master 新增算子st用例 Created-by: yefeicoding Commit-by: yefeicoding;yu_qinfei;hw-zhangpanpan;李根;ligen Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/4269 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:补充st ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!7825 | 3 个月前 | |
新增算子st用例 Co-authored-by: hw-zhangpanpan<zhangpanpan5@huawei.com> Co-authored-by: yu_qinfei<yuqinfei1@h-partners.com> Co-authored-by: ligen<ligen75@h-partners.com> Co-authored-by: yefeicoding<yefei25@huawei.com> # message auto-generated for no-merge-commit merge: !7825 merge st into master 新增算子st用例 Created-by: yefeicoding Commit-by: yefeicoding;yu_qinfei;hw-zhangpanpan;李根;ligen Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/4269 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:补充st ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!7825 | 3 个月前 | |
perf: 优化 SparseSegmentMean 和 SparseSegmentSum AICPU 性能 Co-authored-by: Ding_Jing<dingjing19@huawei.com> # message auto-generated for no-merge-commit merge: !11057 merge perf/sparse-segment-eigen5 into master perf: 优化 SparseSegmentMean 和 SparseSegmentSum AICPU 性能 Created-by: Ding_Jing Commit-by: Ding_Jing Merged-by: cann-robot Description: ## 描述 Eigen 5.0 下 SparseSegmentMean 和 SparseSegmentSum 的 TensorMap/chip 热路径存在明显性能回退。 本 PR 将两个算子改为连续行 packet 循环与标量尾部,只对 segment 间隙清零,并保持逐元素累加顺序; 同步补充向量尾部、segment gap、负索引和有符号溢出等真实 kernel UT。 首轮流水线暴露 SparseSegmentSum 头文件依赖未自包含及 C++17 写法与生产 C++14 不兼容,已修复。 两个热函数的 CodeCheck NBNC 均已收敛:Mean 为 50,Sum 为 48。Mean 的最终修复保留原 while (true) 热循环;普通 helper 候选曾稳定回退约 5.6%,已否决,未进入本 PR。 本 PR 变更文件: - index/sparse_segment_mean/op_kernel_aicpu/sparse_segment_mean_aicpu.cpp - index/sparse_segment_mean/tests/ut/op_kernel_aicpu/test_sparse_segment_mean.cpp - index/sparse_segment_sum/op_kernel_aicpu/sparse_segment_sum_aicpu.cpp - index/sparse_segment_sum/op_kernel_aicpu/sparse_segment_sum_aicpu.h - index/sparse_segment_sum/tests/ut/op_kernel_aicpu/test_sparse_segment_sum.cpp ## 关联的Issue 关联 Issue #6138 ## 测试 - Mean 指定场景 FLOAT[104,105] + INT32[10922] + INT32[10922] -> FLOAT[3,105]: 最终 5x101 最慢均值 335.563 us,比 Eigen 3.4 的 722.35 us 门槛低 53.55%; 21x101 最终版/调整前复测比为 1.00093,95% CI [0.99960,1.00227]。 - Sum 指定场景 FLOAT[32,512] + INT32[8192] + INT32[8192] -> FLOAT[3,512]: CodeCheck 修复后 9x101 p50 平均 692.812 us,比 Eigen 3.4 的 924.43 us 门槛低约 24.8%; 修复后/修复前为 1.00130,95% CI [0.99905,1.00356]。 - 完整矩阵:Mean/Sum 共 56 个 dtype x shape 组合无确认性能回退;56/56 普通值和 6/6 特殊值 输出哈希一致。Mean 最终行数修复另做 12 组同机 A/B,输出哈希逐位一致且无确认回退。 - 独立 ABI=0 真实 kernel UT:Mean 12/12、Sum 9/9;ASan+UBSan 均通过,无报告。 - 当前源码 repo-native AICPU UT:Mean 12/12、Sum 9/9 均编译、链接并运行通过。 - 两个 graph example 均成功且输出与各自 host 参考一致。Mean 的 host/device plog 记录 aicpu_ascend_kernel::CheckSupported 和从 libcpu_kernels.so 取得 RunCpuKernel;Sum 的同一 会话记录 aicpu_custom_scheduler 与 CUSTOM_COMPUTE,确认实际执行 AICPU 路径。 - 本轮检视修复:x 第 0 维非法日志已补充算子名前缀和实际 dim0,并同步 canndev。 修复前后两仓各 68 个 ComputeKernelWithType 模板符号大小逐项一致,指定 FLOAT 实例 规范化指令一致;ops-nn Sum 真实 kernel UT 9/9、canndev 非文件驱动 UT 15/15 通过。 - 两仓均通过 -O2 -ftrapv -Wall -Wextra -Werror 严格编译;5 个变更文件连续两次通过 pre-commit(clang-format、OAT、codespell),git diff --check 通过。 - 当前单提交已通过服务端完整流水线,标签为 ci-pipeline-passed。 ## 文档更新 无产品文档变更;本地完整验证报告为 /home/ding-jing/ops_nn_sparse_segment_eigen5_perf_verification.md。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!11057 | 1 个月前 | |
sparse_segment_mean和concat_offset算子支持Ascend950 Co-authored-by: 张鑫<zhangxin660@h-partners.com> # message auto-generated for no-merge-commit merge: !2328 merge move_nn_dst into master sparse_segment_mean和concat_offset算子支持Ascend950 Created-by: z30075199 Commit-by: 张鑫 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> **sparse_segment_mean和concat_offset算子支持Ascend950** concat_offset:计算concat的输入在其输出中的偏移量 <table style="undefined;table-layout: fixed; width: 1479px"><colgroup> <col style="width: 163px"> <col style="width: 180px"> <col style="width: 240px"> <col style="width: 200px"> <col style="width: 197px"> <col style="width: 114px"> <col style="width: 156px"> <col style="width: 145px"> </colgroup> <thead> <tr> <th>参数名</th> <th>输入/输出/属性</th> <th>描述</th> <th>数据类型</th> <th>数据格式</th> </tr></thead> <tbody> <tr> <td>concat_dim</td> <td>输入</td> <td>输入aclTensor</td> <td>INT32</td> <td>ND</td> </tr> <tr> <td>x</td> <td>输入</td> <td>输入TensorList</td> <td>INT32</td> <td>ND</td> </tr> <tr> <td>N</td> <td>属性</td> <td>输入Tensor的个数</td> <td>INT</td> <td>-</td> </tr> <tr> <td>y</td> <td>输出</td> <td>输出TensorList</td> <td>INT32</td> <td>ND</td> </tr> </tbody></table> sparse_segment_mean:计算张量稀疏片段的均值 <table style="undefined;table-layout: fixed; width: 1479px"><colgroup> <col style="width: 163px"> <col style="width: 180px"> <col style="width: 240px"> <col style="width: 200px"> <col style="width: 197px"> <col style="width: 114px"> <col style="width: 156px"> <col style="width: 145px"> </colgroup> <thead> <tr> <th>参数名</th> <th>输入/输出</th> <th>描述</th> <th>数据类型</th> <th>数据格式</th> </tr></thead> <tbody> <tr> <td>x</td> <td>输入</td> <td>输入aclTensor</td> <td>FLOAT, DOUBLE, FLOAT16, BFLOAT16</td> <td>ND</td> </tr> <tr> <td>indices</td> <td>输入</td> <td>输入aclTensor</td> <td>INT32, INT64</td> <td>ND</td> </tr> <tr> <td>segment_ids</td> <td>输入</td> <td>输入aclTensor</td> <td>INT32, INT64</td> <td>ND</td> </tr> <tr> <td>y</td> <td>输出</td> <td>输出aclTensor</td> <td>FLOAT, DOUBLE, FLOAT16, BFLOAT16</td> <td>ND</td> </tr> </tbody></table> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/1558 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!2328 | 7 个月前 |