Skip to content

Commit 6f0d115

Browse files
richardhuo-nvclaudeAnkur-singh
authored
feat(dsv4): refresh GB300 vLLM AgentX DSpark recipes / 更新 GB300 vLLM AgentX DSpark 配方 (#3738)
* feat(dsv4): refresh GB300 vLLM AgentX DSpark recipes with DEP8/DEP16 c384 Replace the GB300 vLLM AgentX MTP submission with nine DSpark K=6 configs on DeepSeek-V4-Pro-0813, using 1p1d DEP8/DEP16 c384 in place of DEP4/DEP16 c256. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> * perf-changelog: set PR link Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> * perf-changelog: describe the GB300 vLLM AgentX DSpark submission as a whole Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * feat(dsv4): bump GB300 vLLM AgentX Dynamo to 1.6.0.dev20261007 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * chore(config): bump GB300 DSV4 vLLM AgentX Dynamo wheel to 1.6.0.dev20261010 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * chore: refresh PR #3738 for sweep reuse [skip-sweep] --------- Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com> Co-authored-by: Ankur-singh <ankusingh@nvidia.com>
1 parent f34b380 commit 6f0d115

5 files changed

Lines changed: 381 additions & 508 deletions

File tree

‎inferencex-e2e/benchmarks/multi_node/srt-slurm-recipes/dsv4/vllm/gb300-fp4/agentx/agg-variants.yaml‎

Lines changed: 87 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -6,60 +6,57 @@ base:
66
model: {}
77
container: {}
88
frameworks:
9-
dynamo: "1.2.1"
9+
dynamo: "1.6.0.dev20261010"
1010
dynamo:
1111
install: true
1212
source:
13-
wheel: "1.2.1"
13+
wheel: "1.6.0.dev20261010"
1414
environment:
15-
DYNAMO_WHEEL_DIRS: "/srtctl-wheels"
16-
# The frontend shares Grace CPU capacity with the long TP8 cold start.
15+
PYTHONHASHSEED: "0"
16+
WITH_NVIDIA_PEERMEM: "0"
17+
EVAL_MAX_MODEL_LEN: "1048576"
1718
ETCD_LEASE_TTL: "7200"
18-
setup_script: vllm-container-deps.sh
1919
slurm:
20-
time_limit: "8:00:00"
20+
time_limit: "4:00:00"
2121
health_check:
2222
max_attempts: 2160
2323
interval_seconds: 10
2424
resources:
2525
gpu_type: "gb300"
2626
gpus_per_node: 4
2727
services:
28-
- name: etcd
29-
type: etcd
30-
placement:
31-
node: infra
32-
- name: nats
33-
type: nats
34-
placement:
35-
node: infra
36-
options:
37-
max_payload_mb: 32
38-
- name: mooncake-master
39-
type: mooncake-master
40-
options:
41-
store_config:
42-
metadata_server: "P2PHANDSHAKE"
43-
global_segment_size: "150GB"
44-
local_buffer_size: "4GB"
45-
protocol: "rdma"
46-
device_name: "@fabric.rdma-devices"
47-
mode: "embedded"
48-
enable_offload: false
28+
- name: "etcd"
29+
type: "etcd"
30+
placement:
31+
node: "infra"
32+
- name: "nats"
33+
type: "nats"
34+
placement:
35+
node: "infra"
36+
options:
37+
max_payload_mb: 32
4938
frontend:
50-
type: dynamo
39+
type: "dynamo"
5140
enable_multiple_frontends: false
41+
env:
42+
ETCD_LEASE_TTL: "120"
43+
DYN_ROUTER_TEMPERATURE: "0"
44+
DYN_TOKENIZER_CACHE: "1"
45+
DYN_TOKENIZER_CACHE_BYTES: "8000000000"
46+
DYN_TOKENIZER: "fastokens"
47+
DYN_TCP_REQUEST_TIMEOUT: "30"
48+
DYN_REQUEST_PLANE: "tcp"
49+
DYN_FRONTEND_ENABLE_KV_EVENTS: "0"
50+
DYN_LOGGING_JSONL: "false"
51+
OTEL_EXPORT_ENABLED: "false"
5252
args:
5353
router-mode: "kv"
54-
router-reset-states: true
55-
router-temperature: 0.0
56-
router-queue-threshold: 65536
54+
router-session-affinity-ttl-secs: "14400"
5755
active-decode-blocks-threshold: "None"
5856
active-prefill-tokens-threshold: "None"
5957
active-prefill-tokens-threshold-frac: "None"
60-
tokenizer: "fastokens"
6158
engine:
62-
type: vllm
59+
type: "vllm"
6360
connector:
6461
roles:
6562
agg:
@@ -70,6 +67,7 @@ base:
7067
TRANSFORMERS_CACHE: "/hf_hub_cache"
7168
VLLM_RPC_TIMEOUT: "600000"
7269
VLLM_LOG_STATS_INTERVAL: "1"
70+
VLLM_V2_WARMUP_MAX_NUM_SEQS: "16"
7371
TILELANG_CLEANUP_TEMP_FILES: "1"
7472
VLLM_USE_NCCL_SYMM_MEM: "0"
7573
TORCH_SYMMMEM: "NVSHMEM"
@@ -81,75 +79,98 @@ base:
8179
VLLM_USE_RUST_FRONTEND: "1"
8280
VLLM_ALLREDUCE_USE_FLASHINFER: "1"
8381
VLLM_FLASHINFER_ALLREDUCE_BACKEND: "auto"
84-
VLLM_MOONCAKE_LOAD_RECV_THREADS: "20"
8582
VLLM_PREFIX_CACHE_RETENTION_INTERVAL: "32768"
83+
VLLM_USE_BREAKABLE_CUDAGRAPH: "0"
8684
VLLM_SPARSE_INDEXER_MAX_LOGITS_MB: "1024"
8785
VLLM_EXECUTE_MODEL_TIMEOUT_SECONDS: "1800"
8886
UCX_MEMTYPE_CACHE: "n"
8987
UCX_NET_DEVICES: "@fabric.rdma-device-ports"
9088
UCX_TLS: "rc,cuda_copy"
9189
NCCL_IB_HCA: "@fabric.rdma-devices"
9290
NCCL_P2P_LEVEL: "NVL"
93-
MC_ENABLE_DEST_DEVICE_AFFINITY: "1"
94-
MC_STORE_CLIENT_METRIC: "1"
95-
MC_STORE_CLIENT_METRIC_INTERVAL: "5"
96-
MC_TE_METRIC: "0"
9791
args:
98-
served-model-name: "deepseek-ai/DeepSeek-V4-Pro"
92+
served-model-name: "deepseek-ai/DeepSeek-V4-Pro-0813"
9993
kv-cache-dtype: "fp8"
10094
pipeline-parallel-size: 1
10195
disable-custom-all-reduce: true
102-
attention-config: '{"backend":"FLASHINFER_MLA_SPARSE_DSV4","use_prefill_query_quantization":true,"use_fp4_indexer_cache":true}'
96+
attention-config: '{"backend":"FLASHINFER_MLA_SPARSE_DSV4","use_prefill_query_quantization":true,"indexer_kv_dtype":"mxfp4"}'
10397
max-model-len: 1048576
10498
max-num-batched-tokens: 8192
10599
trust-remote-code: true
106100
no-enable-flashinfer-autotune: true
107101
block-size: 256
108-
speculative-config: '{"method":"mtp","num_speculative_tokens":3}'
109-
gpu-memory-utilization: 0.94
110-
stream-interval: 10
102+
cudagraph-metrics: true
103+
compilation-config: '{"cudagraph_mode":"FULL_DECODE_ONLY","cudagraph_capture_sizes":[6,7,12,14,18,21,24,28,30,35,36,42,48,49,54,56,60,63,66,70,72,77,78,84,90,91,96,98,105,112],"mode":0}'
104+
speculative-config: '{"method":"dspark","num_speculative_tokens":6,"draft_sample_method":"probabilistic"}'
105+
gpu-memory-utilization: 0.9
106+
stream-interval: 1
111107
no-disable-hybrid-kv-cache-manager: true
112108
tokenizer-mode: "deepseek_v4"
109+
numa-bind: true
113110
sbatch_directives:
114111
mem: "0"
115112
srun_options:
116113
container-remap-root: ""
114+
cpu-bind: "none"
117115
benchmark:
118116
env:
119117
AIPERF_USE_DYNAMO_CONV_AWARE_ROUTING: "0"
118+
AIPERF_HTTP_X_DYNAMO_SESSION_ID_FROM_CORRELATION_ID: "true"
119+
AIPERF_DATASET_MMAP_CACHE_ENABLED: "false"
120120

121-
override_tp4:
122-
name: "svf-vllm-agg-gb300-tp4-mtp-agentic"
121+
override_tp8_c1:
122+
name: "svf-vllm-agg-gb300-tp8-c1-mtp-agentic"
123+
roles:
124+
agg:
125+
nodes: 2
126+
gpus: 8
127+
env:
128+
DG_JIT_CACHE_DIR: "/tmp/dg-cache-dsv4-gb300-agg-tp8-c1-mtp-{job_id}"
129+
args:
130+
tensor-parallel-size: 8
131+
max-num-seqs: 1
132+
133+
# GB300 AgentX aggregate TP4 worker on one node at concurrency 1,
134+
# DSpark K=6 (tuning run 3184212).
135+
override_tp4_c1:
136+
name: "svf-vllm-agg-gb300-tp4-c1-mtp-agentic"
123137
roles:
124138
agg:
125139
nodes: 1
126140
gpus: 4
127141
env:
128-
VLLM_V2_WARMUP_MAX_NUM_SEQS: "32"
129-
DG_JIT_CACHE_DIR: "/tmp/dg-cache-dsv4-gb300-agg-tp4-mtp-{job_id}"
142+
DG_JIT_CACHE_DIR: "/tmp/dg-cache-dsv4-gb300-agg-tp4-c1-mtp-{job_id}"
130143
args:
131144
tensor-parallel-size: 4
132-
max-num-seqs: 32
133-
compilation-config: '{"cudagraph_mode":"FULL_DECODE_ONLY","cudagraph_capture_sizes":[4,8,12,16,20,24,28,32,36,40,44,48,52,56,60,64,68,72,76,80,84,88,92,96,100,104,108,112,116,120,124,128],"mode":0}'
134-
sbatch_directives:
135-
cpus-per-task: "72"
136-
benchmark:
137-
env:
138-
# Avoid concurrent readers observing a mismatched mmap data/index pair.
139-
AIPERF_DATASET_MMAP_CACHE_ENABLED: "false"
145+
max-num-seqs: 1
140146

141-
override_tp8:
142-
name: "svf-vllm-agg-gb300-tp8-mtp-agentic"
147+
# GB300 AgentX aggregate TP4 worker on one node at concurrency 2,
148+
# DSpark K=6 (tuning run 3184214).
149+
override_tp4_c2:
150+
name: "svf-vllm-agg-gb300-tp4-c2-mtp-agentic"
143151
roles:
144152
agg:
145-
nodes: 2
146-
gpus: 8
153+
nodes: 1
154+
gpus: 4
147155
env:
148-
VLLM_V2_WARMUP_MAX_NUM_SEQS: "16"
149-
DG_JIT_CACHE_DIR: "/tmp/dg-cache-dsv4-gb300-agg-mtp-{job_id}"
156+
DG_JIT_CACHE_DIR: "/tmp/dg-cache-dsv4-gb300-agg-tp4-c2-mtp-{job_id}"
150157
args:
151-
tensor-parallel-size: 8
152-
max-num-seqs: 16
153-
compilation-config: '{"cudagraph_mode":"FULL_DECODE_ONLY","cudagraph_capture_sizes":[4,8,12,16,20,24,28,32,36,40,44,48,52,56,60,64],"mode":0}'
154-
sbatch_directives:
155-
cpus-per-task: "144"
158+
tensor-parallel-size: 4
159+
max-num-seqs: 2
160+
161+
# GB300 AgentX aggregate TP4 worker on one node at concurrency 4,
162+
# DSpark K=6 (tuning run 3184216).
163+
override_tp4_c4:
164+
name: "svf-vllm-agg-gb300-tp4-c4-mtp-agentic"
165+
frontend:
166+
env:
167+
DYN_ROUTER_QUEUE_THRESHOLD: "65536"
168+
roles:
169+
agg:
170+
nodes: 1
171+
gpus: 4
172+
env:
173+
DG_JIT_CACHE_DIR: "/tmp/dg-cache-dsv4-gb300-agg-tp4-c4-mtp-{job_id}"
174+
args:
175+
tensor-parallel-size: 4
176+
max-num-seqs: 4

0 commit comments

Comments
 (0)