1

假设我们有一个由 初始化的 Pytorch 分布式组对象,torch.distributed.new_group([a,b,c,d])有没有办法a,b,c,d从这个组中获取全局排名?

4

1 回答 1

0

Pytorch 提供了一个torch.distributed.distributed_c10d._get_global_rank可以在这种情况下使用的函数:

import torch.distributed as dist
def get_all_ranks_from_parallel_group(group):
    rank=0
    results=[]
    try:
        while True:
            results.append(dist.distributed_c10d._get_global_rank(group, rank))
            rank+=1
    except RuntimeError:
        pass
    return results
于 2021-11-01T17:45:56.313 回答