ITFormer / utils /dist_util.py
a12354's picture
Add files using upload-large-folder tool
f48983a verified
Raw
History Blame Contribute Delete
1.02 kB
#!/usr/bin/env python
# -*- coding:utf-8 _*-
import os
import torch.distributed as dist
def is_master_process():
rank = os.getenv('RANK')
if (rank is None or rank == '0') and is_local_rank_0():
return True
else:
return False
def is_local_rank_0():
local_rank = os.getenv('LOCAL_RANK')
if local_rank is None or local_rank == '0':
return True
else:
return False
def get_local_world_size():
import torch
local_world_size = os.getenv('LOCAL_WORLD_SIZE')
if local_world_size is None:
num_gpus = torch.cuda.device_count()
local_world_size = num_gpus or 1
else:
local_world_size = int(local_world_size)
return local_world_size
def get_world_size():
try:
world_size = dist.get_world_size()
return world_size
except Exception:
pass
world_size = os.getenv('WORLD_SIZE')
if world_size is None:
world_size = 1
else:
world_size = int(world_size)
return world_size