Skip to content

Commit b9cb358

Browse files
[NVIDIA][AgentX] Refresh B300 DeepSeek-V4.1-Flash SGLang aggregate curve / [NVIDIA][AgentX] 更新 B300 DeepSeek-V4.1-Flash SGLang 聚合曲线 (#3744)
* feat(agentx): refresh B300 DSV4.1 Flash SGLang curve 更新 B300 DeepSeek-V4.1-Flash SGLang AgentX 镜像、聚合式九点配置及配套文档。 * chore(changelog): link B300 SGLang refresh PR 将 B300 DeepSeek-V4.1-Flash SGLang 更新条目链接至 upstream PR。 * config(agentx): use default DeepSeek V4 indexer path on B300 Remove the explicit FP4 indexer option from the B300 DeepSeek-V4.1-Flash SGLang recipe and align the performance changelog with the final configuration. --------- Co-authored-by: functionstackx <47992694+functionstackx@users.noreply.github.com>
1 parent 33ce22a commit b9cb358

3 files changed

Lines changed: 86 additions & 155 deletions

File tree

Lines changed: 71 additions & 149 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,19 @@
1-
# DeepSeek-V4.1-Flash AgentX on B300 with SGLang native DSpark. The KV cache
2-
# is GPU-resident.
31
base:
42
schema: 2
53
name: dsv41flash-fp4-b300-sglang-agentic
64
model:
75
path: hf:deepseek-ai/DeepSeek-V4.1-Flash
8-
container: lmsysorg/sglang:nightly-dev-cu13-20260922-582389ce@sha256:35ea4d321b0735051dcce2599fc495853ad1ef30f6a1908f0a75e74204362d14
6+
container: lmsysorg/sglang:nightly-dev-cu13-20261004-295a53c9@sha256:7cfd4dd8e0e902d2a3c0560565963c4e172091e1586aaed15ff5a0a131394d34
97
precision: fp4
8+
identity:
9+
model:
10+
repo: deepseek-ai/DeepSeek-V4.1-Flash
11+
revision: dba1be0a40aa45a94ad051997016db3960a90277
12+
container:
13+
image: lmsysorg/sglang:nightly-dev-cu13-20261004-295a53c9@sha256:7cfd4dd8e0e902d2a3c0560565963c4e172091e1586aaed15ff5a0a131394d34
14+
frameworks:
15+
sglang: 0.0.0.dev1+g295a53c90
16+
sglang-router: 0.3.2
1017
resources:
1118
gpu_type: b300
1219
gpus_per_node: 8
@@ -27,13 +34,13 @@ base:
2734
trust-remote-code: true
2835
# Overlap checkpoint reads with weight loading from local NVMe.
2936
weight-loader-prefetch-checkpoints: true
30-
chunked-prefill-size: 4096
37+
chunked-prefill-size: 16384
3138
# Keep active decode requests progressing while long prefixes are queued.
3239
prefill-decode-interval: 16
3340
# DSpark is the checkpoint's bundled draft; the block size is its only knob.
3441
speculative-algorithm: DSPARK
3542
speculative-dspark-block-size: 5
36-
# Admission never exceeds the captured decode graph batch.
43+
# Capture decode graphs up to batch 64.
3744
cuda-graph-max-bs-decode: 64
3845
reasoning-parser: auto
3946
tool-call-parser: auto
@@ -60,17 +67,15 @@ base:
6067
AIPERF_HTTP_TCP_USER_TIMEOUT: '900000'
6168
AIPERF_REQUIRED_SERVER_METRIC_PREFIX: 'sglang:'
6269

63-
# One variant per point. Admission is 2x CONC, capped at the graph batch. SWA
64-
# prefix tails are 64x CONC within [128, 4096]. TP2 raises the static fraction
65-
# (0.80 from c16, 0.85 from c32) and interleaves decode more often from c32.
66-
# Saturation points get a longer warmup drain.
70+
# TP arms admit up to 2x CONC, capped at 64; DP4 C192 admits 384 globally.
71+
# SWA prefix tails are 64x per-rank CONC, with a minimum of 128.
6772
override_tp4_c1:
6873
roles:
6974
agg:
7075
gpus: 4
7176
args:
7277
tensor-parallel-size: 4
73-
expert-parallel-size: 4
78+
expert-parallel-size: 1
7479
mem-fraction-static: 0.7
7580
swa-prefix-tails: 128
7681
max-running-requests: 2
@@ -79,118 +84,29 @@ override_tp4_c1:
7984
CONC: '1'
8085
AGENTIC_WARMUP_GRACE_PERIOD: '1800'
8186

82-
override_tp4_c2:
83-
roles:
84-
agg:
85-
gpus: 4
86-
args:
87-
tensor-parallel-size: 4
88-
expert-parallel-size: 4
89-
mem-fraction-static: 0.7
90-
swa-prefix-tails: 128
91-
max-running-requests: 4
92-
benchmark:
93-
env:
94-
CONC: '2'
95-
AGENTIC_WARMUP_GRACE_PERIOD: '1800'
96-
9787
override_tp4_c4:
9888
roles:
9989
agg:
10090
gpus: 4
10191
args:
10292
tensor-parallel-size: 4
103-
expert-parallel-size: 4
93+
expert-parallel-size: 1
10494
mem-fraction-static: 0.7
10595
swa-prefix-tails: 256
10696
max-running-requests: 8
97+
prefill-decode-interval: 192
10798
benchmark:
10899
env:
109100
CONC: '4'
110101
AGENTIC_WARMUP_GRACE_PERIOD: '1800'
111102

112-
override_tp4_c8:
113-
roles:
114-
agg:
115-
gpus: 4
116-
args:
117-
tensor-parallel-size: 4
118-
expert-parallel-size: 4
119-
mem-fraction-static: 0.7
120-
swa-prefix-tails: 512
121-
max-running-requests: 16
122-
benchmark:
123-
env:
124-
CONC: '8'
125-
AGENTIC_WARMUP_GRACE_PERIOD: '1800'
126-
127-
override_tp4_c16:
128-
roles:
129-
agg:
130-
gpus: 4
131-
args:
132-
tensor-parallel-size: 4
133-
expert-parallel-size: 4
134-
mem-fraction-static: 0.7
135-
swa-prefix-tails: 1024
136-
max-running-requests: 32
137-
benchmark:
138-
env:
139-
CONC: '16'
140-
AGENTIC_WARMUP_GRACE_PERIOD: '1800'
141-
142-
override_tp4_c32:
143-
roles:
144-
agg:
145-
gpus: 4
146-
args:
147-
tensor-parallel-size: 4
148-
expert-parallel-size: 4
149-
mem-fraction-static: 0.7
150-
swa-prefix-tails: 2048
151-
max-running-requests: 64
152-
benchmark:
153-
env:
154-
CONC: '32'
155-
AGENTIC_WARMUP_GRACE_PERIOD: '3600'
156-
157-
override_tp4_c64:
158-
roles:
159-
agg:
160-
gpus: 4
161-
args:
162-
tensor-parallel-size: 4
163-
expert-parallel-size: 4
164-
mem-fraction-static: 0.7
165-
swa-prefix-tails: 4096
166-
max-running-requests: 64
167-
benchmark:
168-
env:
169-
CONC: '64'
170-
AGENTIC_WARMUP_GRACE_PERIOD: '3600'
171-
172-
override_tp4_c128:
173-
roles:
174-
agg:
175-
gpus: 4
176-
args:
177-
tensor-parallel-size: 4
178-
expert-parallel-size: 4
179-
mem-fraction-static: 0.7
180-
swa-prefix-tails: 4096
181-
max-running-requests: 64
182-
benchmark:
183-
env:
184-
CONC: '128'
185-
AGENTIC_WARMUP_GRACE_PERIOD: '3600'
186-
187103
override_tp2_c1:
188104
roles:
189105
agg:
190106
gpus: 2
191107
args:
192108
tensor-parallel-size: 2
193-
expert-parallel-size: 2
109+
expert-parallel-size: 1
194110
mem-fraction-static: 0.7
195111
swa-prefix-tails: 128
196112
max-running-requests: 2
@@ -199,110 +115,116 @@ override_tp2_c1:
199115
CONC: '1'
200116
AGENTIC_WARMUP_GRACE_PERIOD: '1800'
201117

202-
override_tp2_c2:
203-
roles:
204-
agg:
205-
gpus: 2
206-
args:
207-
tensor-parallel-size: 2
208-
expert-parallel-size: 2
209-
mem-fraction-static: 0.7
210-
swa-prefix-tails: 128
211-
max-running-requests: 4
212-
benchmark:
213-
env:
214-
CONC: '2'
215-
AGENTIC_WARMUP_GRACE_PERIOD: '1800'
216-
217118
override_tp2_c4:
218119
roles:
219120
agg:
220121
gpus: 2
221122
args:
222123
tensor-parallel-size: 2
223-
expert-parallel-size: 2
124+
expert-parallel-size: 1
224125
mem-fraction-static: 0.7
225126
swa-prefix-tails: 256
226127
max-running-requests: 8
128+
prefill-decode-interval: 96
227129
benchmark:
228130
env:
229131
CONC: '4'
230132
AGENTIC_WARMUP_GRACE_PERIOD: '1800'
231133

232-
override_tp2_c8:
134+
override_tp2_c16:
233135
roles:
234136
agg:
235137
gpus: 2
236138
args:
237139
tensor-parallel-size: 2
238-
expert-parallel-size: 2
239-
mem-fraction-static: 0.7
240-
swa-prefix-tails: 512
241-
max-running-requests: 16
140+
expert-parallel-size: 1
141+
mem-fraction-static: 0.8
142+
swa-prefix-tails: 1024
143+
max-running-requests: 32
144+
prefill-decode-interval: 192
242145
benchmark:
243146
env:
244-
CONC: '8'
147+
CONC: '16'
245148
AGENTIC_WARMUP_GRACE_PERIOD: '1800'
246149

247-
override_tp2_c16:
150+
override_tp2_c24:
248151
roles:
249152
agg:
250153
gpus: 2
251154
args:
252155
tensor-parallel-size: 2
253-
expert-parallel-size: 2
156+
expert-parallel-size: 1
254157
mem-fraction-static: 0.8
255-
swa-prefix-tails: 1024
256-
max-running-requests: 32
158+
swa-prefix-tails: 1536
159+
max-running-requests: 48
160+
prefill-decode-interval: 96
257161
benchmark:
258162
env:
259-
CONC: '16'
260-
AGENTIC_WARMUP_GRACE_PERIOD: '1800'
163+
CONC: '24'
164+
AGENTIC_WARMUP_GRACE_PERIOD: '3600'
261165

262166
override_tp2_c32:
263167
roles:
264168
agg:
265169
gpus: 2
266170
args:
267171
tensor-parallel-size: 2
268-
expert-parallel-size: 2
172+
expert-parallel-size: 1
269173
mem-fraction-static: 0.85
270174
swa-prefix-tails: 2048
271175
max-running-requests: 64
272-
prefill-decode-interval: 4
176+
prefill-decode-interval: 64
273177
benchmark:
274178
env:
275179
CONC: '32'
276180
AGENTIC_WARMUP_GRACE_PERIOD: '3600'
277181

278-
override_tp2_c64:
182+
override_tp2_c48:
279183
roles:
280184
agg:
281185
gpus: 2
282186
args:
283187
tensor-parallel-size: 2
284-
expert-parallel-size: 2
285-
mem-fraction-static: 0.85
286-
swa-prefix-tails: 4096
188+
expert-parallel-size: 1
189+
mem-fraction-static: 0.8
190+
swa-prefix-tails: 3072
287191
max-running-requests: 64
288-
prefill-decode-interval: 4
192+
prefill-decode-interval: 64
289193
benchmark:
290194
env:
291-
CONC: '64'
195+
CONC: '48'
292196
AGENTIC_WARMUP_GRACE_PERIOD: '3600'
293197

294-
override_tp2_c128:
198+
override_dp4_c192:
199+
frontend:
200+
type: sglang-router
201+
enable_multiple_frontends: false
202+
args:
203+
policy: cache_aware
204+
request-id-headers: x-correlation-id
205+
dp-aware: true
206+
connect-timeout-secs: 900
207+
request-timeout-secs: 14400
208+
disable-health-check: true
209+
disable-retries: true
295210
roles:
296211
agg:
297-
gpus: 2
212+
gpus: 4
298213
args:
299-
tensor-parallel-size: 2
300-
expert-parallel-size: 2
301-
mem-fraction-static: 0.85
302-
swa-prefix-tails: 4096
303-
max-running-requests: 64
304-
prefill-decode-interval: 4
305-
benchmark:
306-
env:
307-
CONC: '128'
214+
tensor-parallel-size: 4
215+
expert-parallel-size: 4
216+
data-parallel-size: 4
217+
enable-dp-attention: true
218+
enable-dp-lm-head: true
219+
enable-dp-attention-local-control-broadcast: true
220+
load-balance-method: total_requests
221+
tokenizer-worker-num: 8
222+
chunked-prefill-size: 32768
223+
mem-fraction-static: 0.76
224+
swa-prefix-tails: 3072
225+
max-running-requests: 384
226+
benchmark:
227+
env:
228+
CONC: '192'
308229
AGENTIC_WARMUP_GRACE_PERIOD: '3600'
230+
AIPERF_HTTP_X_SMG_ROUTING_KEY_FROM_CORRELATION_ID: 'true'

‎inferencex-e2e/configs/nvidia-master.yaml‎

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9207,11 +9207,9 @@ qwen3.5-fp8-b300-dynamo-sglang-agentic-disagg:
92079207
ep: 2
92089208
dp-attn: false
92099209

9210-
# Official 2026-09-21 CUDA 13 nightly, amd64 manifest pinned for B300.
9211-
# Latest multiarch index: sha256:987c7e4bd26918647211a5dcad72a2bdf2a5f394ac1469eff730e7517fc139be.
9212-
# Uses the cookbook's automatic backends and the existing B200 AgentX memory bounds.
9210+
# Official 2026-10-04 CUDA 13 nightly, multiarch manifest pinned for B300.
92139211
dsv41flash-fp4-b300-sglang-agentic-dspark:
9214-
image: lmsysorg/sglang:nightly-dev-cu13-20260922-582389ce@sha256:35ea4d321b0735051dcce2599fc495853ad1ef30f6a1908f0a75e74204362d14
9212+
image: lmsysorg/sglang:nightly-dev-cu13-20261004-295a53c9@sha256:7cfd4dd8e0e902d2a3c0560565963c4e172091e1586aaed15ff5a0a131394d34
92159213
model: deepseek-ai/DeepSeek-V4.1-Flash
92169214
model-prefix: dsv41flash
92179215
runner: cluster:b300-dsxe
@@ -9222,8 +9220,9 @@ dsv41flash-fp4-b300-sglang-agentic-dspark:
92229220
agentic-coding:
92239221
- dram-utilization: 0.80
92249222
search-space:
9225-
- { tp: 4, ep: 4, kv-offloading: none, spec-decoding: mtp, conc-list: [1, 2, 4, 8, 16, 32, 64, 128], srt-recipe: benchmarks/single_node/srt-slurm-recipes/dsv41flash/sglang/b300-fp4-mtp/agentic.yaml }
9226-
- { tp: 2, ep: 2, kv-offloading: none, spec-decoding: mtp, conc-list: [1, 2, 4, 8, 16, 32, 64, 128], srt-recipe: benchmarks/single_node/srt-slurm-recipes/dsv41flash/sglang/b300-fp4-mtp/agentic.yaml }
9223+
- { tp: 4, ep: 1, kv-offloading: none, spec-decoding: mtp, conc-list: [1, 4], srt-recipe: benchmarks/single_node/srt-slurm-recipes/dsv41flash/sglang/b300-fp4-mtp/agentic.yaml }
9224+
- { tp: 2, ep: 1, kv-offloading: none, spec-decoding: mtp, conc-list: [1, 4, 16, 24, 32, 48], srt-recipe: benchmarks/single_node/srt-slurm-recipes/dsv41flash/sglang/b300-fp4-mtp/agentic.yaml }
9225+
- { tp: 4, ep: 4, dp-attn: true, kv-offloading: none, spec-decoding: mtp, conc-list: [192], router: { name: sglang-router, version: "0.3.2" }, srt-recipe: benchmarks/single_node/srt-slurm-recipes/dsv41flash/sglang/b300-fp4-mtp/agentic.yaml }
92279226

92289227
# Official SGLang nightly; TP4 C1/C2 use GPU Engram, other points use host DRAM.
92299228
dsv41flash-fp4-gb300-sglang-agentic-dspark:

‎inferencex-e2e/perf-changelog.yaml‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9507,3 +9507,13 @@
95079507
- "Add Qwen3.5 FP8 GB300 AgentX PP4 prefill and DEP16 decode variants with MTP6, HiCache, and decode sequence-length splits 1."
95089508
- "Select five disaggregated configurations and three existing aggregate configurations using the SGLang nightly image and pinned Dynamo revision."
95099509
pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/3840
9510+
9511+
- config-keys:
9512+
- dsv41flash-fp4-b300-sglang-agentic-dspark
9513+
scenario-type:
9514+
- agentic-coding
9515+
description:
9516+
- "Repin DeepSeek-V4.1-Flash FP4 B300 SGLang AgentX from nightly-dev-cu13-20260922-582389ce to nightly-dev-cu13-20261004-295a53c9, pinned by multiarch digest, and publish nine points: TP4/EP1 at concurrency 1 and 4, TP2/EP1 at concurrency 1, 4, 16, 24, 32 and 48, and aggregated TP4/EP4/DP4 at concurrency 192."
9517+
- "For the TP arms, switch to EP1, use 16K prefill chunks, and set point-specific prefill-decode scheduling."
9518+
- "Add an aggregated DP4 C192 point with four internal TP4/EP4 data-parallel ranks behind sglang-router 0.3.2, using cache-aware routing and correlation-ID affinity."
9519+
pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/3744

0 commit comments

Comments
 (0)