INNER CODE UNIT · Python
run
huggingface/large_language_model_training_playbook · throughput/all_reduce_bench.py:46
def run(local_rank):
hostname = socket.gethostname()
id = f"{hostname}:{local_rank}"
global_rank = dist.get_rank()
printflock(f"{id} data size: {M*N*4/1e9} GB")
mat = torch.rand(N, M, dtype=torch.float32).cuda(local_rank)
for i in range(TRIALS):
dist.barrier()
if global_rank == 0:
print(f"\n\n\n-----------trial-{i}----------------")
timed_allreduce(mat, id)
def init_processes(local_rank, fn, backend='nccl'):
torch.cuda.set_device(local_rank)
dist.init_process_group(backend)
fn(local_rank)