华为云AI开发平台ModelArts日志提示“no socket interface found”_云淘科技

问题现象

在pytorch镜像运行分布式作业时,设置NCCL日志级别,代码如下:

import os
os.environ["NCCL_DEBUG"] = "INFO"

会出现如下错误:

图1 错误日志

原因分析

可能原因如下:

原因1:未设置环境变量NCCL_IB_TC、NCCL_IB_GID_INDEX、NCCL_IB_TIMEOUT,因此会导致通信速度慢且不稳定,最后造成IB通信断连,偶发上述现象。
原因2:NCCL_SOCKET_IFNAME设置错误。当用户的NCCL版本低于2.14时,则需要手动设置NCCL_SOCKET_IFNAME环境变量。

处理方法

针对原因1,需要在代码中补充如下环境变量。

import os
os.environ["NCCL_IB_TC"] = "128"
os.environ["NCCL_IB_GID_INDEX"] = "3"
os.environ["NCCL_IB_TIMEOUT"] = "22"

针对原因2,需要在代码中设置环境变量NCCL_SOCKET_IFNAME。

import os
os.environ["NCCL_SOCKET_IFNAME"] = "eth0"

只有当用户的NCCL版本低于2.14时,才需要进行以上设置。

父主题: 业务代码问题

同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家