【ModelArts】【训练作业】no socket interface found 如何解决
问题现象:
日志中出现如下错误。
解决办法:
可能的原因:
1. 从错误看NCCL_SOCKET_IFNAME设置错误
解决办法1:
1. https://support.huaweicloud.com/trouble-modelarts/modelarts_trouble_0038.html
解决办法2:
1. 【推荐】升级NCCL版本至2.14,可使用ModelArts提供的预置镜像。
参考:https://support.huaweicloud.com/docker-modelarts/develop-modelarts-0097.html
2. 【临时规避】手动设置NCCL_SOCKET_IFNAME
手动在代码里面设置NCCL_SOCKET_IFNAME=eth0
这里为什么这么设置就可以恢复。
主要原因为ModelArts默认支持的是高版本的NCCL(具体什么版本不清楚),大于2.14好一些。
具体体现出来ModelArts预置的NCCL_SOCKET_IFNAME这个环境变量采用的是绝对匹配,即环境变量的值为=eth0, 表示完全匹配eth0,注意这个等号。
而低版本的NCCL_SOCKET_IFNAME不支持绝对匹配,环境变量值为=eth0,则会去找【=eth0】这个网口,肯定不存在这样的网口,所以没问题。
参考:
Environment Variables — NCCL 2.4.6 documentation (nvidia.com)
Environment Variables — NCCL 2.18.1 documentation (nvidia.com)
=eth0
: Use only interface eth0
- 点赞
- 收藏
- 关注作者
评论(0)