INNER CODE UNIT · Python
main
Guitaricet/relora · torchrun_main.py:338
def main(args):
# seed all
torch.manual_seed(args.seed)
np.random.seed(args.seed)
random.seed(args.seed)
assert "LOCAL_RANK" in os.environ, "torchrun should set LOCAL_RANK"
global_rank = int(os.environ['RANK'])
local_rank = int(os.environ["LOCAL_RANK"])
world_size = int(os.environ["WORLD_SIZE"])
torch.cuda.set_device(local_rank)
logger.info(f"Global rank {global_rank}, local rank {local_rank}, device: {torch.cuda.current_device()}")
dist.init_process_group(backend="nccl", rank=global_rank, world_size=world_size)
logger.info("Process group initialized")
device = f"cuda:{local_rank}"