已合并
refactor: 清理 dflow 中未使用的 include、using 别名、废弃函数和结构体 #3846
lining23666创建于 7月3日
refactor: 清理 dflow 中未使用的 include、using 别名、废弃函数和结构体 #3846
已合并
lining23666创建于 7月3日
lining23666成员
7月3日

Pull Request

描述

系统性清理 dflow 目录下经全仓库交叉引用分析确认的废弃代码,共 4 个主题:

1. 清理未使用的 #include(4文件,8个)
删除从未被引用的头文件 include,减少不必要的编译依赖:

  • data_flow_graph_auto_deployer.cc: ge_context.hge_local_context.h
  • compile_config_json.cc: mmpa_api.hge_context.h
  • flow_model_builder.cc: graph_rebuild_state_ctrl.h
  • flow_model_sender.cc: graph_var_manager.hgraph_utils.hsecurec.h

2. 清理未使用的 using/typedef 别名(4个)

  • AutoDeployFunc(data_flow_graph_auto_deployer.h)— 函数指针类型别名,全仓库零引用
  • ComputeGraphPtr(flow_graph.cc,namespace ge::dflow 内)— 遮蔽 ge 命名空间同名且从未使用
  • ConstSubmodelInfoPtr(master_model_deployer.h)— 私有别名,零引用
  • DynamicSchedInfo(deploy_planner.cc)— 文件作用域别名,零引用

3. 清理废弃函数(17个函数 + 1行注释代码)
删除定义后从未被调用的函数(经全仓库搜索确认无调用点,排除虚函数/override/pybind注册):

  • DeployPlannerBase::IsHeadOrTail
  • FlowModelOmLoader::LoadToFlowModelDesc
  • FlowModelOmSaver::SaveToModelData
  • UdfModelBuilder::SetBin(保留 SetBinName)
  • Configurations::GetConfigDir
  • HeterogeneousExchangeDeployer::MutableRoute
  • NetworkManager::GetCtrlPanelIp / GetCtrlPanelPorts
  • ResourceManager::GetDeviceIp2DevicesMap
  • CpuIdResourceManager::GenerateAicpuStreamId / FreeAicpuStreamId
  • FlowModelManager::IsLoadedByFlowModel
  • ProcessNodeEngineManager::IsEngineRegistered
  • PneExecutorClient::GetProcessId
  • ExecutorContext::UpdateGraphOptions(保留 acl:: 和 ExecutionRuntimeUtils:: 同名函数)
  • FunctionPpImpl::GetAttrMap
  • ModelRelationReader::LogDebugString(保留 BasePartitioner::LogDebugString)
  • flow_func_processor.h 中注释掉的 writerGuard_ 成员

4. 清理废弃结构体(1个)

  • RunAsyncRequest(heterogeneous_model_executor.h)— HeterogeneousModelExecutor 私有嵌套结构,全仓库零引用

变更类型

  • 🐛 Bug 修复
  • ✨ 新功能
  • 💄 代码风格更新(格式化,局部变量)
  • ♻️ 重构(既不修复错误也不增加功能的代码变动)
  • 📦 构建过程或辅助工具的变动
  • 📝 文档内容更新

关联的Issue

如何测试

  1. 增量编译 flow_graph target 通过(0 error),覆盖了 compile_config_json、data_flow_graph_auto_deployer、flow_model_builder、process_point 等改动文件
  2. git diff 确认所有删除均为干净的函数体/声明移除,无副作用

