我试图在我的windows机器上使用两个gpus,但我一直在使用。
引发RuntimeError(“分布式包没有NCCL”“内置”) RuntimeError:分布式包中没有内置NCCL
我仍然是新的火把,并没有真正找到一个方法来设置后端‘gloo’。任何将backend= 'gloo‘设置为在windows上运行两个gpus的方法。
发布于 2022-09-16 09:40:12
from torch import distributed as dist然后在你的训练逻辑的基础上:
dist.init_process_group("gloo", rank=rank, world_size=world_size)更新:
您应该像这样使用python多进程:
class Trainer:
def __init__(self, rank, world_size):
self.rank = rank
self.world_size = world_size
self.log('Initializing distributed')
os.environ['MASTER_ADDR'] = self.args.distributed_addr
os.environ['MASTER_PORT'] = self.args.distributed_port
dist.init_process_group("gloo", rank=rank, world_size=world_size)
if __name__ == '__main__':
world_size = torch.cuda.device_count()
mp.spawn(
Trainer,
nprocs=world_size,
args=(world_size,),
join=True)https://stackoverflow.com/questions/73730819
复制相似问题