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>
Originally NVIDIA#8037. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Yan Xu <yxu1@nvidia.com>
Originally NVIDIA#8048. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Yan Xu <yxu1@nvidia.com>
Originally NVIDIA#8726. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Yan Xu <yxu1@nvidia.com>
Originally NVIDIA#8727. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Yan Xu <yxu1@nvidia.com>
Originally NVIDIA#8740. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Yan Xu <yxu1@nvidia.com>
Originally NVIDIA#8742. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Yan Xu <yxu1@nvidia.com>
Originally NVIDIA#8817. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Yan Xu <yxu1@nvidia.com>
Originally NVIDIA#8022. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Yan Xu <yxu1@nvidia.com>
Originally NVIDIA#8023. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Yan Xu <yxu1@nvidia.com>
Originally NVIDIA#8025. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Yan Xu <yxu1@nvidia.com>
… converter Originally NVIDIA#8033. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Yan Xu <yxu1@nvidia.com>
Originally NVIDIA#8044. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Yan Xu <yxu1@nvidia.com>
Originally NVIDIA#8055. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Yan Xu <yxu1@nvidia.com>
Originally NVIDIA#8739. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Yan Xu <yxu1@nvidia.com>
Originally NVIDIA#8738. 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#8024. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Yan Xu <yxu1@nvidia.com>
Originally NVIDIA#8053. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Yan Xu <yxu1@nvidia.com>
Originally NVIDIA#8724. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Yan Xu <yxu1@nvidia.com>
Originally NVIDIA#8021. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Yan Xu <yxu1@nvidia.com>
Originally NVIDIA#8753. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Yan Xu <yxu1@nvidia.com>
Originally NVIDIA#8756. 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#8757. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Yan Xu <yxu1@nvidia.com>
Originally NVIDIA#8745. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Yan Xu <yxu1@nvidia.com>
Originally NVIDIA#8058. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Yan Xu <yxu1@nvidia.com>
Originally NVIDIA#8736. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Yan Xu <yxu1@nvidia.com>
Originally NVIDIA#8751. 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#8730. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Yan Xu <yxu1@nvidia.com>
Originally NVIDIA#8059. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Yan Xu <yxu1@nvidia.com>
Originally NVIDIA#8747. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Yan Xu <yxu1@nvidia.com>
Originally NVIDIA#8744. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Yan Xu <yxu1@nvidia.com>
Originally NVIDIA#8762. 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#8734. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Yan Xu <yxu1@nvidia.com>
Originally NVIDIA#8752. 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>
|
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 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 makes the optimizer, the tensor-parallel helpers and the process-group setup helpers warn when a caller leaves out a process group. Before, they used WORLD or the global
parallel_stategrid without any signal. Each fallback now emits aProcessGroupFallbackWarning(deprecated in 0.21, removed in 0.23) and returns the same groups as before. Callers that build optimizers or DDP, or seed the RNG, without aProcessGroupCollectionare affected, as are maintainers of the optimizer, GTP, tensor-parallel and DDP setup code. It consolidates 2 draft PRs unchanged, one commit per member, so please review commit by commit. A final commit regeneratestools/process_group_usage_allowlist.json. It builds on #6303, #8890 (core process-group APIs: #8017, #8049), #8889 (optimizer plumbing: #8042, #8043) and #8895 (training loop and strict mode: #8031). It lands after #8898 and #8895, which make stock training pass its collection toDistributedDataParallel,get_megatron_optimizerand the RNG seed, so stock runs reach none of the new warnings.Review
Commits of this unit only: Connor-XY/Megatron-LM@ea3b434...ba30732
The full PR diff also shows the earlier units until they merge.
Members
DistributedOptimizer,MegatronOptimizerandLayerWiseDistributedOptimizerwarn when the norm reduction would run over WORLD, and the duplicate filters,model_parallel_cuda_manual_seed,gtp_replica_rankand the DDP, optimizer and GTP-remat group helpers warn before they read the global grid.get_megatron_optimizerwithoutpg_collectionandclip_qkwithoutdp_cp_groupwarn and resolve the same global groups, andFloat16OptimizerWithFloat16Paramstakes a keyword-onlypg_collectionthat its GTP-remat checkpoint rebuild reads instead of the global TP and DP groups.Behavior changes for callers
resolve_gtp_remat_groupgains a keyword-onlyowner. Existing calls keep working.intra_dist_opt=None, a non-distributed optimizer withmp=Noneand a layer-wise optimizer withoutintra_dist_optwarn once per process that the grad-norm reduction uses WORLD. They keep working.DistributedDataParallelwithoutpg_collection, and direct calls without groups to the duplicate filters,model_parallel_cuda_manual_seed,setup_process_groups_for_optimizer,get_megatron_optimizerorclip_qkwarn once per owner, and raise under anerrorfilter.model_parallel_cuda_manual_seed(123)without a collection now warn once per process. They are not converted here.set_tensor_model_parallel_rankor the expert rank setters no longer replaces the group rank there. Withlazy_mpu_init, the seed uses the TP group rank.ValueErrorat the first save that needs it if the collection lackstpor bothdp_cpanddp_cp_gtp_remat. It only runs with GTP, distributed Muon and Mamba or GDPin_projweights.determinism-exempt: the registered kernel files change only by warnings, group plumbing andowner=keywords.Teams
core-adlr, core-nemo, data-parallelism, dist-optimizer, gtp, mcore-emerging-optimizers, mcore-optimizer, mixture-of-experts-adlr, mixture-of-experts-devtech, reinforcement-learning, training, transformer
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.
Part of #6307.
🤖 Generated with Claude Code