核对清单

  • 我的代码遵循了项目的代码风格
  • 我已对代码进行了自测
  • 我已更新了相关的文档
  • 我在标题中使用了合适的类型标签(如:feat:, fix:
  • 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等

其他信息

共 39 个文件,删除 184 行废弃代码。所有废弃项均经全仓库交叉引用搜索确认(排除虚函数、pybind注册、测试桩等)。

likedislike
Pull Request已成功合入, 合并人@CANN-robot
(感谢 lining23666 的贡献)
Llining23666成员
7月3日 创建了 pull request,commit 33817dc1
CANN-robotCANN-robot成员
7月3日 添加了label:stat/needs-squash
CANN-robotCANN-robot成员
7月3日 添加了label:cann-cla/yes
CANN-robot
CANN-robot成员
7月3日 评论:

Thanks for your pull-request.
The full list of commands accepted by me can be found at here
You can get sig-info at here


PR Approval Progress

Congratulations! All modules have met the lgtm and approve requirements.

Module Approval Details

module lgtm status approve status
repo-cann/ge zhanj, xchu42, stevenaw0 (3/2) zhanj (1/1)

💡 Tip:

  • Committer can comment /approve or /lgtm
  • Commenting /approve implies both code review (lgtm) and intent to merge (approve)

CLA Signature Pass

lining23666, thanks for your pull request. All authors of the commits have signed the CLA. 👍

likedislike
lining23666成员
7月3日 评论:

compile

likedislike
Llining23666成员
7月3日 update merge request[project id: 8824148, iid: 3846, commit_id: 55c46f76391e80afd4cc7bdb2236c6672fec61a7] virtual merging success
CANN-robotCANN-robot成员
7月3日 添加了label:ci-pipeline-running
CANN-robot
CANN-robot成员
7月3日 评论:

流水线任务触发成功
任务链接 [d349073c11c14f8a8453f6a2c063259f][流水线指导]

任务名称状态日志下载链接
pre_comment ✅ SUCCESS >>>>>
Compile_ARM_compiler ✅ SUCCESS >>>>> >>>>>
Compile_ARM_executor ✅ SUCCESS >>>>> >>>>>
Compile_ARM_dflow ✅ SUCCESS >>>>> >>>>>
API_Check ✅ SUCCESS >>>>>
PreSmoke_A900_npupool ✅ SUCCESS >>>>>

[2026-07-03 12:01:06]    CI执行结束

likedislike
CANN-robot
CANN-robot成员
7月3日 评论:

流水线任务触发成功
任务链接 [fcf3cb0b445849029ba4871f4d887c09][流水线指导]

任务名称状态日志下载链接
pre_comment ✅ SUCCESS >>>>>
Compile_X86_compiler ✅ SUCCESS >>>>> >>>>>
Compile_X86_executor ✅ SUCCESS >>>>> >>>>>
Compile_X86_dflow ✅ SUCCESS >>>>> >>>>>
UT_Test_dflow ❌ FAILED
UT_Test_ge_common ✅ SUCCESS
UT_Test_parser ✅ SUCCESS
UT_Test_python ✅ SUCCESS >>>>>
UT_Test_rt ✅ SUCCESS
UT_Test_acl ✅ SUCCESS
UT_Test_autofuse ✅ SUCCESS
UT_Test_executor ✅ SUCCESS
UT_Test_autofuse_ascendc_api ✅ SUCCESS
ST_Test_dflow ✅ SUCCESS
ST_Test_ge_common ✅ SUCCESS
ST_Test_parser ✅ SUCCESS
ST_Test_python ✅ SUCCESS >>>>>
ST_Test_rt ✅ SUCCESS
ST_Test_autofuse ✅ SUCCESS
ST_Test_executor ✅ SUCCESS
ST_Test_hetero ✅ SUCCESS
ST_Test_autofuse_ascendc_api ✅ SUCCESS
ST_Test_autofuse_e2e ✅ SUCCESS
UT_Test_fe ✅ SUCCESS
UT_Test_tefusion ✅ SUCCESS
ST_Test_fe ✅ SUCCESS
ST_Test_tefusion ✅ SUCCESS
ST_Test_ge_common_atc ✅ SUCCESS
likedislike
CANN-robot
CANN-robot成员
7月3日 评论:

流水线任务触发成功
任务链接 [ec5949ff9b5749d1922b5c582d62e7a0][流水线指导]

任务名称状态日志下载链接
codecheck_Pr ✅ SUCCESS
codecheck ✅ SUCCESS >>>>>
antipoison ✅ SUCCESS >>>>>
SCA ✅ SUCCESS >>>>>
codecheck_dt ✅ SUCCESS >>>>>
codecheck_precommit ✅ SUCCESS >>>>>
StaticCheck_codespell_check ✅ SUCCESS
StaticCheck_link_validity_check ✅ SUCCESS
StaticCheck_resource_existence_check ✅ SUCCESS
StaticCheck_tag_closed_check ✅ SUCCESS
StaticCheck_markdownlint ✅ SUCCESS

[2026-07-03 11:58:15]    CI执行结束

likedislike
CANN-robotCANN-robot成员
7月3日 添加了label:api-check-pass
atomgit-bot
atomgit-bot
7月3日 评论:

变更摘要

本次 PR 对 dflow 目录进行了系统性代码清理:移除全仓库交叉引用分析后确认无使用的 #include 头文件、using/typedef 类型别名、废弃函数与内部结构体,共涉及 38 个文件,净删除 184 行代码,无新增行。清理范围覆盖部署器、模型加载/保存、编译器、执行器等多个子模块,旨在减少编译依赖与代码冗余,提升代码库可维护性。

主要改动

  • 清理未使用的 #include 头文件:在 data_flow_graph_auto_deployer.cccompile_config_json.ccflow_model_builder.ccflow_model_sender.cc 四个 .cc 文件中移除 8 处未被引用的头文件(如 ge_context.hge_local_context.hmmpa_api.hgraph_var_manager.hgraph_utils.hsecurec.h 等),减少不必要的编译依赖。

  • 移除未使用的 using/typedef 类型别名:删除 AutoDeployFuncdata_flow_graph_auto_deployer.h)、ComputeGraphPtrflow_graph.ccge::dflow 命名空间)、ConstSubmodelInfoPtrmaster_model_deployer.h)和 DynamicSchedInfodeploy_planner.cc)四个全仓库零引用的别名声明,消除遮蔽与混淆风险。

  • 移除多个类中无调用点的公开/私有方法:涉及 DeployPlannerBase::IsHeadOrTailFlowModelOmLoader::LoadToFlowModelDescFlowModelOmSaver::SaveToModelDataUdfModelBuilder::SetBinConfigurations::GetConfigDirHeterogeneousExchangeDeployer::MutableRouteNetworkManager::GetCtrlPanelIp/GetCtrlPanelPortsResourceManager::GetDeviceIp2DevicesMapCpuIdResourceManager::GenerateAicpuStreamId/FreeAicpuStreamIdFlowModelManager::IsLoadedByFlowModelPneExecutorClient::GetProcessIdExecutorContext::UpdateGraphOptionsProcessNodeEngineManager::IsEngineRegisteredModelRelationReader::LogDebugStringFunctionPpImpl::GetAttrMap 等共 17 个经全仓库搜索确认无任何调用点的函数,及其对应的声明。

  • 移除废弃的内部结构体与注释代码:删除 HeterogeneousModelExecutor 中未使用的私有嵌套结构体 RunAsyncRequest,以及 flow_func_processor.h 中一行被注释的 std::mutex writerGuard_ 声明,保持代码整洁。

