Pytorch 即使只启动了两个gpu进程,在多gpu机器上使用与world_size 4并行的Pyrotch分布式数据的培训仍在继续

Pytorch 即使只启动了两个gpu进程,在多gpu机器上使用与world_size 4并行的Pyrotch分布式数据的培训仍在继续,pytorch,distributed,Pytorch,Distributed,我想运行一个测试,看看同步是如何工作的。我假设在每个批处理结束时,DDP将等待世界级GPU上的进程到达同步点,就像向后传递以同步渐变一样。我使用了一台4-GPU机器,并使用环境变量CUDA_VISIBLE_DEVICES来确保只能启动2个GPU进程。如果只有2个GPU进程启动,我假设在第一批处理结束时,现有2个GPU上的同步将等待其他两个进程,并超时,因为其他两个进程从未启动。我所观察到的是,培训仅使用2个GPU进程继续进行,即使世界规模为4。如何解释?我的理解不对吗

我想运行一个测试,看看同步是如何工作的。我假设在每个批处理结束时,DDP将等待世界级GPU上的进程到达同步点,就像向后传递以同步渐变一样。我使用了一台4-GPU机器,并使用环境变量CUDA_VISIBLE_DEVICES来确保只能启动2个GPU进程。如果只有2个GPU进程启动,我假设在第一批处理结束时,现有2个GPU上的同步将等待其他两个进程,并超时,因为其他两个进程从未启动。我所观察到的是,培训仅使用2个GPU进程继续进行,即使世界规模为4。如何解释?我的理解不对吗