[None][test] Enable gen_only + ctx_only DeepSeek-V4-Pro perf-sanity on GB300#16795
[None][test] Enable gen_only + ctx_only DeepSeek-V4-Pro perf-sanity on GB300#16795chenfeiz0326 wants to merge 2 commits into
Conversation
…n GB300 Follow-up to NVIDIA#16540, which added the four DeepSeek-V4-Pro (FP4, 1.6T MoE) disaggregated perf-sanity shapes on GB300 but registered only the e2e variant of each, leaving gen_only and ctx_only commented out (gen_only pending runtime characterization; ctx_only deferred behind a shared-stage OOM-cascade investigation, though con4301 ctx_only passed in isolation on OCI-AGA). This PR enables both remaining modes. The configs, model registration, role-specific worker env-vars, and MoE load-balancer yamls already landed in NVIDIA#16540 and are unchanged; parse_test_string derives the mode from the test-ID prefix and resolves the same on-disk config for all three modes, so no config/model changes are needed. Changes: - l0_gb300_multi_gpus_perf_sanity.yml: uncomment the 4 aggr_upload-ctx_only-* DeepSeek-V4-Pro entries (8 -> 12 active ctx_only tests). - l0_gb300_multi_nodes_perf_sanity_ctx{1,3,6,12}_*.yml: uncomment the disagg_upload-gen_only-* entry in each (now 1 gen_only + 1 e2e per shape). - L0_Test.groovy: - GB300-4_GPUs PerfSanity-Post-Merge split 2 -> 3 to keep ~4 tests/shard for the heavier ctx_only set (more per-node isolation given the NVIDIA#16540 shared-stage OOM note). - 4 GB300 DeepSeek-V4-Pro multi_nodes Disagg stages: testCount 1 -> 2 (gen_only + e2e). Signed-off-by: Chenfei Zhang <chenfeiz@nvidia.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (1)
💤 Files with no reviewable changes (1)
WalkthroughGB300 PerfSanity CI configuration adds a third PyTorch split, generates two active tests per DeepSeek-V4-Pro disaggregated stage, and enables five previously commented-out ChangesGB300 PerfSanity coverage
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
longlee0622
left a comment
There was a problem hiding this comment.
Approve for multi-gpu testing.
Drop the two multi-line comment blocks around the GB300 PerfSanity split bump and the DSv4-Pro disagg stage registration. The code (shard count, testCount) is self-explanatory; the prose added noise. Co-Authored-By: Claude <noreply@anthropic.com> Signed-off-by: Chenfei Zhang <chenfeiz@nvidia.com>
|
/bot run --disable-fail-fast --stage-list "GB300-4_GPUs-PyTorch-PerfSanity-Post-Merge-1,GB300-4_GPUs-PyTorch-PerfSanity-Post-Merge-2,GB300-4_GPUs-PyTorch-PerfSanity-Post-Merge-3,GB300-36_GPUs-9_Nodes-PyTorch-Disagg-PerfSanity-CTX1-NODE1-GPU4-GEN4-NODE2-GPU8-Post-Merge-1,GB300-40_GPUs-10_Nodes-PyTorch-Disagg-PerfSanity-CTX6-NODE1-GPU4-GEN1-NODE4-GPU16-Post-Merge-1,GB300-44_GPUs-11_Nodes-PyTorch-Disagg-PerfSanity-CTX3-NODE1-GPU4-GEN1-NODE8-GPU32-Post-Merge-1,GB300-56_GPUs-14_Nodes-PyTorch-Disagg-PerfSanity-CTX12-NODE1-GPU4-GEN1-NODE2-GPU8-Post-Merge-1" |
|
PR_Github #61476 [ run ] triggered by Bot. Commit: |
|
PR_Github #61476 [ run ] completed with state
|
|
/bot run --disable-fail-fast --stage-list "GB300-36_GPUs-9_Nodes-PyTorch-Disagg-PerfSanity-CTX1-NODE1-GPU4-GEN4-NODE2-GPU8-Post-Merge-2,GB300-40_GPUs-10_Nodes-PyTorch-Disagg-PerfSanity-CTX6-NODE1-GPU4-GEN1-NODE4-GPU16-Post-Merge-2,GB300-44_GPUs-11_Nodes-PyTorch-Disagg-PerfSanity-CTX3-NODE1-GPU4-GEN1-NODE8-GPU32-Post-Merge-2,GB300-56_GPUs-14_Nodes-PyTorch-Disagg-PerfSanity-CTX12-NODE1-GPU4-GEN1-NODE2-GPU8-Post-Merge-2" |
|
PR_Github #61527 [ run ] triggered by Bot. Commit: |
|
PR_Github #61527 [ run ] completed with state
|
Summary
Follow-up to #16540. That PR added the four DeepSeek-V4-Pro (FP4, 1.6T MoE) disaggregated perf-sanity shapes on GB300 (con8 / con180 / con666 / con4301) but registered only the e2e variant of each — the
gen_onlyandctx_onlyvariants were left commented out in the test-db yamls:gen_only— deferred pending gen_only runtime characterization on the target CI cluster.ctx_only— deferred behind a shared-stage OOM-cascade investigation (the con4301 ctx_only case passed cleanly in isolation on OCI-AGA, so the leak was judged orthogonal to these configs).This PR enables both remaining modes so all three test modes (
aggr_upload-ctx_only-*,disagg_upload-gen_only-*,disagg_upload-e2e-*) run for every shape.Why this needs no config/model changes
The four disagg config yamls, the
deepseek_v4_pro_fp4 → DeepSeek-V4-Promodel registration, the role-specificctx_worker_env_var/gen_worker_env_varhandling, and the in-repo MoE load-balancer yamls all landed in #16540 and are unchanged here.parse_test_string()derivesbenchmark_modefrom the test-ID prefix and resolves the same on-disk config for all three modes (only the launched worker fleet differs), so enabling gen_only/ctx_only is purely a test-list registration change.Changes
l0_gb300_multi_gpus_perf_sanity.ymlaggr_upload-ctx_only-*DeepSeek-V4-Pro entries (8 → 12 active ctx_only tests)l0_gb300_multi_nodes_perf_sanity_ctx1_node1_gpu4_gen4_node2_gpu8.yml(con8)gen_onlyentry (now 1 gen_only + 1 e2e)l0_gb300_multi_nodes_perf_sanity_ctx6_node1_gpu4_gen1_node4_gpu16.yml(con666)gen_onlyentryl0_gb300_multi_nodes_perf_sanity_ctx3_node1_gpu4_gen1_node8_gpu32.yml(con180)gen_onlyentryl0_gb300_multi_nodes_perf_sanity_ctx12_node1_gpu4_gen1_node2_gpu8.yml(con4301)gen_onlyentryjenkins/L0_Test.groovyGB300-4_GPUsPerfSanity-Post-Merge split 2 → 3 (keeps ~4 tests/shard for the heavier ctx_only set, giving the DSv4-Pro cases more per-node isolation given the #16540 shared-stage OOM note); the 4 GB300 DeepSeek-V4-Pro multi_nodes Disagg stagestestCount1 → 2 (gen_only + e2e)Validation
multi_nodesfile holds exactly 1gen_only+ 1e2eentry, matchingtestCount=2.tests/scripts/perf-sanity/disaggregated/.multi_gpusctx_only count (12) vs split (3) → ~4 tests/shard.Test plan
Dev Engineer Review
ctx_onlytests inl0_gb300_multi_gpus_perf_sanity.yml(the previously commented entries are now active;TIMEOUT (90)preserved).gen_onlytest per GB300 multi-node PerfSanity config (4 total) across:...ctx12_node1_gpu4_gen1_node2_gpu8.yml...ctx1_node1_gpu4_gen4_node2_gpu8.yml...ctx3_node1_gpu4_gen1_node8_gpu32.yml...ctx6_node1_gpu4_gen1_node4_gpu16.ymlTIMEOUT (120)preserved;gen_onlynow active alongside existinge2e).jenkins/L0_Test.groovyforGB300-4_GPUs-PyTorch-PerfSanity-Post-Mergeby increasing the GB300 4-GPU split from 2 → 3 and adding the missing split variant...-3(with...-1,...-2,...-3now present).testCountvalues are increased from 1 → 2, matching the intent that each stage shape now runs two active tests (gen_only+e2e).QA Engineer Review
Modified test-list files:
tests/integration/test_lists/test-db/l0_gb300_multi_gpus_perf_sanity.ymlaggr_upload-ctx_only-gb300_deepseek-v4-pro-fp4_8k1kperf/test_perf_sanity.py::test_e2e[...]entries (timeouts retained).tests/integration/test_lists/test-db/l0_gb300_multi_nodes_perf_sanity_ctx12_node1_gpu4_gen1_node2_gpu8.ymldisagg_upload-gen_only...perf/test_perf_sanity.py::test_e2e[...]entry (timeout retained).tests/integration/test_lists/test-db/l0_gb300_multi_nodes_perf_sanity_ctx1_node1_gpu4_gen4_node2_gpu8.ymldisagg_upload-gen_only...perf/test_perf_sanity.py::test_e2e[...]entry (timeout retained).tests/integration/test_lists/test-db/l0_gb300_multi_nodes_perf_sanity_ctx3_node1_gpu4_gen1_node8_gpu32.ymldisagg_upload-gen_only...perf/test_perf_sanity.py::test_e2e[...]entry (timeout retained).tests/integration/test_lists/test-db/l0_gb300_multi_nodes_perf_sanity_ctx6_node1_gpu4_gen1_node4_gpu16.ymldisagg_upload-gen_only...perf/test_perf_sanity.py::test_e2e[...]entry (timeout retained).Verdict: needs follow-up — CBTS coverage data isn’t provided, but local GB300 functional runs and CI post-merge stages were reported passing.