likedislike
CANN-robotCANN-robot成员
7月3日 删除了label:api-check-pass
CANN-robotCANN-robot成员
7月3日 删除了label:ci-pipeline-running
CANN-robotCANN-robot成员
7月3日 添加了label:ci-pipeline-failed
atomgit-bot
atomgit-bot
7月3日 评论:

代码审查

关闭总结

本次审查覆盖了全部 38 个变更文件,逐一验证了每个删除项在全仓库范围内无引用。审查结果如下:

发现数量(按优先级):

  • P0: 0
  • P1: 0
  • P2: 0
  • P3: 1

P3 发现:

  • dflow/deployer/executor/cpu_id_resource_manager.h:删除 GenerateAicpuStreamIdFreeAicpuStreamId 后,残留未使用的成员变量 streams_ 和常量 kMaxStreamId,属于清理不彻底。

各文件审查结论:

文件 结论
dflow/base/deploy/deploy_planner.cc 无问题
dflow/base/deploy/deploy_planner.h 无问题
dflow/base/model/flow_model_om_loader.cc 无问题
dflow/base/model/flow_model_om_loader.h 无问题
dflow/base/model/flow_model_om_saver.cc 无问题
dflow/base/model/flow_model_om_saver.h 无问题
dflow/base/model/model_relation.cc 无问题
dflow/base/model/model_relation.h 无问题
dflow/compiler/data_flow_graph/compile_config_json.cc 无问题
dflow/compiler/data_flow_graph/data_flow_graph_auto_deployer.cc 无问题
dflow/compiler/data_flow_graph/data_flow_graph_auto_deployer.h 无问题
dflow/compiler/model/flow_model_builder.cc 无问题
dflow/compiler/pne/process_node_engine_manager.cc 无问题
dflow/compiler/pne/process_node_engine_manager.h 无问题
dflow/compiler/pne/udf/udf_model_builder.cc 无问题
dflow/compiler/pne/udf/udf_model_builder.h 无问题
dflow/deployer/common/config/configurations.cc 无问题
dflow/deployer/common/config/configurations.h 无问题
dflow/deployer/deploy/deployer/master_model_deployer.h 无问题
dflow/deployer/deploy/execfwk/pne_executor_client.cc 无问题
dflow/deployer/deploy/execfwk/pne_executor_client.h 无问题
dflow/deployer/deploy/flowrm/heterogeneous_exchange_deployer.cc 无问题
dflow/deployer/deploy/flowrm/heterogeneous_exchange_deployer.h 无问题
dflow/deployer/deploy/flowrm/network_manager.cc 无问题
dflow/deployer/deploy/flowrm/network_manager.h 无问题
dflow/deployer/deploy/model_send/flow_model_sender.cc 无问题
dflow/deployer/deploy/resource/resource_manager.cc 无问题
dflow/deployer/deploy/resource/resource_manager.h 无问题
dflow/deployer/executor/cpu_id_resource_manager.cc 无问题
dflow/deployer/executor/cpu_id_resource_manager.h P3:残留死代码
dflow/deployer/executor/executor_context.cc 无问题
dflow/deployer/executor/executor_context.h 无问题
dflow/executor/flow_model_manager.cc 无问题
dflow/executor/flow_model_manager.h 无问题
dflow/executor/heterogeneous_model_executor.h 无问题
dflow/flow_graph/flow_graph.cc 无问题
dflow/flow_graph/process_point.cc 无问题
dflow/udf/flow_func/flow_func_processor.h 无问题

