Repository navigation
Conversation
Originally NVIDIA#7487. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Yan Xu <yxu1@nvidia.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Yan Xu <yxu1@nvidia.com>
Originally NVIDIA#6259. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Yan Xu <yxu1@nvidia.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Yan Xu <yxu1@nvidia.com>
Originally NVIDIA#6293. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Yan Xu <yxu1@nvidia.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Yan Xu <yxu1@nvidia.com>
…groups Originally NVIDIA#8042. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Yan Xu <yxu1@nvidia.com>
Originally NVIDIA#8043. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Yan Xu <yxu1@nvidia.com>
Originally NVIDIA#8045. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Yan Xu <yxu1@nvidia.com>
Originally NVIDIA#8731. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Yan Xu <yxu1@nvidia.com>
Originally NVIDIA#6257. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Yan Xu <yxu1@nvidia.com>
Originally NVIDIA#6303. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Yan Xu <yxu1@nvidia.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Yan Xu <yxu1@nvidia.com>
Originally NVIDIA#8026. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Yan Xu <yxu1@nvidia.com>
Originally NVIDIA#8723. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Yan Xu <yxu1@nvidia.com>
Originally NVIDIA#8017. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Yan Xu <yxu1@nvidia.com>
Originally NVIDIA#8039. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Yan Xu <yxu1@nvidia.com>
Originally NVIDIA#8049. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Yan Xu <yxu1@nvidia.com>
|
Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually. Contributors can view more details about this message here. |
This was referenced Nov 3, 2026
This was referenced Nov 3, 2026
This branch has not been deployed
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This PR adds the Megatron Core APIs that later steps of the
parallel_statedeprecation (#6307) build on. Callers get a builder that returns the standard grid'sProcessGroupCollectionwithout writing globals. They also get helpers that validate a collection or fall back to the globals with a dedicated warning. The global memory buffer no longer needsinitialize_model_parallel(). Maintainers get shared test helpers that fail a test on any global grid read. It also makes DDP's fallback expert data-parallel group a collective call. It consolidates six draft PRs unchanged. Five are one commit each, so please review commit by commit; #8820 needs no commit of its own (see below). It builds on #6259 (#8017 and #8039 use its Gloo fields) and #6293 (#8049 builds on its fallback defaults).Review
The unit's own commits: Connor-XY/Megatron-LM@7c8c403...eb768e2
The full PR diff also includes #7487, #6259, #6293 and #6303 until they merge.
Members
get_global_memory_buffer()inmegatron/core/utils.pycreates the buffer lazily, so a model built on its own collection no longer fails in its first sequence-parallel linear or local-attention forward.expt_dp, DDP setup now creates every single-rank group on all ranks withnew_subgroups_by_enumeration, so group names match across ranks.forbid_global_process_groups(),new_group_with_same_ranks()andbuild_test_pg_collection(), plus agrid_pg_collectionfixture.build_process_group_collectionfrominitialize_model_parallel. The builder returns(ProcessGroupCollection, StandardGridExtras)with the same groups, order and options as before, and sets no global.ProcessGroupFallbackWarningwith per-calldeprecated_in/removed_inversions, therequire_process_groupsandresolve_process_groupshelpers, and checker support that countsresolve_process_groupscalls as guarded reads.Behavior changes for callers
initialize_model_parallel()returns theProcessGroupCollectioninstead ofNone. If building fails, no group is registered.initialize_model_parallel()no longer creates the global memory buffer. The privateparallel_state._GLOBAL_MEMORY_BUFFERis removed, and_set_global_memory_buffer()no longer asserts that the buffer is new.expt_dpfallback path, setup makes onenew_groupcall per rank of the job instead of one.ProcessGroupFallbackWarning, aFutureWarningsubclass, so existingFutureWarningfilters still match.warnings.simplefilter("error", ProcessGroupFallbackWarning)makes every fallback raise.The public names
build_process_group_collection,StandardGridExtras,require_process_groupsandresolve_process_groupsneed core approval before later PRs start calling them. At least 15 later PRs callresolve_process_groups.Teams
core-adlr, core-nemo
Testing
Each member was GPU-tested against its base before consolidation. The consolidated chain (every unit in landing order, on current main) was run against main on 4 GPUs: 258 test files, and no test fails on the chain that passes on main. Tests in 28 files fail on both, mostly tests written for 8 GPUs, and one file times out on both.
🤖 Generated with Claude Code