recipes: add vLLM DSV4-Pro agentic disagg references - #229
Conversation
f206b3d to
ff4ba10
Compare
Adds the agentx 060826 agentic aiperf-sweep recipe for DeepSeek-V4-Pro on GB200 under deepseek-v4-pro/GB200/agentic/. Prefill TEP8 + decode DEP8, disaggregated, with the Nixl + Mooncake-store MultiConnector KV path and a concurrency sweep (16..256) driven through the agentic aiperf benchmark. Host paths are placeholders (point them at your own checkouts/caches). Depends on NVIDIA#157 for the vLLM mooncake_kv_store schema; the benchmark uses the agentic aiperf harness (configs/agentx_060826_local_aiperf.sh). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: inf-yasong <yasong.wang@inferact.ai>
Signed-off-by: inf-yasong <yasong.wang@inferact.ai>
Signed-off-by: inf-yasong <yasong.wang@inferact.ai>
Signed-off-by: inf-yasong <yasong.wang@inferact.ai>
3021a71 to
f21b897
Compare
Signed-off-by: inf-yasong <yasong.wang@inferact.ai>
Signed-off-by: yasong.wang <yasong.wang@inferact.ai>
Signed-off-by: yasong.wang <yasong.wang@inferact.ai>
Signed-off-by: yasong.wang <yasong.wang@inferact.ai>
Signed-off-by: yasong.wang <yasong.wang@inferact.ai>
Signed-off-by: yasong.wang <yasong.wang@inferact.ai>
Signed-off-by: yasong.wang <yasong.wang@inferact.ai>
Signed-off-by: inf-yasong <yasong.wang@inferact.ai>
Signed-off-by: yasong.wang <yasong.wang@inferact.ai>
Signed-off-by: yasong.wang <yasong.wang@inferact.ai>
Signed-off-by: yasong.wang <yasong.wang@inferact.ai>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #229 +/- ##
=======================================
Coverage ? 67.26%
=======================================
Files ? 69
Lines ? 9041
Branches ? 0
=======================================
Hits ? 6081
Misses ? 2960
Partials ? 0 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Signed-off-by: yasong.wang <yasong.wang@inferact.ai>
This reverts commit 8f965c6.
Signed-off-by: yasong.wang <yasong.wang@inferact.ai>
Four validated DeepSeek-V4-Pro AgentX GB300 MTP recipes (source jobs 149, 133, 139, 151) spanning c128 low-latency to c1024 throughput ceiling, plus the transitional c188b96 Mooncake eagle-group-split patch they depend on. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017Nb3LdPBd39StuuhRtaNGX
|
Added four validated GB300 MTP disaggregated references under a new MTP needs three additions over the non-MTP references, present in every recipe:
Validated performance (active total tok/s per physical serving GPU, 1800 s AgentX 062126 runs):
🤖 Generated with Claude Code |
Signed-off-by: esmeetu <yasong.wang@inferact.ai>
Summary
Adds four DeepSeek-V4-Pro AgentX GB200 disaggregated reference recipes under
recipes/vllm/deepseek-v4-pro/GB200/agentic/and five GB300 references underrecipes/vllm/deepseek-v4-pro/GB300/agentic/.The recipes use MooncakeStore + NIXL MultiConnector, sparse DSV4 attention, model-specific block size 256, and the 062126 AgentX trace. Host paths and RDMA device names are documented placeholders and must be adapted to the target cluster.
All nine recipes now use the same attention configuration on prefill and decode:
{"backend":"FLASHINFER_MLA_SPARSE_DSV4","use_prefill_query_quantization":true,"use_fp4_indexer_cache":true}The completed GB300 job 564 regression adds a portable
1xPDEP4 + 1xDDEP8, c256 reference pinned to Dynamo1.3.0.dev20260720. It keeps job 564's uniform per-node P/D launch and job-scoped DeepGEMM caches while replacing cluster-local mounts and the benchmark command with documented placeholders and the bundled driver. Job 564 completed 13,311 requests with 0 errors and no cancellation at 7.23 req/s and 928.95k active total tok/s (77.41k per serving GPU); p50/p99 TTFT was 12.68s/93.67s and p50/p99 ITL was 39.72ms/46.10ms.The two latest GB300 scaling references are derived from job 522's saved runtime configuration:
3xPDEP8 + 1xDDEP16, c1536 (40 serving GPUs)1xPDEP8 + 1xDDEP8, c512 (16 serving GPUs)They preserve job 522's single
fastokensfrontend, per-node P/D process layout, P/Ddeep_gemm_amxf4_mega_moe, NUMA binding, scheduler limits, and Dynamo v1.2.1. Job 522 did not setuse_fp4_indexer_cache; that requested attention change and these exact two topology/concurrency points have not been benchmarked, so no performance result is claimed for them.The new GB200
3xPDEP8 + 1xDDEP16c1280 variant preserves the existing job-9374 topology and scheduler limits while switching both roles to srt-slurm's default per-GPU launch, explicit P/D MegaMoE, and P/DTORCH_SYMMEM=NVSHMEMplusVLLM_USE_NCCL_SYMM_MEM=1. The validated mixed-launch/all-to-all recipe remains unchanged apart from the requested attention setting. The new all-per-GPU variant is not performance-validated.The two 515d6e9 GB300 references intentionally use only
vllm-container-deps.sh; they do not inject the job-522-era Mooncake watchdog, DeepGEMM scale-factor assert workaround, or FastAPI/Instrumentator shim. The four runtime patch files were removed from this PR. The exact no-patch configs were submitted as jobs 525 (3xPDEP8 + 1xDDEP16, c1536) and 526 (1xPDEP8 + 1xDDEP8, c512) on 2026-07-17; both reachedRUNNINGat submission time, but no startup-completion or performance result is claimed yet.The bundled
configs/agentx_aiperf.shdriver is self-contained and only requires an existing AIPerf virtual environment atAIPERF_VENV; it no longer requires an InferenceX checkout. It provides a 600-second AgentX cache warmup default and a 1800-second warmup grace default, optional OSL and context limits, and feature-gated Dynamo conversation-routing controls.Every recipe uses the same job-scoped DeepGEMM JIT cache path on prefill and decode:
/tmp/dg-cache-inf-yasong-{job_id}.Dependency
The recipes using
backend.dp_launch_modeor per-role launch overrides depend on NVIDIA/srt-slurm#90.The launch-mode-dependent recipes include:
per_node, producing six four-GPU node processes across three PDEP8 workers; decode remainsper_gpuper_nodeprefill plusper_gpudecode with NVSHMEM symmetric-memory plumbingper_nodeprefill plusper_gpudecodeper_nodeon both P/D rolesThe new GB200 c1280 MegaMoE+NVSHMEM variant intentionally omits launch-mode override fields and therefore uses the existing default
per_gpubehavior without PR #90.The selected vLLM image must include connector-prefetch support for
VLLM_CONNECTOR_PREFETCH_DEPTHandVLLM_CONNECTOR_PREFETCH_KV_CAP. The GB300 job-522-derived recipes pin Dynamo to the public v1.2.1 tag commit919682da679aa699d5bca9c872f4c1d9a530bbc0; the job 564 regression instead pins Dynamo1.3.0.dev20260720.Historical performance provenance
The metrics below describe the source runs/topologies. Except for the job 564 regression, recipes derived from older runs add
use_fp4_indexer_cache=true, so those older metrics are not validation of the exact updated YAML unless rerun with that attention setting.1xPDEP8 + 1xDDEP16 at c480 on 24 GB200 GPUs:
2xPDEP8 + 1xDDEP24 at c800 on 40 GB200 GPUs:
3xPDEP8 per-node + 1xDDEP16 per-GPU at c1280 on 40 GB200 GPUs:
2xPDEP8 per-node + 1xDDEP12 per-GPU P/D MegaMoE at c640 on 28 GB200 GPUs (job 9637):
3xPDEP8 per-node + 1xDDEP12 per-GPU at c960 on 36 serving GB300 GPUs (job 448):
2xPDEP8 per-node + 1xDDEP12 per-GPU at c1280 with three affinity-aware frontends on 28 serving GB300 GPUs (job 487):
Job 522 is configuration provenance for the two newest GB300 references, not their performance validation. Its
5xPDEP8 + 2xDDEP12c2400 parent shape completed warmup with 43,243 completed / 0 cancelled / 1 error. Profiling reached 79,804 completed / 1,991 cancelled / 0 errors and hit the grace-period boundary; those numbers are not attributed to the c1536 or c512 recipes.Configuration validation
DG_JIT_CACHE_DIR=/tmp/dg-cache-inf-yasong-{job_id}, setsAIPERF_MAX_OSL: "none", and omits the recipe-levelAIPERF_WARMUP_GRACE_PERIODoverride.vllm-container-deps.sh, and have no remaining references to the removed runtime patch files.{job_id}in all nine recipes.git diff --check, YAML/JSON validation, both current and PR-feat(vllm): add per-node DP launch mode #90 schema checks, and the AIPerf-driver test pass for the latest delta.