Skip to content

refactor(recipe)!: rename vr200 GPU type and perf recipes to vrnvl72 - #6419

Merged
malay-nagda merged 2 commits into
mainfrom
malay/vrnvl72_rename
Oct 13, 2026
Merged

malay-nagda merged 2 commits into
mainfrom
malay/vrnvl72_rename

Conversation

@malay-nagda

Copy link
Copy Markdown
Contributor

What does this PR do ?

Renames the Vera Rubin NVL72 GPU type from vr200 to vrnvl72 in the performance recipes and launchers. vr200 stays a deprecated CLI alias so existing callers keep working while they move over.

Changelog

  • Rename src/megatron/bridge/perf_recipes/<family>/vr200/ to .../vrnvl72/ for the 7 families (deepseek, gpt_oss, kimi, llama, nemotronh, qwen, qwen_vl) and the 53 *_vr200_* recipe functions to *_vrnvl72_*. Family __init__ exports, dump_perf_configs.py, docstrings, READMEs and tests follow.
  • GPU handling uses vrnvl72: NUM_GPUS_PER_NODE_MAP, the 4752 MHz --peak_mem_clk default, the NUMA divisor, override and topology sets, and the training launcher's hardware check.
  • --gpu vr200 is mapped to vrnvl72 by an argparse type= callable (LEGACY_GPU_ALIASES in scripts/performance/argument_parser.py). Only vrnvl72 is listed in the choices and help. The deprecation warning is logged on the launcher and global rank 0 only, because every rank re-parses the forwarded argv.
  • Training launcher: a benchmark recipe name containing _vr200_ resolves to the renamed _vrnvl72_ recipe, with a warning, when that recipe exists (LEGACY_HARDWARE_ALIASES in scripts/training/recipe_metadata.py).
  • Tests:
    • New tests/unit_tests/scripts/performance/test_argument_parser.py.
    • Alias cases in training test_recipe_metadata.py, test_recipe_runner.py and test_setup_experiment.py.
    • The performance dry-run test now also runs --gpu vr200. It asserts the canonical experiment name and the 4752,4752 memory-clock lock.

Breaking change (Python API only). Code that imports the old names directly must update:

  • modules megatron.bridge.perf_recipes.<family>.vr200.* → megatron.bridge.perf_recipes.<family>.vrnvl72.*;
  • the 53 functions *_vr200_*_config → *_vrnvl72_*_config;
  • direct calls that pass gpu="vr200" to script helpers without argparse, and NUM_GPUS_PER_NODE_MAP["vr200"].

Nothing in this repo imports the old names. The CLI keeps accepting --gpu vr200 and _vr200_ recipe names during the deprecation window. Removing the alias later means deleting the two alias tables (each comment points to the other), the help and README notes, and the alias test cases.

Validation

  • ruff 0.9.9 (check, --select I, format --check): clean on all 56 changed Python files.
  • Torch-free unit tests, run locally with --noconftest: 138 passed, 1 failed in tests/unit_tests/scripts/performance/test_argument_parser.py and tests/unit_tests/scripts/training/{test_recipe_metadata,test_recipe_runner,test_setup_experiment}.py.
    • The failure, test_known_cross_package_collisions_have_explicit_benchmark_precedence, also fails on main.
    • tests/unit_tests/scripts is excluded from CI collection (norecursedirs), so these tests ran locally only.
    • The recipe tests that need torch or megatron.core run in CI.
  • Static checks:
    • all 53 renamed recipes are exported;
    • the benchmark recipe index has 53 vrnvl72 names and no vr200 names;
    • all 414 dump_perf_configs.py combinations resolve;
    • every family __init__ import resolves.
  • Name resolution for the 37 VR performance jobs in our CI: --gpu vrnvl72 and --gpu vr200 both resolve to the same existing *_vrnvl72_* recipes. The renamed recipe bodies are unchanged apart from the name.

GitHub Actions CI

See the CI section in the Contributing doc for how to trigger the CI.

Before your PR is "Ready for review"

Pre checks:

  • Make sure you read and followed Contributor guidelines
  • Did you write any new necessary tests?
  • Did you add or update any necessary documentation?
  • Does the PR affect components that are optional to install? (Ex: Numba, Pynini, Apex etc)

Additional Information

  • Downstream CI keeps passing --gpu vr200 until its own rename lands, and the alias covers that period.

🤖 Generated with Claude Code

Vera Rubin NVL72 systems are now identified as vrnvl72. Rename the
vr200 perf recipe packages and their 53 recipe functions, and use
vrnvl72 for the GPU map, the 4752 MHz memory-clock default, NUMA,
override and topology handling, docs and tests.

--gpu vr200 and _vr200_ benchmark recipe names stay accepted as
deprecated aliases that log a warning on the launcher and global
rank 0, so existing callers keep working during the deprecation
window. Code that imports the old Python names directly must update.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Malay Nagda <malayn@nvidia.com>
@malay-nagda
malay-nagda requested review from a team and dingqingy-nv as code owners October 12, 2026 13:31
@malay-nagda malay-nagda added feature New capabilities, enhancements, or enablement work breaking-change Public behavior or API compatibility changes area:recipe Training recipes and launch configs needs-review PR is ready for code review and waiting on a reviewer labels Oct 12, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Automatic Claude reviews have been retired. To request a pull-request review, post a comment containing:

/review

Add model=claude to use a Claude reviewer (the default is model=codex). mode=light|strict selects the review depth; for example, /review model=claude mode=strict. Comment /review help for all options.

@malay-nagda
malay-nagda merged commit b1bb0a9 into main Oct 13, 2026
95 of 96 checks passed
@malay-nagda
malay-nagda deleted the malay/vrnvl72_rename branch October 13, 2026 05:10
malay-nagda added a commit that referenced this pull request Oct 13, 2026
Signed-off-by: Malay Nagda <malayn@nvidia.com>
ksivaman added a commit to ksivaman/Megatron-Bridge that referenced this pull request Oct 13, 2026
Resolve conflicts with the vr200 -> vrnvl72 rename (NVIDIA-NeMo#6419): rename the
4-GPU DeepSeek V3 proxies to deepseek_v3_pretrain_4gpu_vrnvl72_{fp8mx,nvfp4}_proxy_config
and update their tests and recipe lists.

Follow NVIDIA-NeMo#6282 and set NVTE_ALLOW_NONDETERMINISTIC_ALGO=0 in both 4-GPU
proxies to match their 256-GPU VRNVL72 parents and the environment invariant test.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>

This branch was successfully deployed

1 active deployment
test — f5c94c64 Deployed Oct 12, 2026 by copy-pr-bot[bot] via cicd-wait-in-queue #22781
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:recipe Training recipes and launch configs breaking-change Public behavior or API compatibility changes feature New capabilities, enhancements, or enablement work needs-review PR is ready for code review and waiting on a reviewer

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants