Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,208 @@
# DeepSeek-V4.1-Flash AgentX on GB300 with SGLang native DSpark: knob-tuned
# curve on the official nightly-dev-cu13-20261012-e6072935 image. Stock SGLang,
# no framework patches: every change is a server flag, environment variable,
# topology or the image. Five points: TP2 C8/C32, DEP2 C160 and TP4 C1/C14,
# the configurations not already in dsv41flash-fp4-gb300-sglang-agentic-dspark
# (InferenceX #3859 carries DEP2 C64/C128 and TP4 C4/C16 unchanged). Each is
# the exact configuration measured on this image in one full
# 3600 s AgentX run (results in each variant's comment: p90 tok/s/user /
# tok/s/GPU / TTFT p90, and the published GB300 point at the same TP and
# concurrency where one exists).
#
# Knobs against the published dsv41flash-fp4-gb300-sglang-agentic-dspark
# curve: SGLANG_DSPARK_FOLDED_SAMPLING=2, 16K prefill chunks, a longer
# prefill-decode interval, tokenizer-worker-num 4, shortest-prefill-first
# scheduling at DEP2, decoder SWA bounded replay at TP2, SGLANG_NUMA_BIND_V2=0
# (Engram host-table huge pages), expert parallelism 1 at TP4, caps sized to the
# concurrency; DEP2 at C160 (data-parallel attention, MegaMoE all-to-all,
# cache-aware DP-aware sglang-router, as in InferenceX #3859).
base:
schema: 2
name: dsv41flash-fp4-gb300-sglang-agentic-tuned
resources:
gpu_type: gb300
gpus_per_node: 4
frontend:
enable_multiple_frontends: false
observability:
enabled: false
tachometer:
enabled: false
engine: sglang
roles:
agg:
nodes: 1
workers: 1
args:
served-model-name: deepseek-ai/DeepSeek-V4.1-Flash
trust-remote-code: true
speculative-algorithm: DSPARK
speculative-dspark-block-size: 5
reasoning-parser: auto
tool-call-parser: auto
watchdog-timeout: 3600
enable-metrics: true
chunked-prefill-size: 16384
env:
PYTHONNOUSERSITE: '1'
PYTHONUNBUFFERED: '1'
SGLANG_TIMEOUT_KEEP_ALIVE: '900'
SGLANG_DEFAULT_THINKING: '1'
SGLANG_DSV41_REASONING_EFFORT: high
SGLANG_DSPARK_OPT_MARKOV_W2_BF16: 'True'
Comment thread
nvpohanh marked this conversation as resolved.
Resolved
SGLANG_DSPARK_FOLDED_SAMPLING: '2'
Comment thread
nvpohanh marked this conversation as resolved.
Resolved
health_check:
max_attempts: 1440
interval_seconds: 5
benchmark:
type: custom
command: bash /infmax-workspace/benchmarks/srt_agentic.sh
env:
AIPERF_HTTP_TCP_USER_TIMEOUT: '900000'
AIPERF_REQUIRED_SERVER_METRIC_PREFIX: 'sglang:'

# c8-pdi96-numa0-i1012: 317.3 / 30,527 / 1.5 s; published 2026-10-09 227.3 / 29,970 / 1.5 s
override_tp2_c8:
frontend:
type: sglang
roles:
agg:
args:
prefill-decode-interval: 96
mem-fraction-static: 0.8
cuda-graph-max-bs-decode: 64
tensor-parallel-size: 2
expert-parallel-size: 2
swa-prefix-tails: 512
max-running-requests: 16
enable-decoder-swa-bounded-replay: true
cuda-graph-backend-prefill: disabled
env:
SGLANG_ENABLE_DSV41_ENGRAM_HOST_TABLE: '1'
SGLANG_DSV41_ENGRAM_HOST_TABLE_LAYOUT: per_rank
PYTORCH_CUDA_ALLOC_CONF: expandable_segments:True
SGLANG_NUMA_BIND_V2: '0'
gpus: 2
benchmark:
env:
CONC: '8'
AGENTIC_WARMUP_GRACE_PERIOD: '1800'

# c32-pdi48-tok4-numa0-i1012: 186.3 / 114,929 / 2.8 s; published 2026-10-09 112.5 / 94,503 / 10.3 s
override_tp2_c32:
frontend:
type: sglang
roles:
agg:
args:
prefill-decode-interval: 48
tokenizer-worker-num: 4
mem-fraction-static: 0.8
cuda-graph-max-bs-decode: 64
tensor-parallel-size: 2
expert-parallel-size: 2
swa-prefix-tails: 2048
max-running-requests: 64
enable-decoder-swa-bounded-replay: true
cuda-graph-backend-prefill: disabled
env:
SGLANG_ENABLE_DSV41_ENGRAM_HOST_TABLE: '1'
SGLANG_DSV41_ENGRAM_HOST_TABLE_LAYOUT: per_rank
PYTORCH_CUDA_ALLOC_CONF: expandable_segments:True
SGLANG_NUMA_BIND_V2: '0'
gpus: 2
benchmark:
env:
CONC: '32'
AGENTIC_WARMUP_GRACE_PERIOD: '3600'

# c160-dep2-megamoe-router-i1012: 82.4 / 301,770 / 3.9 s; no published point
override_dep2_c160:
frontend:
type: sglang-router
args:
policy: cache_aware
request-id-headers: x-correlation-id
dp-aware: true
connect-timeout-secs: 900
request-timeout-secs: 14400
disable-health-check: true
disable-retries: true
roles:
agg:
args:
prefill-decode-interval: 16
mem-fraction-static: 0.85
cuda-graph-max-bs-decode: 128
tensor-parallel-size: 2
data-parallel-size: 2
expert-parallel-size: 2
enable-dp-attention: true
enable-dp-lm-head: true
enable-dp-attention-local-control-broadcast: true
load-balance-method: total_requests
moe-a2a-backend: megamoe
schedule-policy: shortest-prefill-first
tokenizer-worker-num: 4
swa-prefix-tails: 4096
max-running-requests: 256
env:
SGLANG_ENABLE_DSV41_ENGRAM_HOST_TABLE: '1'
SGLANG_DSV41_ENGRAM_HOST_TABLE_LAYOUT: per_rank
SGLANG_RAGGED_VERIFY_MODE: static
SGLANG_NUMA_BIND_V2: '0'
PYTORCH_CUDA_ALLOC_CONF: expandable_segments:True
gpus: 2
benchmark:
env:
AIPERF_HTTP_X_SMG_ROUTING_KEY_FROM_CORRELATION_ID: 'true'
AGENTIC_WARMUP_GRACE_PERIOD: '3600'
CONC: '160'

# c1-tp4-fold2-i1012: 624.9 / 7,358 / 1.3 s; published 2026-10-09 536.0 / 6,840 / 1.8 s
override_tp4_c1:
frontend:
type: sglang
roles:
agg:
args:
prefill-decode-interval: 16
mem-fraction-static: 0.8
cuda-graph-max-bs-decode: 64
tensor-parallel-size: 4
expert-parallel-size: 1
max-running-requests: 2
env:
SGLANG_ENABLE_DSV41_ENGRAM_HOST_TABLE: '0'
SGLANG_RAGGED_VERIFY_MODE: static
gpus: 4
benchmark:
env:
CONC: '1'
AGENTIC_WARMUP_GRACE_PERIOD: '1800'

# c14-tp4-stock-i1012: 453.8 / 22,381 / 1.9 s; no published point
override_tp4_c14:
frontend:
type: sglang
roles:
agg:
args:
prefill-decode-interval: 192
tokenizer-worker-num: 4
mem-fraction-static: 0.8
cuda-graph-max-bs-decode: 128
tensor-parallel-size: 4
expert-parallel-size: 1
swa-prefix-tails: 4096
max-running-requests: 128
env:
SGLANG_ENABLE_DSV41_ENGRAM_HOST_TABLE: '1'
SGLANG_DSV41_ENGRAM_HOST_TABLE_LAYOUT: per_rank
SGLANG_RAGGED_VERIFY_MODE: static
SGLANG_NUMA_BIND_V2: '0'
gpus: 4
benchmark:
env:
CONC: '14'
AGENTIC_WARMUP_GRACE_PERIOD: '1800'
16 changes: 16 additions & 0 deletions inferencex-e2e/configs/nvidia-master.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9141,6 +9141,22 @@ dsv41flash-fp4-gb300-sglang-agentic-dspark:
- { tp: 2, ep: 2, kv-offloading: none, spec-decoding: mtp, conc-list: [16, 32], srt-recipe: agentic.yaml }
- { tp: 2, ep: 2, dp-attn: true, kv-offloading: none, spec-decoding: mtp, conc-list: [64, 128], router: { name: sglang-router, version: "0.3.2" }, srt-recipe: agentic.yaml }
- { tp: 4, ep: 1, kv-offloading: none, spec-decoding: mtp, conc-list: [1, 4, 16], srt-recipe: agentic.yaml }
dsv41flash-fp4-gb300-sglang-agentic-dspark-tuned:
image: lmsysorg/sglang:nightly-dev-cu13-20261012-e6072935@sha256:b5c488694d74c13587af6057b90220498c4869571c8e1e3c43dd6f43ae721306
model: deepseek-ai/DeepSeek-V4.1-Flash
model-prefix: dsv41flash
runner: cluster:gb300-nv
precision: fp4
framework: sglang
multinode: false
srt-recipe-dir: dsv41flash/sglang/gb300-fp4-mtp
scenarios:
agentic-coding:
- dram-utilization: 0.80
search-space:
- { tp: 2, ep: 2, kv-offloading: none, spec-decoding: mtp, conc-list: [8, 32], srt-recipe: agentic-tuned.yaml }
- { tp: 2, ep: 2, dp-attn: true, kv-offloading: none, spec-decoding: mtp, conc-list: [160], router: { name: sglang-router, version: "0.3.2" }, srt-recipe: agentic-tuned.yaml }
- { tp: 4, ep: 1, kv-offloading: none, spec-decoding: mtp, conc-list: [1, 14], srt-recipe: agentic-tuned.yaml }
dsv41flash-fp4-gb300-dynamo-sglang-agentic-agg:
image: lmsysorg/sglang:nightly-dev-20260928-81f27fb3@sha256:d9e4917808cfaa4b3be033a0c85a3a73d71eb93c17accbfa2ac3e96f551f3a33
model: deepseek-ai/DeepSeek-V4.1-Flash
Expand Down
10 changes: 10 additions & 0 deletions inferencex-e2e/perf-changelog.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9738,3 +9738,13 @@
- "Enable INT4 QuickReduce with a 256 MiB size limit and FlyDSL stage-2 FP8 on prefill and decode workers."
- "Configure MoRIIO READ and prefill-only SimpleCPUOffloadConnector through native role arguments. Use recipe-scoped draft checkpoint and RDMA device/provider mounts. Use the upstream discovery-template fix from srt-slurm #508 through the shared v2.51.1 dependency."
pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/3582

- config-keys:
- dsv41flash-fp4-gb300-sglang-agentic-dspark-tuned
scenario-type:
- agentic-coding
description:
- "Add a knob-tuned sibling of the GB300 DeepSeek-V4.1-Flash SGLang AgentX curve on the official lmsysorg/sglang:nightly-dev-cu13-20261012-e6072935 (digest pinned, the same image as InferenceX #3859), stock SGLang without framework patches: five points measured on that image that InferenceX #3859 does not already carry, TP2/EP2 at C8 and C32, DEP2 (TP2/DP2/EP2 with DP attention) at C160, and TP4/EP1 at C1 and C14; one variant per point in agentic-tuned.yaml, each the exact configuration measured in a full 3600 s run. DEP2 C64/C128 and TP4 C4/C16 were dropped because #3859 ships the same configurations in dsv41flash-fp4-gb300-sglang-agentic-dspark."
- "Every point: SGLANG_DSPARK_FOLDED_SAMPLING=2 and 16K prefill chunks. TP2/EP2 C8 and C32: decoder SWA bounded replay (prefill graph backend disabled), expandable allocator segments, SGLANG_NUMA_BIND_V2=0 and a prefill-decode interval of 96 at C8 and 48 at C32; tokenizer-worker-num 4 at C32. DEP2 C160, as in InferenceX #3859: DP attention with DP LM head and local control broadcast, MegaMoE all-to-all, total_requests load balancing, shortest-prefill-first, tokenizer-worker-num 4, interval 16 and request cap 256, behind sglang-router (cache_aware, dp-aware, routing key from the AIPerf correlation id). TP4 C14: EP1, interval 192, tokenizer-worker-num 4, caps 128, static ragged verify and SGLANG_NUMA_BIND_V2=0; TP4 C1: the published recipe with folded sampling and 16K chunks and a 16-step prefill-decode interval."
- "Canonical DSpark block 5 and golden acceptance 3.51 are unchanged. GSM8K passed on folded sampling (TP2 0.975, TP4 0.973), on bounded replay (0.977), on the DEP2 router config on this image (0.9742) and on stock TP4 on this image (0.9735)."
pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/3929
Loading