有时更新完cuda和对应的torch版本后进行分布式训练会报这个奇怪的错误:
DistBackendError: NCCL error in: ../torch/csrc/distributed/c10d/NCCLUtils.hpp:219, invalid argument, NCCL version 2.14.3
ncclInvalidArgument: Invalid value for an argument.
Last error:
Invalid config blocking attribute value -2147483648
这个错误一般不是服务器间通信error,而且通常你重新卸载/安装nvidia驱动、cuda、torch甚至deepspeed都不能解决该问题。
解决方法:
pip list | grep nccl
如果有多版本的nccl包存在的话那问题就定位到了,版本冲突了。。。删除掉多余的版本后就能解决(可能需要重新link一下)。
对,就是这么简单的问题,如果你不了解的话可能要定位很久orz