问题描述:
多GPU分布式训练:
import torch.distributed dist.init_process_group(backend=dist_backend, init_method=init_method, world_size=world_size, 要设置 rank=proc_rank)
使用nccl协议。
遇到报错:RuntimeError: NCCL error in: /pytorch/torch/lib/c10d/../c10d/NCCLUtils.hpp:94, invalid argument, NCCL version 2.7.8
经搜索,时nccl版本与pytorch版本不匹配导致。
查看当前pytorch版本和nccl版本如下所示。
命令如下。经查看,torch版本是10.2,nccl版本为2.4.2,而当前版本下所需的nccl为2.7.8。所以,出错是版本不匹配导致。
解决方案:
经搜索,nccl2.4.2匹配的torch版本为1.6.0,所以下载1.6.0版本的pytorch。
成功解决。