Pull Request已成功合入, 合并人@CANN-robot
(感谢 李颜戎 的贡献)变更摘要
该 PR 是一次以日志与提示信息质量改进为主的变更,同时伴随若干错误分支的测试补充与开发辅助配置调整。核心内容覆盖 compiler/engines/ffts_engine、compiler/engines/nn_engine、compiler/opcompiler、graph_metadef、runtime/v2 等模块:一是大规模修正日志/报错文本的语法、拼写与表述歧义,并为多处日志补充 bytes、MB 等计量单位及参数合法取值范围,使诊断信息更准确;二是将部分非致命失败场景的日志级别从 FFTS_LOGI/GELOGI 提升为 FFTS_LOGW/GELOGW(如 ffts_configuration.cc、fftsplus_ops_kernel_builder.cc、dsa_core_launch_kernel.cc),并在 python_api_call.cc 中将 Python 调用失败日志从 TE_INFOLOGF 提升为 TE_ERRLOGF;三是为 tbe_single_op_info_assembler.cc、te_cache_space_manager.cc、fusion_binary_info.cc、generate_simple_key.cc、tbe_op_store_adapter.cc 等处的错误信息补充动态输入输出索引规模、simpleKeyMode 枚举取值、缓存配置参数合法范围等细节。此外,新增大量 ST/UT 测试用例覆盖 tiling offset 溢出、输入输出数量超限、空 kernel 等异常分支,并添加 scripts/init_project.py 工程脚手架脚本与 .opencode/opencode.json 的 compaction 配置。
主要改动
-
日志文本与计量单位规范化:在
fftsplus_task_builder.cc、fusion_rule_node_constructor.cc、graph_fusion.cc、l2_optimizer.cc、fe_gentask_utils.cc、binary_manager.cc、plugin_manager.cc等大量文件中修正日志与REPORT_*_ERROR文案的语法错误和表述歧义,并为多处大小日志补充bytes/MB等单位,如tbe_json_parse_impl.cc的 "File size %ld bytes"、aicore_ops_kernel_builder.cc的 workspace 大小、rt_ffts_plus_launch_args.cc的溢出上限提示。 -
日志级别调整与错误提示增强:将
ffts_configuration.cc、fftsplus_ops_kernel_builder.cc、fftsplus_task_builder.cc中加载失败/优化失败场景由FFTS_LOGI提升为FFTS_LOGW,将dsa_core_launch_kernel.cc由GELOGI提升为GELOGW;同时为tbe_single_op_info_assembler.cc的动态输入输出索引不匹配报错补充start/end size数值,为binary_manager.cc/fusion_binary_info.cc/generate_simple_key.cc补充simpleKeyMode合法取值说明。 -
配置参数校验提示完善:
te_cache_space_manager.cc对ASCEND_MAX_OP_CACHE_SIZE、ASCEND_REMAIN_CACHE_SIZE_RATIO等无效配置的告警补充了合法范围(如 -1 或 [1, INT_MAX)、[0, 100]);tbe_op_store_adapter.cc为非法range_limit_type报错列出DEFAULT/LIMITED/UNLIMITED/DYNAMIC有效枚举。 -
异常分支测试补充:在
tests/ge与tests/engines/nn_engine的 ST/UT 中新增大量用例,覆盖RtFFTSKernelLaunchArgs::RedirectTilingAddr的 tiling offset 溢出、FFTSUpdateStaAICoreArgs/MixL2UpdateGeDataDumpInfo等输入输出数量超kMaxIndexNum、HeavyFormatSelector空 kernel、FusionRulePatternConstructor重复节点名/循环检测、UpdateMergedCopyInfotiling size 溢出等错误分支。 -
开发辅助配置与脚本:
.opencode/opencode.json新增compaction(auto: true、reserved: 20000)配置;新增scripts/init_project.py脚手架脚本,用于初始化 long-task-agent 项目结构(生成feature-list.json、task-progress.md、RELEASE_NOTES.md、CLAUDE.md/AGENTS.md引用及docs/plans、examples等目录),并新增配套的scripts/.long-task-plugin-root路径提示文件。


