def initialize_domino():
    """Set global variables, initialize distributed, and 
    random seeds.
    """

    args = parse_args()

    set_args(args)
    build_tokenizer_g(args)
    set_timers()

    args = get_args()
    device_count = torch.cuda.device_count()
    device = args.rank % device_count
    args.local_rank = device
    torch.cuda.set_device(device)
    torch.distributed.init_process_group(
        backend=args.distributed_backend,
        world_size=args.world_size,
        rank=args.rank
    )
    mpu.initialize_model_parallel(args.tensor_model_parallel_size)
    seed_ = args.seed
    data_parallel_random_init = False
    if seed_ is not None and seed_ > 0:
        # Ensure that different pipeline MP stages get different seeds.
        # seed = seed_ + (100 * mpu.get_pipeline_model_parallel_rank())
        seed = seed_
        # Ensure different data parallel ranks get different seeds
        if data_parallel_random_init:
            seed = seed + (10 * mpu.get_data_parallel_rank())
        random.seed(seed)
        np.random.seed(seed)
        torch.manual_seed(seed)
        if torch.cuda.device_count() > 0:
            model_parallel_cuda_manual_seed(seed)

    # Compile dependencies.
    _compile_dependencies()

    # No continuation function
    return None
Set global variables, initialize distributed, and 
    random seeds.
    
training/DeepSpeed-Domino/domino/initialize.py