File size: 1,282 Bytes
0328207
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import os

os.environ["NCCL_DEBUG"] = "WARN"
os.environ["CUDA_VISIBLE_DEVICES"] = "0,1,2,3,4,5,6,7"

machine_num = 8

gpu_num = len(os.environ["CUDA_VISIBLE_DEVICES"].split(","))

MASTER_ADDR = os.environ.get("MASTER_ADDR", "127.0.0.1")
MASTER_PORT = os.environ.get("MASTER_PORT", "29500")
print(f"{MASTER_ADDR = }, {MASTER_PORT = }")

import sys
import time
from torch.distributed.run import main as torchrun_main
import argparse


def build_arg_parser():
    parser = argparse.ArgumentParser()
    parser.add_argument(
        "--save_id",
        type=str,
        help="The id for this training run, used for saving checkpoints and logs",
    )
    return parser


if __name__ == "__main__":
    arg_parser = build_arg_parser()
    args = arg_parser.parse_args()

    config_name = "self_forcing_dmd"
    sys.argv = [
        "torchrun",
        f"--nnodes={machine_num}",
        f"--nproc_per_node={gpu_num}",
        "--rdzv_id=5235",
        "--rdzv_backend=c10d",
        f"--rdzv_endpoint={MASTER_ADDR}:{MASTER_PORT}",
        "train.py",
        "--",
        "--config-path=configs",
        f"--config-name={config_name}",
        f"logdir=logs/{config_name}-{args.save_id}",
        "real_name=Wan2.1-T2V-1.3B",
        "disable_wandb=true",
    ]
    torchrun_main()