[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 1 commit 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 (6)
WalkthroughGB300 PerfSanity CI configuration now includes a third PyTorch split and generates two active tests per DeepSeek-V4-Pro disaggregated stage. Five YAML test lists enable 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)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 Checkov (3.3.8)tests/integration/test_lists/test-db/l0_gb300_multi_gpus_perf_sanity.ymlTraceback (most recent call last): tests/integration/test_lists/test-db/l0_gb300_multi_nodes_perf_sanity_ctx12_node1_gpu4_gen1_node2_gpu8.ymlTraceback (most recent call last): tests/integration/test_lists/test-db/l0_gb300_multi_nodes_perf_sanity_ctx1_node1_gpu4_gen4_node2_gpu8.ymlTraceback (most recent call last):
Comment |
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 and four multi-nodegen_onlytests.testCountvalues from 1 to 2.QA Engineer Review
Modified test-list files:
l0_gb300_multi_gpus_perf_sanity.yml: enabled fourctx_onlyentries.l0_gb300_multi_nodes_perf_sanity_ctx12_node1_gpu4_gen1_node2_gpu8.yml: enabled onegen_onlyentry.l0_gb300_multi_nodes_perf_sanity_ctx1_node1_gpu4_gen4_node2_gpu8.yml: enabled onegen_onlyentry.l0_gb300_multi_nodes_perf_sanity_ctx3_node1_gpu4_gen1_node8_gpu32.yml: enabled onegen_onlyentry.l0_gb300_multi_nodes_perf_sanity_ctx6_node1_gpu4_gen1_node4_gpu16.yml: enabled onegen_onlyentry.The entries use valid existing test configurations and preserve the corresponding timeout settings. Multi-GPU distribution was validated at approximately four tests per shard.
Verdict: needs follow-up — CBTS coverage data and local/CI execution results are pending.