node: 代表物理节点,即电脑台数,一台电脑可以有多个GPU

nnodes:物理节点数,就是电脑数量

node_rank:物理节点的序号,每个电脑的序号

nproc_per_node:每个物理节点上面进程的数量,等价于每个电脑上GPU的数量,就是可以开几个进程。

group:进程组。默认只有一个组

rank & local_rank:
在整个分布式中的序号,每个进程都有一个rank和一个local_rank,rank是相对整个分布式而言(就是序号从0开始一直到整个分布式中最后一个GPU的数,类似于range(0,整个分布式GPU数量),这里不是相对于一个node而言,是所有node的GPU总和),local_rank是每个进程或者GPU相对属于哪个node而言的编号。另外,rank=0代表master进程

如图所示:
有三个node,每个node有4个GPU(则每个node会有四个进程,一个进程对应一个GPU)

在单机多卡的情况下:WORLD_SIZE代表着使用进程数量(一个进程对应一块GPU),这里RANK和LOCAL_RANK这里的数值是一样的,代表着WORLD_SIZE中的第几个进程(GPU)。
在多机多卡的情况下:WORLD_SIZE代表着所有机器中总进程数(一个进程对应一块GPU),RANK代表着是在WORLD_SIZE中的哪一个进程,LOCAL_RANK代表着当前机器上的第几个进程(GPU)。
 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