[RFC] Explore deprecation of DDP in favor of FSDP2

Open
#4,122 1 comment 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Refactor
Clarity
Needs clarification
Activity status
Active
Tech stack
python, pytorch

Research direction

Start by locating the DDP and FSDP2 integration points, then compare their behavior and performance on small models. Done means establishing whether DDP can be deprecated without regressions and documenting a clear deprecation plan or the evidence for retaining both paths.

Written by the indexing model from the issue text.

Description

enhancement

Is your feature request related to a problem? Please describe.
Supporting both fsdp2 and ddp complicates the code significantly; for example, fsdp2 works as a mixin where ddp holds the nn.module as a child. Therefore, any code traversing those nn.module trees needs to handle both cases.

Describe the solution you'd like
We want to simplify the code, therefore, want to explore deprecating ddp in favor of fsdp2. However, we need to ensure no perf regressions, especially for the small model cases, where ddp is faster.

Describe alternatives you've considered
Supporting both, but results in maintenance overhead

Additional context
N/A

Dominant language
Python
Stars
1.1k
Forks
366
Avg merge
1d 20h
Merged PRs (30d)
281

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from NVIDIA-NeMo/Automodel

All issues in NVIDIA-NeMo/Automodel

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.