Uh oh!
There was an error while loading. Please reload this page.
Support torchrun-style InfiniTrain multi-process launch - #184
Conversation
5314e45 to
63aefdcCompareUh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
350a2fd to
c88f116CompareUh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
50c8039 to
307253eComparechen2021673
commented
Aug 11, 2026
Add a dedicated 8_proc test group containing the 8-process variants of the original basic multi-GPU cases.
Track DataLoader progress by global batches so distributed ranks slice data consistently and can resume/cycle from saved consumption counts. Also scope CCL unique ID files per run, generate NCCL IDs only on the main rank, clean up run-local rendezvous files, and add DataLoader coverage.
- derive parallel state from the global world size - clarify global rank and per-node process semantics - add multi-node rank regression coverage - restore the NCCL-compatible GetUniqueId interface
- add torchrun-style --rdzv_id support - use the shared ID to isolate CCL unique-ID files - preserve automatic run ID generation for single-node runs - document rdzv_id in the multi-node example
- support infini_run with or without the optional -- separator - validate node rank bounds - use infini_run only for the new 8_proc test group - standardize torchrun environment variables and device index mapping - clarify NCCL unique ID filename helpers
- add an _8_proc suffix to multi-process test case IDs - print manual comparison commands when no baseline log directory is set
chen2021673
commented
Aug 14, 2026
chen2021673
commented
Aug 14, 2026
以上述测例中双机 16 卡 gpt2 fp32 为例,主节点运行指令: ./infini_run --nnodes=2 --nproc_per_node=8 --node_rank=0 --rdzv_endpoint=<ip>:29500 --rdzv_id=gpt2_test -- ./gpt2 --device cuda --input_bin /data/shared/InfiniTrain-dev/data/llmc/gpt2/tinyshakespeare/tiny_shakespeare_train.bin --llmc_filepath /data/shared/InfiniTrain-dev/data/llmc/gpt2/gpt2_124M.bin --num_iteration 10 --nthread_per_process 1 --batch_size 40 --total_batch_size 10240 --tensor_parallel 2 --pipeline_parallel 2 --sequence_parallel从节点运行指令: ./infini_run --nnodes=2 --nproc_per_node=8 --node_rank=1 --rdzv_endpoint=<ip>:29500 --rdzv_id=gpt2_test -- ./gpt2 --device cuda --input_bin /data/shared/InfiniTrain-dev/data/llmc/gpt2/tinyshakespeare/tiny_shakespeare_train.bin --llmc_filepath /data/shared/InfiniTrain-dev/data/llmc/gpt2/gpt2_124M.bin --num_iteration 10 --nthread_per_process 1 --batch_size 40 --total_batch_size 10240 --tensor_parallel 2 --pipeline_parallel 2 --sequence_parallel精度与 #90 中双机 16 卡 gpt2 fp32对齐。 |
Uh oh!
There was an error while loading. Please reload this page.



概述
本 PR 为 InfiniTrain 增加 torchrun 风格的多进程启动能力,使每个本地进程可以绑定独立 GPU,同时保留现有的单进程多线程运行方式。
主要修改
infini_run支持通过nproc_per_node启动多个子进程,并传递 torchrun 兼容的 rank 环境变量。--分隔启动器参数与训练命令。8_proc测例组,以 8 进程、每进程 1 线程运行 GPT-2 和 Llama3 的 DP、TP、TP+SP、PP 及 TP2+PP2+VPP2 配置。兼容性
原有直接启动方式保持支持:
多进程启动支持以下两种写法:
测试