-
Notifications
You must be signed in to change notification settings - Fork 4.4k
Add minimal DBuffer implementation #4835
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
27 commits
Select commit
Hold shift + click to select a range
135894f
Add minimal DBuffer prototype
wujingyue dbaa1cb
Move DBuffer to experimental package
wujingyue dd19997
Add DBuffer output reuse helpers
wujingyue 0c02dd7
Clarify DBuffer layout documentation
wujingyue 46a47c8
Move DBuffer placements to placement module
wujingyue d91297a
Add DBuffer LCM padding gap coverage
wujingyue 541d827
Clarify DBuffer layout packing algorithm
wujingyue 84b75dc
Use out variable in DBuffer output paths
wujingyue 6da17e0
Improve DBuffer out validation errors
wujingyue 6d61f02
Enforce integer DBuffer mesh axes
wujingyue 5e13f62
Avoid full input transfers in DBuffer distribution
wujingyue eecc3df
Assert scatter shares DBuffer storage
wujingyue 7fb55bd
Rename DBuffer local tensor accessor
wujingyue 1044be3
Rename DBuffer test close helper
wujingyue 101a021
Clarify DBuffer allgather placement handling
wujingyue 7084b25
Document DBuffer placement transitions
wujingyue c730515
Require contiguous DBuffer local storage
wujingyue 87eb377
Keep DBuffer tests from resetting process group
wujingyue 2e76ce8
Avoid private DeviceMesh test cleanup
wujingyue 81be44f
Use shared distributed fixture in DBuffer tests
wujingyue 35ca6d7
Extract DBuffer owned range calculation
wujingyue 7b72b16
Clarify DBuffer chunk size layout comments
wujingyue 34de45c
Validate DBuffer global layout invariants
wujingyue 5591a2e
Move DBuffer global layout to layout module
wujingyue 76aece4
Remove DBuffer 0D rejection test
wujingyue 94aca92
Document DBuffer tensor range helper
wujingyue bed9193
Keep DBuffer placement validation local
wujingyue File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
20 changes: 20 additions & 0 deletions
20
megatron/core/distributed/fsdp/src/megatron_fsdp/experimental/__init__.py
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,20 @@ | ||
| # Copyright (c) 2026, NVIDIA CORPORATION. All rights reserved. | ||
| # | ||
| # Licensed under the Apache License, Version 2.0 (the "License"); | ||
| # you may not use this file except in compliance with the License. | ||
| # You may obtain a copy of the License at | ||
| # | ||
| # http://www.apache.org/licenses/LICENSE-2.0 | ||
| # | ||
| # Unless required by applicable law or agreed to in writing, software | ||
| # distributed under the License is distributed on an "AS IS" BASIS, | ||
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
| # See the License for the specific language governing permissions and | ||
| # limitations under the License. | ||
|
|
||
| """Experimental Megatron-FSDP implementation.""" | ||
|
|
||
| from .dbuffer import DBuffer | ||
| from .placement import Flat, Partial, Placement, Replicate | ||
|
|
||
| __all__ = ["DBuffer", "Flat", "Partial", "Placement", "Replicate"] | ||
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.