在进行模型分布式训练时遇到报错“RuntimeError: Gloo connectFullMesh failed ...”
2025/03/18
72
问题信息
问题来源 | 产品大类 | 产品子类 | 关键字 |
---|---|---|---|
官方 | 模型训练 | PyTorch | -- |
问题现象描述
- 报错文本
…… [E ProcessGroupGloo.cpp:138] Gloo connectFullMesh failed with [...] no error …… RuntimeError: Gloo connectFullMesh failed with [...] no error
原因分析
- 模型进行分布式训练时,gloo是torch原生cpu协议,当有多个网口时,可能会报“RuntimeError: Gloo connectFullMesh failed ...”。
- 由于gloo协议的限制,当bond4网口超过60个时,可能会报“RuntimeError: Gloo connectFullMesh failed ...”。
解决措施
- 当有多个网口时,建议设置以下环境变量,命令如下:
export GLOO_SOCKET_IFNAME=网口名称
通过ifconfig命令可以找到与机器IP相同的网口名称。
- 当bond4网口超过60个时,考虑用其他网口代替,比如用GE网口进行替换,执行如下命令:
export GLOO_SOCKET_IFNAME=enp189s0f0
“enp189s0f0”为GE网口的名称,需根据实际情况进行替换。