已合并
fix: gate createSubHcclComm behind ROOTINFO_SUBCOMM_ENABLE env var #40483
limuan创建于 7月8日
fix: gate createSubHcclComm behind ROOTINFO_SUBCOMM_ENABLE env var #40483
已合并
Pull Request已成功合入, 合并人@ascend-robot
(感谢 limuan 的贡献)atomgit-bot
7月8日 评论:
7月8日 评论:
变更摘要
该 PR 在 ProcessGroupHCCL::createHCCLCommOrigin 函数中引入环境变量 ROOTINFO_SUBCOMM_ENABLE 作为门控,将 createSubHcclComm 子通信器创建路径默认关闭,仅当该环境变量设为 "1" 时才启用;同时新增警告日志,提示在启用子通信器路径时恢复(Resume)功能不被支持。
主要改动
- 引入
ROOTINFO_SUBCOMM_ENABLE环境变量门控:通过getenv("ROOTINFO_SUBCOMM_ENABLE")检查环境变量值是否为"1",将原有的createHCCLCommSub子通信器创建逻辑包装在该条件之后,默认不再执行子通信器分支。 - 子通信器创建成功时新增警告日志:当
ROOTINFO_SUBCOMM_ENABLE=1且createHCCLCommSub成功返回时,新增TORCH_NPU_HCCL_LOGW警告信息,明确告知此路径下恢复功能不被支持。 - 保留子通信器失败回退逻辑:当
createHCCLCommSub调用失败时,原有的TORCH_NPU_HCCL_LOGI回退日志不变,继续降级到 rootinfo 路径进行通信器创建。


ascend-robot
7月8日 评论:
7月8日 评论:
atomgit-bot
7月8日 评论:
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 中的子通信器创建不受影响,只有回退重试路径被门控。代码逻辑正确,空指针检查完备,边界条件处理得当。
⚠️ 已识别出整体风险,但无法提取行内评论,请参考整体评估。


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


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


【合入来源】
【修改方案】
子通信域特性与故障快恢场景下的resume通信域特性冲突,暂时不支持resume子通信域,所以子通信域特性增加一个环境变量开关
【资料变更】
不涉及
【接口变更】
不涉及
【功能验证】
正常拉起训练

【CheckList】