整体风险评估:低风险。 本次变更为纯粹的废弃代码清理,所有删除的 include、using 别名、函数和结构体均经全仓库交叉引用确认无调用点。唯一的瑕疵是 cpu_id_resource_manager.h 中残留了与已删除函数关联的成员变量和常量,不影响编译和运行,属于清理遗漏。

类型 数量
🔴 阻塞 0
🟡 建议 1

💬 仅评论

likedislike
atomgit-bot
atomgit-bot7月3日进行代码检视3
dflow/deployer/deploy/deployer/master_model_deployer.h
已过期
@@ -43,4 +43,3 @@
4343 
4444 private:
45- using ConstSubmodelInfoPtr = const DeployPlan::SubmodelInfo *;
4645 struct DeployedModel {
atomgit-bot
atomgit-bot7月3日评论:

🟡 Medium Priority

变更在 master_model_deployer.h 中删除了 private using ConstSubmodelInfoPtr = const DeployPlan::SubmodelInfo *;,但测试文件 tests/dflow/runner/ut/ge/runtime/heterogeneous/deploy/deployer/master_model_deployer_unittest.cc:142 仍然引用该别名:

MOCK_METHOD3(DeployRemoteVarManager,
Status(const DeployPlan &, const std::map<int32_t, std::vector> &,
MasterModelDeployer::DeployedModel &));

该测试文件在 CMakeLists.txt 中被列为构建目标(tests/dflow/runner/ut/ge/CMakeLists.txt:74),删除别名后测试文件将编译失败。

建议:要么将 ConstSubmodelInfoPtr 保留并移为 public/protected,要么同步修改测试文件 master_model_deployer_unittest.cc:142 将 ConstSubmodelInfoPtr 替换为 const DeployPlan::SubmodelInfo *。

likedislike
System
系统消息系统
7月3日 评论:
likedislike
lining23666成员
7月3日 评论:
likedislike
Llining23666成员
7月3日 update merge request[project id: 8824148, iid: 3846, commit_id: 3dc43a812522818799ffe20146c6420563674d79] virtual merging success
此处折叠了7条事件消息 查看更多
Llining23666成员
7月3日 update merge request[project id: 8824148, iid: 3846, commit_id: 3b918c702420a59d618578b469c66bf524e35d08] virtual merging success
lining23666成员
7月3日 评论:

compile

likedislike
Llining23666成员
7月3日 update merge request[project id: 8824148, iid: 3846, commit_id: 7dc72a7ffbc982deb7cc96f68659d09355d8b043] virtual merging success
CANN-robotCANN-robot成员
7月3日 删除了label:ci-pipeline-failed
CANN-robotCANN-robot成员
7月3日 添加了label:ci-pipeline-running
CANN-robot
CANN-robot成员
7月3日 评论:

流水线任务触发成功
任务链接 [6214c26aafe347dfb724b5367e114946][流水线指导]

任务名称状态日志下载链接
pre_comment ✅ SUCCESS >>>>>
Compile_X86_compiler ✅ SUCCESS >>>>> >>>>>
Compile_X86_executor ✅ SUCCESS >>>>> >>>>>
Compile_X86_dflow ✅ SUCCESS >>>>> >>>>>
UT_Test_dflow ✅ SUCCESS
UT_Test_ge_common ✅ SUCCESS
UT_Test_parser ✅ SUCCESS
UT_Test_python ✅ SUCCESS >>>>>
UT_Test_rt ✅ SUCCESS
UT_Test_acl ✅ SUCCESS
UT_Test_autofuse ✅ SUCCESS
UT_Test_executor ✅ SUCCESS
UT_Test_autofuse_ascendc_api ✅ SUCCESS
ST_Test_dflow ✅ SUCCESS
ST_Test_ge_common ✅ SUCCESS
ST_Test_parser ✅ SUCCESS
ST_Test_python ✅ SUCCESS >>>>>
ST_Test_rt ✅ SUCCESS
ST_Test_autofuse ✅ SUCCESS
ST_Test_executor ✅ SUCCESS
ST_Test_hetero ✅ SUCCESS
ST_Test_autofuse_ascendc_api ✅ SUCCESS
ST_Test_autofuse_e2e ✅ SUCCESS
UT_Test_fe ✅ SUCCESS
UT_Test_tefusion ✅ SUCCESS
ST_Test_fe ✅ SUCCESS
ST_Test_tefusion ✅ SUCCESS
ST_Test_ge_common_atc ✅ SUCCESS
UT_Test_Report_graphengine ✅ SUCCESS >>>>>
UT_Test_Report_ge_executor_c ✅ SUCCESS >>>>>
UT_Test_Report_ge_autofuse ✅ SUCCESS >>>>>
ST_Test_Report_graphengine ✅ SUCCESS >>>>>
ST_Test_Report_ge_executor_c ✅ SUCCESS >>>>>
ST_Test_Report_ge_autofuse ✅ SUCCESS >>>>>
UT_Test_Report_fe ✅ SUCCESS >>>>>
ST_Test_Report_fe ✅ SUCCESS >>>>>

[2026-07-03 15:08:37]    CI执行结束

likedislike
CANN-robot
CANN-robot成员
7月3日 评论:

流水线任务触发成功
任务链接 [fc5c49475e2148aaabe329b24ee74e36][流水线指导]

任务名称状态日志下载链接
pre_comment ✅ SUCCESS >>>>>
Compile_ARM_compiler ✅ SUCCESS >>>>> >>>>>
Compile_ARM_executor ✅ SUCCESS >>>>> >>>>>
Compile_ARM_dflow ✅ SUCCESS >>>>> >>>>>
API_Check ✅ SUCCESS >>>>>
PreSmoke_A900_npupool ✅ SUCCESS >>>>>

[2026-07-03 15:02:45]    CI执行结束

likedislike
CANN-robot
CANN-robot成员
7月3日 评论:

流水线任务触发成功
任务链接 [d819956f109743728bdaa9cff5b6ac21][流水线指导]

任务名称状态日志下载链接
codecheck_Pr ✅ SUCCESS
codecheck ✅ SUCCESS >>>>>
antipoison ✅ SUCCESS >>>>>
SCA ✅ SUCCESS >>>>>
codecheck_dt ✅ SUCCESS >>>>>
codecheck_precommit ✅ SUCCESS >>>>>
StaticCheck_codespell_check ✅ SUCCESS
StaticCheck_link_validity_check ✅ SUCCESS
StaticCheck_resource_existence_check ✅ SUCCESS
StaticCheck_tag_closed_check ✅ SUCCESS
StaticCheck_markdownlint ✅ SUCCESS

[2026-07-03 15:01:32]    CI执行结束

likedislike
CANN-robotCANN-robot成员
7月3日 添加了label:api-check-pass
CANN-robotCANN-robot成员
7月3日 删除了label:api-check-pass
CANN-robotCANN-robot成员
7月3日 删除了label:ci-pipeline-running
CANN-robotCANN-robot成员
7月3日 添加了label:ci-pipeline-passed
Llining23666成员
7月3日 解决了最后一个问题
Llining23666成员
7月3日 修改了pull request 的描述
xchu42
xchu42成员
7月3日 评论:

/lgtm

likedislike
黄桂军
黄桂军成员
7月3日 评论:

/lgtm

likedislike
CANN-robotCANN-robot成员
7月3日 添加了label:lgtm
zhanj
zhanj成员
7月4日 评论:

/approve

likedislike
CANN-robotCANN-robot成员
7月4日 添加了label:approved
CANN-robotCANN-robot成员
7月4日 合入了pull request