MCPcopy Create free account
hub / github.com/MLSysU/TD-Pipe / _init_distributed_environment

Function _init_distributed_environment

TD_Pipe/worker/worker.py:185–213  ·  view source on GitHub ↗

Initialize the distributed environment.

(
    parallel_config: ParallelConfig,
    rank: int,
    distributed_init_method: Optional[str] = None,
)

Source from the content-addressed store, hash-verified

183
184
185def _init_distributed_environment(
186 parallel_config: ParallelConfig,
187 rank: int,
188 distributed_init_method: Optional[str] = None,
189) -> None:
190 """Initialize the distributed environment."""
191 if torch.distributed.is_initialized():
192 torch_world_size = torch.distributed.get_world_size()
193 if torch_world_size != parallel_config.world_size:
194 raise RuntimeError(
195 "torch.distributed is already initialized but the torch world "
196 "size does not match parallel_config.world_size "
197 f"({torch_world_size} vs. {parallel_config.world_size}).")
198 elif not distributed_init_method:
199 raise ValueError(
200 "distributed_init_method must be set if torch.distributed "
201 "is not already initialized")
202 else:
203 torch.distributed.init_process_group(
204 backend="nccl",
205 world_size=parallel_config.world_size,
206 rank=rank,
207 init_method=distributed_init_method,
208 )
209
210 # A small all_reduce for warmup.
211 torch.distributed.all_reduce(torch.zeros(1).cuda())
212 initialize_model_parallel(parallel_config.tensor_parallel_size,
213 parallel_config.pipeline_parallel_size)
214
215
216def _check_if_gpu_supports_dtype(torch_dtype: torch.dtype):

Callers 1

init_modelMethod · 0.85

Calls 1

Tested by

no test coverage detected