1515
1616from megatron .bridge .perf_recipes .llama .common import (
1717 ConfigContainer ,
18- _benchmark_common ,
18+ _enable_overlap_param_gather_with_optimizer_step ,
19+ _llama_benchmark_common ,
1920 _perf_precision ,
2021 llama31_405b_pretrain_config ,
2122 userbuffers_bf16_b200_h16384_tp4_cp2_mbs1_seqlen8192 ,
@@ -39,18 +40,19 @@ def llama31_405b_pretrain_128gpu_b200_bf16_config() -> ConfigContainer:
3940 cfg .dataset .seq_length = 8192
4041
4142 cfg .model .tensor_model_parallel_size = 4
42- cfg .model .pipeline_model_parallel_size = 8
43- cfg .model .context_parallel_size = 2
43+ cfg .model .pipeline_model_parallel_size = 16
44+ cfg .model .context_parallel_size = 1
4445 cfg .model .virtual_pipeline_model_parallel_size = 8
4546 cfg .model .sequence_parallel = True
46- cfg .train .global_batch_size = 64
47+ cfg .train .global_batch_size = 768
4748 cfg .train .micro_batch_size = 1
4849
4950 cfg .comm_overlap .tp_comm_overlap_cfg = userbuffers_bf16_b200_h16384_tp4_cp2_mbs1_seqlen8192
5051
5152 cfg .model .moe_token_dispatcher_type = "alltoall"
5253
53- _benchmark_common (cfg )
54+ _llama_benchmark_common (cfg )
55+ _enable_overlap_param_gather_with_optimizer_step (cfg )
5456 return cfg
5557
5658
@@ -64,18 +66,19 @@ def llama31_405b_pretrain_128gpu_b200_fp8cs_config() -> ConfigContainer:
6466 cfg .dataset .seq_length = 8192
6567
6668 cfg .model .tensor_model_parallel_size = 4
67- cfg .model .pipeline_model_parallel_size = 8
68- cfg .model .context_parallel_size = 2
69- cfg .model .virtual_pipeline_model_parallel_size = 8
69+ cfg .model .pipeline_model_parallel_size = 16
70+ cfg .model .context_parallel_size = 1
71+ cfg .model .virtual_pipeline_model_parallel_size = 4
7072 cfg .model .sequence_parallel = True
71- cfg .train .global_batch_size = 64
73+ cfg .train .global_batch_size = 768
7274 cfg .train .micro_batch_size = 1
7375
7476 cfg .comm_overlap .tp_comm_overlap_cfg = userbuffers_fp8_b200_h16384_tp4_cp2_mbs1_seqlen8192
7577
7678 cfg .model .moe_token_dispatcher_type = "alltoall"
7779
78- _benchmark_common (cfg )
80+ _llama_benchmark_common (cfg )
81+ _enable_overlap_param_gather_with_optimizer_step (cfg )
7982 return cfg
8083
8184
@@ -89,16 +92,16 @@ def llama31_405b_pretrain_128gpu_b200_fp8mx_config() -> ConfigContainer:
8992 cfg .dataset .seq_length = 8192
9093
9194 cfg .model .tensor_model_parallel_size = 4
92- cfg .model .pipeline_model_parallel_size = 8
93- cfg .model .context_parallel_size = 2
95+ cfg .model .pipeline_model_parallel_size = 16
96+ cfg .model .context_parallel_size = 1
9497 cfg .model .virtual_pipeline_model_parallel_size = 8
9598 cfg .model .sequence_parallel = True
96- cfg .train .global_batch_size = 64
99+ cfg .train .global_batch_size = 768
97100 cfg .train .micro_batch_size = 1
98101
99102 cfg .comm_overlap .tp_comm_overlap_cfg = userbuffers_fp8_b200_h16384_tp4_cp2_mbs1_seqlen8192
100103
101- _benchmark_common (cfg )
104+ _llama_benchmark_common (cfg )
102105 return cfg
103106
104107
@@ -116,19 +119,15 @@ def llama31_405b_pretrain_128gpu_b200_nvfp4_config() -> ConfigContainer:
116119 cfg .model .context_parallel_size = 1
117120 cfg .model .virtual_pipeline_model_parallel_size = 8
118121 cfg .model .sequence_parallel = True
119- cfg .train .global_batch_size = 64
122+ cfg .train .global_batch_size = 768
120123 cfg .train .micro_batch_size = 1
121124
122125 cfg .model .cuda_graph_impl = "none"
123126
124- cfg .model .recompute_granularity = "full"
125- cfg .model .recompute_method = "block"
126- cfg .model .recompute_num_layers = 1
127-
128127 cfg .comm_overlap .tp_comm_overlap_cfg = userbuffers_fp8_b200_h16384_tp4_cp2_mbs1_seqlen8192
129128 cfg .comm_overlap .tp_comm_overlap = False
130129
131- _benchmark_common (cfg )
130+ _llama_benchmark_common (cfg )
132131 return cfg
133132
134133
@@ -138,4 +137,11 @@ def llama31_405b_pretrain_128gpu_b200_nvfp4_config() -> ConfigContainer:
138137
139138llama31_405b_pretrain_256gpu_b200_fp8mx_config = llama31_405b_pretrain_256gpu_gb200_fp8mx_config
140139
141- llama31_405b_pretrain_256gpu_b200_nvfp4_config = llama31_405b_pretrain_256gpu_gb200_nvfp4_config
140+ def llama31_405b_pretrain_256gpu_b200_nvfp4_config () -> ConfigContainer :
141+ """Llama3.1 405B pretrain: 256x B200, NVFP4."""
142+ cfg = llama31_405b_pretrain_256gpu_gb200_nvfp4_config ()
143+ cfg .ddp .overlap_param_gather = True
144+ cfg .optimizer .overlap_param_gather = False
145+ cfg .comm_overlap .overlap_param_gather = None
146+ cfg .comm_overlap .align_param_gather = None
147+ return cfg
0 commit comments