Skip to content

[FSDP][Replicate] added test cases to ensure replicate can run forward/backward through root and non root and when a module is used multiple times in a single forward pass#160441

Closed
anshul-si wants to merge 3 commits intogh/anshul-si/21/basefrom
gh/anshul-si/21/head
Closed

[FSDP][Replicate] added test cases to ensure replicate can run forward/backward through root and non root and when a module is used multiple times in a single forward pass#160441
anshul-si wants to merge 3 commits intogh/anshul-si/21/basefrom
gh/anshul-si/21/head

Conversation

@anshul-si
Copy link
Contributor

@anshul-si anshul-si commented Aug 12, 2025

Summary: In order to ensure that replicate acts as intended (a specialized version of hsdp) we need to make sure that it can pass the same tests that fully_shard can for training. The first test verifies that Replicate correctly handles the scenario where forward and backward passes are run through both the root module and a non-root module. The second test verifies that Replicate works correctly when a module is used multiple times in a single forward pass.

Test Cases

  1. pytest test/distributed/_composable/test_replicate_training.py -k test_non_root_forward_backward
  2. pytest test/distributed/_composable/test_replicate_training.py -k test_multi_forward_module

Stack from ghstack (oldest at bottom):

cc @H-Huang @awgu @wanchaol @fegin @fduwjj @wz337 @wconstab @d4l3k @pragupta

…d/backward through root and non root and when a module is used multiple times in a single forward pass

[ghstack-poisoned]
@pytorch-bot
Copy link

pytorch-bot bot commented Aug 12, 2025

🔗 Helpful Links

🧪 See artifacts and rendered test results at hud.pytorch.org/pr/160441

Note: Links to docs will display an error until the docs builds have been completed.

✅ No Failures

As of commit 022cb4a with merge base e6aa728 (image):
💚 Looks good so far! There are no failures yet. 💚

This comment was automatically generated by Dr. CI and updates every 15 minutes.

… run forward/backward through root and non root and when a module is used multiple times in a single forward pass"

**Summary:** In order to ensure that replicate acts as intended (a specialized version of hsdp) we need to make sure that it can pass the same tests that fully_shard can for training. The first test verifies that Replicate correctly handles the scenario where forward and backward passes are run through both the root module and a non-root module. The second test verifies that Replicate works correctly when a module is used multiple times in a single forward pass.

**Test Cases**
1. pytest test/distributed/_composable/test_replicate_training.py -k test_non_root_forward_backward
2. pytest test/distributed/_composable/test_replicate_training.py -k test_multi_forward_module




cc H-Huang awgu wanchaol fegin fduwjj wz337 wconstab d4l3k pragupta

[ghstack-poisoned]
anshul-si added a commit to anshul-si/pytorch that referenced this pull request Aug 21, 2025
…d/backward through root and non root and when a module is used multiple times in a single forward pass

ghstack-source-id: 3019f4d
Pull Request resolved: pytorch#160441
anshul-si added a commit to anshul-si/pytorch that referenced this pull request Aug 26, 2025
…d/backward through root and non root and when a module is used multiple times in a single forward pass

ghstack-source-id: 3019f4d
Pull Request resolved: pytorch#160441
anshul-si added a commit to anshul-si/pytorch that referenced this pull request Aug 26, 2025
…d/backward through root and non root and when a module is used multiple times in a single forward pass

ghstack-source-id: 3019f4d
Pull Request resolved: pytorch#160441
… run forward/backward through root and non root and when a module is used multiple times in a single forward pass"

**Summary:** In order to ensure that replicate acts as intended (a specialized version of hsdp) we need to make sure that it can pass the same tests that fully_shard can for training. The first test verifies that Replicate correctly handles the scenario where forward and backward passes are run through both the root module and a non-root module. The second test verifies that Replicate works correctly when a module is used multiple times in a single forward pass.

**Test Cases**
1. pytest test/distributed/_composable/test_replicate_training.py -k test_non_root_forward_backward
2. pytest test/distributed/_composable/test_replicate_training.py -k test_multi_forward_module




cc H-Huang awgu wanchaol fegin fduwjj wz337 wconstab d4l3k pragupta

[ghstack-poisoned]
anshul-si added a commit to anshul-si/pytorch that referenced this pull request Sep 2, 2025
…d/backward through root and non root and when a module is used multiple times in a single forward pass

ghstack-source-id: 3019f4d
Pull Request resolved: pytorch#160441
@anshul-si anshul-si closed this Sep 2, 2025
@github-actions github-actions bot deleted the gh/anshul-si/21/head branch October 3, 2025 02:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

oncall: distributed Add this issue/PR to distributed oncall triage queue topic: not user facing topic category

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant