在 宿主机上运行基于 DDP 的 pytorch 训练程序没问题,
进入 docker 后运行,出现 "unhandled system error, NCCL version 2.7.8" 的错误。
解决方法:
在 python -m torch.distributed.launch --nproc_per_node=4 ...前加上 NCCL_DEBUG=INFO
可以看到:
s215:623:649 [3] include/shm.h:48 NCCL WARN Error while creating shared memory segment nccl-shm-send-404da1ec128dc62d-0-3-2 (size 4104)
进入 docker 时,带上 --ipc=host 即可。

在Docker环境下运行基于DDP的PyTorch训练时遇到'NCCL unhandled system error'的问题,通过设置NCCL_DEBUG=INFO发现是共享内存段创建失败。解决方法是在启动Python时添加--ipc=host选项,允许容器访问宿主机的IPC资源,从而避免NCCL错误。

1万+

被折叠的 条评论
为什么被折叠?



