问题描述
在使用pytorch1.7.1进行DistributedDataParallel (DDP)分布式训练时遇见以下报错:
RuntimeError: NCCL error in: /pytorch/torch/lib/c10d/ProcessGroupNCCL.cpp:784, invalid usage, NCCL version 2.7.8
出现这种错误的原因并不统一,百度谷歌都没有找到答案,调试整整一天才解决!!!气坏!!
解决方法
在URL有很多人讨论这个错误,我最终通过在终端执行以下命令得以解决问题:
export NCCL_P2P_DISABLE=1
似乎是环境变量相关的设置,真的是让人头大!!!最终得以成功运行DDP
tips
另外我是通过共享文件进行通信的,在重复执行的时候一定要确保当前文件夹还没有sharedfile,否则也会报错。