| test: 将>10s长尾backend e2e用例移至ST_Test_autofuse_e2e并行执行 Co-authored-by: yelongjian<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !2304 merge dev-e2emove0922 into develop test: 将>10s长尾backend e2e用例移至ST_Test_autofuse_e2e并行执行 Created-by: yelongjian Commit-by: yelongjian Merged-by: cann-robot Description: # Pull Request ## 描述 依据 ST_Test_autofuse_ascendc_api 门禁日志的耗时分布(225 个 backend e2e 用例中 221 个在 45s 内完成,但 82 个 >10s,其中 4 条 inductor/pgo split_compile 链达 141~152s,ctest 墙钟被长尾拖至 154.6s ≈ 最慢单用例),将 **82 个 >10s 的长尾 backend e2e 用例**从 build_backend(ascendc_api 模块)移至 codegen_e2e_st(e2e 模块,对应 **ST_Test_autofuse_e2e** 任务),两个门禁任务并行执行,压缩 ST_Test_autofuse_ascendc_api 关键路径: - **v1(8 个)**:inductor_topn / inductor_tail_brc_tail_reduce / pgo_add_abs_inductor / pgo_add_abs_inductor_concat(4 条运行期真实调用 host g++ / ccec kernel 编译链的 split_compile 用例)、compare_x2_tensor_int64_eq / compare_x2_tensor_int64_gt、add_rsqrt、load_logical_not_store - **v2(74 个)**:bessel / chebyshev / hermite 等特殊函数族、indirect_load 两例、load_bitwise_or / load_bitwise_xor / cast 系列等(完整清单见 run_autofuse_test.sh 的 BACKEND_MOVED_TARGET_LIST(_V35)) 实现方式(仅改 scripts/test/run_autofuse_test.sh 一个文件): - build_backend 的 MAKE_TARGET_LIST 移除对应用例(base 36→27,v35 195→121),其 test1/test2 的 -R 正则随之不再选中 - codegen_e2e_st 新增 BACKEND_MOVED_TARGET_LIST(_V35) 并入 make 目标列表,复用 build_backend_test_regex 生成用例名正则,按原有 build_backend_test1/2 标签追加两次 ctest 调用(独立 -O 日志文件) - 用例名、ctest 标签、xml 报告名全部不变,仅执行归属变化;不修改任何 CMakeLists 预期效果:ascendc_api 任务 ctest2 墙钟 ~155s → <10s(剩余用例最大 <10s);e2e 任务增加 82 个用例的构建与执行(移入 ctest 墙钟 ≈ 最慢 split_compile 链)。注意:82 个用例的覆盖率贡献随执行归属移至 e2e 任务报告。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无 ## 如何测试 描述测试此变更的步骤和前提条件: 1. source <CANN toolkit>/set_env.sh && bash scripts/test/run_autofuse_test.sh -s -m e2e -j12 --ascend_install_path=<toolkit>(或 CI 的 ST_Test_autofuse_e2e 任务) 2. 本地实测 4 套件全过:自有 codegen 49/49(4.1s)、移入 codegen 82/82(7.5s)、自有 e2e 49/49(50.6s)、移入 e2e 82/82(墙钟 127.3s,4 条 split_compile 链并行) 3. 正则选择核验:移入 82 用例全部命中 moved 正则;保留用例(add_abs/inductor_matmul_elemwise/randn 等)零泄漏;ctest -N 干跑确认 ascendc_api 侧不再选中移入用例 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 - pre-commit 本地全部通过(trailing-whitespace / end-of-file / codespell 等) - 移入用例在 e2e 任务中仍按原标签 build_backend_test1/2 选择,若后续需要独立标签可再演进 - 覆盖率影响:ascendc_api 任务报告将不再包含这 82 个用例的贡献(特殊函数族与 PGO/inductor 路径),e2e 任务报告相应增加;如门禁有覆盖率阈值请评估 See merge request: cann/graph-autofusion!2304 | 12 天前 |