Repository navigation
perf(recipe): default GB200 MoE perf recipes to NCCL EP and grouped tensors - #6373
Draft
malay-nagda wants to merge 5 commits into
Draft
malay-nagda wants to merge 5 commits into
malay-nagda wants to merge 5 commits into
Conversation
…ensors Switch the GB200 MoE perf recipes that nemo-ci benchmarks on HybridEP to the NCCL EP flex dispatcher backend with moe_use_grouped_tensor=True, matching the GB300 recipes moved in #6171 and GPT-OSS 120B GB200 in #6261. The NCCL EP environment sets NCCL_EP_HT_EM_PULL_PUSH=1 and drops the HybridEP topology names. Switched: DeepSeek V3 256-GPU BF16/MXFP8/NVFP4/MXFP8 large-scale, Kimi K2 MXFP8, Nemotron 3 Super BF16/MXFP8/NVFP4, Nemotron 3 Ultra MXFP8, Nemotron 3 Nano BF16/MXFP8, Nemotron 3.5 Lightning BF16/MXFP8, Qwen3 30B-A3B 8-GPU BF16/MXFP8 and 32-GPU BF16, Qwen3 235B-A22B 256-GPU BF16/MXFP8/NVFP4/MXFP8 large-scale. Recipes whose GB300 counterpart stays on HybridEP (DeepSeek V4 Flash, Nemotron 3 Ultra NVFP4) and GB200 recipes without a nemo-ci benchmark keep HybridEP. DeepSeek V3 NVFP4 now builds on a shared HybridEP BF16 base so the NCCL EP overlay is applied explicitly per recipe. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Malay Nagda <malayn@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. |
…0 on HybridEP Revert the NCCL EP switch for the GB200 Kimi K2 MXFP8, Nemotron 3 Nano BF16/MXFP8 and Qwen3 30B-A3B 32-GPU BF16 perf recipes; they keep their HybridEP configuration and environment from main. Nemotron 3.5 Lightning BF16 still derives from the Nano BF16 recipe, so it now applies the NCCL EP overlay itself. The Qwen3 30B-A3B 8-GPU and 32-GPU BF16 recipes share a new HybridEP builder so only the 8-GPU recipe switches. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Malay Nagda <malayn@nvidia.com>
… on GB200 Switch two more GB200 MoE perf recipes to the NCCL EP flex dispatcher backend with moe_use_grouped_tensor=True and NCCL_EP_HT_EM_PULL_PUSH=1: - GPT-OSS 120B 64-GPU BF16, which previously ran the alltoall dispatcher inherited from its base recipe. EP A2A overlap and delayed wgrad are kept. - DeepSeek V4 Flash 128-GPU MXFP8, which previously ran HybridEP. The DeepSeek V4 Flash GB300 recipe derives from the GB200 one, and the VR200 and B300 recipes derive from GB300, so the GB200 settings move into a shared HybridEP builder that GB300 now uses; those recipes keep HybridEP. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Malay Nagda <malayn@nvidia.com>
Signed-off-by: malay-nagda <malayn@nvidia.com>
…unchanged Drop the GPT-OSS 120B and Qwen3 30B-A3B parts of the GB200 NCCL EP switch. These recipes, their environments and their tests match main again: - GPT-OSS 120B 64-GPU BF16 runs the alltoall dispatcher again. - Qwen3 30B-A3B 8-GPU BF16 and MXFP8 run HybridEP again. The 32-GPU BF16 recipe derives from the 8-GPU recipe as on main, and the shared BF16 builder is removed. The GB200 NCCL EP recipe test no longer lists these recipes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Malay Nagda <malayn@nvidia.com>
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.
What does this PR do ?
This PR moves selected GB200 MoE perf recipes from the HybridEP flex dispatcher to NCCL EP, with
moe_use_grouped_tensor=True. It follows #6171 (GB300) and #6261 (GPT-OSS 120B GB200 MXFP8).Changelog
The following 15 GB200 recipes now call
_enable_ncclepand setmoe_use_grouped_tensor=True. Their inline environment setsNCCL_EP_HT_EM_PULL_PUSH=1and drops the HybridEP topology names. Parallelism, precision, recompute, CUDA graph mode and comm overlap are unchanged.Each switched recipe applies the NCCL EP overlay itself; none inherits it from a HybridEP sibling. Where a switched recipe and a HybridEP recipe derive from the same parent:
_build_deepseek_v3_gb200_bf16._build_deepseek_v4_flash_gb200_fp8mxinstead of the GB200 recipe. GB300, and the VR200 and B300 recipes derived from it, keep HybridEP unchanged.Nemotron 3 Ultra MXFP8 drops a HybridEP rank variable that is no longer used, and its docstring is updated.
The new
test_gb200_ncclep_perf_recipes.pychecks two things:Existing tests that hardcoded HybridEP for the switched recipes are updated:
Scope
alltoall.deepseek_v3_pretrain_256gpu_gb200_fp8mx_partial_cg_dev_config. It offloadsexpert_fc1with EP overlap, and MCore rejects that combination underncclep.NVTE_ALLOW_NONDETERMINISTIC_ALGO=0on the DeepSeek recipes.Deterministic execution was requested (NVTE_ALLOW_NONDETERMINISTIC_ALGO=0 …), but the scale gradient (dprob) is accumulated with nondeterministic atomicserror.Validation
pre-commit run --all-filespasses.main's pina98aed55, using import-only stubs for Triton and TE.test_perf_config_integration.pywas updated but could not run locally, because it also needs HF configs.alltoallgolden.Before your PR is "Ready for review"
Pre checks:
Still to do:
NVTE_ALLOW_NONDETERMINISTIC_ALGO=0from the GB200 DeepSeek NCCL EP recipes as perf(recipe): default GB300 MoE perf recipes to NCCL EP and grouped tensors #6171 did, then rerun DeepSeek V4 Flash.KNOWN_ISSUEflags (MB-1707, MB-1203) andallow_failureon DeepSeek V4 Flash.perf_recipes/deepseek/gb200/deepseek_v3.py.Additional Information
🤖 Generated with Claude Code