已合并
fix: gate createSubHcclComm behind ROOTINFO_SUBCOMM_ENABLE env var #40483
fix: gate createSubHcclComm behind ROOTINFO_SUBCOMM_ENABLE env var #40483
已合并
limuan创建于 7月8日
limuan
limuan成员
7月8日

【合入来源】

【修改方案】

子通信域特性与故障快恢场景下的resume通信域特性冲突,暂时不支持resume子通信域,所以子通信域特性增加一个环境变量开关

【资料变更】

不涉及

【接口变更】

不涉及

【功能验证】

正常拉起训练
image.png

【CheckList】

PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x]

likedislike
Pull Request已成功合入, 合并人@ascend-robot
(感谢 limuan 的贡献)
limuanlimuan成员
7月8日 创建了 pull request,commit 04cae381
atomgit-bot
atomgit-bot
7月8日 评论:

变更摘要

该 PR 在 ProcessGroupHCCL::createHCCLCommOrigin 函数中引入环境变量 ROOTINFO_SUBCOMM_ENABLE 作为门控,将 createSubHcclComm 子通信器创建路径默认关闭,仅当该环境变量设为 "1" 时才启用;同时新增警告日志,提示在启用子通信器路径时恢复(Resume)功能不被支持。

主要改动

  • 引入 ROOTINFO_SUBCOMM_ENABLE 环境变量门控:通过 getenv("ROOTINFO_SUBCOMM_ENABLE") 检查环境变量值是否为 "1",将原有的 createHCCLCommSub 子通信器创建逻辑包装在该条件之后,默认不再执行子通信器分支。
  • 子通信器创建成功时新增警告日志:当 ROOTINFO_SUBCOMM_ENABLE=1createHCCLCommSub 成功返回时,新增 TORCH_NPU_HCCL_LOGW 警告信息,明确告知此路径下恢复功能不被支持。
  • 保留子通信器失败回退逻辑:当 createHCCLCommSub 调用失败时,原有的 TORCH_NPU_HCCL_LOGI 回退日志不变,继续降级到 rootinfo 路径进行通信器创建。
likedislike
atomgit-bot
atomgit-bot
7月8日 评论:

代码审查

审查总结

优先级 数量
P0 0
P1 0
P2 0
P3 1

已审查文件torch_npu/csrc/distributed/ProcessGroupHCCL.cpp — 发现 1 个低置信度 P3 问题(缺少 <cstring> 头文件)。

整体风险评估:该变更风险较低。变更将 createHCCLCommOrigin 中的子通信器创建回退路径置于 ROOTINFO_SUBCOMM_ENABLE=1 环境变量的控制之下,默认关闭。这是一个可控的行为变更:主路径 createHCCLCommEx 中的子通信器创建不受影响,只有回退重试路径被门控。代码逻辑正确,空指针检查完备,边界条件处理得当。

⚠️ 已识别出整体风险,但无法提取行内评论,请参考整体评估。

likedislike
ascend-robotascend-robot成员
7月8日 添加了label:ascend-cla/yes
此处折叠了297条消息 查看更多
limuan
limuan成员
8 天前 评论:

/check-issue

likedislike
ascend-robotascend-robot成员
8 天前 删除了label:needs-issue
ascend-robotascend-robot成员
8 天前 删除了label:ci-pipeline-passed
ascend-robotascend-robot成员
8 天前 合入了pull request
ascend-robot
ascend-robot成员
8 天前 评论:
流水线 pytorch_gitcode_PR_multiVersion#14129 [ commitID:6c70804f ] 已完成
likedislike