代码审查
发现 5 个问题,均为中低优先级建议。
关闭总结
已报告问题(4 条)
- P2 × 1:
fusion_engine_tbe_compiler_unittest.cc:675—EXPECT_TRUE(is_su == true || is_su == false)为恒真式,原EXPECT_EQ(is_su, false)的有效校验被移除,测试恒绿、不再守护CheckSupport失败路径。 - P3 × 1:
fusion_engine_fe_graph_optimizer_stest.cc:4250-4261—graph_comm_isolate_node_failed测试体无任何断言、从未调用IsolateNode,且root_graph/func_node/node_vec为未使用变量(死测试)。 - P3 × 1:
fusion_engine_fe_graph_optimizer_unittest.cc:4714-4725— UT 版同名空测试,问题同上。 - P3 × 1:
ut_heavy_format_propagation.cc:2675-2688—get_peer_out_format_output_desc_null声称构造 output_desc 为 nullptr 场景,实际代码并未使描述符为空,注释与行为自相矛盾,覆盖目标无法达成。
各变更文件逐项复核结论
- st/testcase/fusion_manager/st_configuration.cc — no issues(新增 3 个用例与仓库既有 UT 用例模式一致,
FcntlLockFilefd=-1 返回 FAILED 的语义在既有测试中有先例)。 - st/testcase/fusion_rule_manager/fusion_rule_manager_stest.cc — no issues(重复节点/重复输入/拓扑环检测用例与 UT 孪生一致,构造合理)。
- st/testcase/graph_optimizer/fusion_engine_fe_graph_optimizer_stest.cc — 已报告空测试问题。
- st/testcase/graph_optimizer/heavy_format_propagation/st_heavy_format_propagation.cc — 与 UT 版同一根因(未真正构造空 desc 场景),已去重,未单独报告。
- st/testcase/graph_optimizer/trans_op_insert/trans_op_insert_complex_stest_2.cc — no issues(4 个 SwitchTransDataAndCast 场景用例)。
- st/testcase/op_compiler/fusion_engine_op_compiler_stest.cc — soc_version 改为 "InvalidSocVersion",断言未改,因无法访问 src 确认分支行为,不报(低置信度)。
- st/testcase/op_compiler/fusion_engine_op_compiler_stest_2.cc — no issues(Get*PrivateAttrValue 默认值回退用例)。
- st/testcase/op_compiler/fusion_engine_tbe_json_parser_stest.cc — no issues。
- st/testcase/ops_kernel_store/op_info_stest.cc — no issues。
- st/testcase/trace_handle_manager/trace_handle_manager_st.cc — no issues。
- st/testcase/ub_fusion/automatic_ub_fusion_st.cc — no confirmed issues(断言为弱 smoke 检查)。
- ut/.../tbe_info_assembler_unittest.cc — AICORE_NUM 期望由 "" 改为 "8" 与环境相关,无法确认,不报。
- ut/.../tbe_time_estimator_unittest.cc — no issues。
- ut/.../generate_cmo_type_base_ut.cc — no issues。
- ut/.../format_dtype_selector_manager_broadcast_unittest.cc — no issues。
- ut/.../fusion_rule_manager_uttest.cc — no issues。
- ut/.../fusion_engine_fe_graph_optimizer_unittest.cc — 已报告空测试问题。
- ut/.../ut_heavy_format_propagation.cc — 已报告空 desc 场景问题。
- ut/.../fusion_engine_op_compiler_unittest.cc — soc_version 变更同 ST 版,未确认不报。
- ut/.../fusion_engine_tbe_compiler_unittest.cc — 已报告恒真断言问题。
总体风险评估
本 PR 整体为纯测试新增/改动,不触碰生产代码,无 P0/P1 风险。主要问题集中在测试质量:一处断言被替换为恒真式导致测试失效(P2),以及两处新增测试为空壳/未达到注释声称的覆盖目标(P3),建议合入前修正,避免产生假绿用例。
| 类型 | 数量 |
|---|---|
| 🔴 阻塞 | 0 |
| 🟡 建议 | 2 |
💬 仅评论


compile


/lgtm


/approve


Pull Request
描述
EcoC15版本日志易用性整改(FE责任田)
变更类型
请选择本次引入的变更类型:
关联的Issue
如何测试
描述测试此变更的步骤和前提条件:
核对清单
其他信息
在此添加任何其他关于本次 PR 的说明。