Skip to content
Merged
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,68 @@
base:
schema: 2
name: musespark-fp4-b300-sglang-agentic
resources:
gpu_type: b300
gpus_per_node: 8
slurm:
time_limit: '4:00:00'
frontend:
type: sglang
enable_multiple_frontends: false
observability:
enabled: false
tachometer:
enabled: false
engine: sglang
roles:
agg:
nodes: 1
workers: 1
gpus: 4
args:
served-model-name: meta-models/Muse-Spark-Open-816B-A42B-NVFP4
trust-remote-code: true
tensor-parallel-size: 4
expert-parallel-size: 4
quantization: modelopt_fp4
moe-runner-backend: flashinfer_trtllm
kv-cache-dtype: fp8_e4m3
mem-fraction-static: 0.8
enable-layernorm-sp: true
enable-megamoe-for-layernorm-sp: true
# DFlash2 verifies 8 tokens per step: the current token plus 7 drafts.
speculative-algorithm: DFLASH
speculative-draft-model-path: RadixArk/Muse-Spark-Open-DFlash2
speculative-draft-attention-backend: fa4
speculative-num-draft-tokens: 8
mm-feature-transport: cpu
reasoning-parser: muse
tool-call-parser: muse
watchdog-timeout: 3600
enable-metrics: true
env:
PYTHONNOUSERSITE: '1'
PYTHONUNBUFFERED: '1'
# Outlast AIPerf's pooled connections past Uvicorn's keep-alive.
SGLANG_TIMEOUT_KEEP_ALIVE: '900'
# Cold 533 GB weight loads from shared storage plus graph capture outlast the default.
health_check:
max_attempts: 1440
interval_seconds: 5
benchmark:
env:
# The gated Hub repo is unreadable with the job token; tokenize from the staged checkpoint.
TOKENIZER: /model
# Warmup can leave bytes unacknowledged past AIPerf's 30 s default.
AIPERF_HTTP_TCP_USER_TIMEOUT: '900000'
AIPERF_REQUIRED_SERVER_METRIC_PREFIX: 'sglang:'

zip_override_tp4:
roles:
agg:
args:
max-running-requests: [2, 4, 8, 16, 32, 48, 64, 96, 128, 256]
cuda-graph-max-bs-decode: [2, 4, 8, 16, 32, 48, 64, 96, 128, 256]
benchmark:
env:
CONC: ['1', '2', '4', '8', '16', '24', '32', '48', '64', '128']
14 changes: 14 additions & 0 deletions inferencex-e2e/configs/nvidia-master.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9690,3 +9690,17 @@ dsv4-fp4-gb200-dynamo-vllm-agentic-dspark-disagg:
tp: 16
ep: 16
dp-attn: true

musespark-fp4-b300-sglang-agentic-dflash:
image: lmsysorg/sglang:dev-muse-spark-open@sha256:8cfc5a72cb296771f5f8a4a4688cb6d05685610a830cbb616fa4ab0eb7bb2b0a
model: meta-models/Muse-Spark-Open-816B-A42B-NVFP4
model-prefix: musespark
runner: cluster:b300-dsxe
precision: fp4
framework: sglang
multinode: false
srt-recipe-dir: musespark/sglang/b300-fp4-mtp
scenarios:
agentic-coding:
- search-space:
- { tp: 4, ep: 4, kv-offloading: none, spec-decoding: draft_model, conc-list: [1, 2, 4, 8, 16, 24, 32, 48, 64, 128], srt-recipe: agentic.yaml }
1 change: 1 addition & 0 deletions inferencex-e2e/configs/runners.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -525,6 +525,7 @@ clusters:
MiniMax-M3: {root: scratch, dir: MiniMax-M3}
MiniMax-M3-MXFP8: {root: scratch, dir: MiniMax-M3-MXFP8}
MiniMax-M3-NVFP4: {root: scratch, dir: MiniMax-M3-NVFP4}
Muse-Spark-Open-816B-A42B-NVFP4: {root: data-models, dir: Muse-Spark-Open-816B-A42B-NVFP4}
Qwen3.5-397B-A17B-FP8: {root: scratch, dir: Qwen3.5-397B-A17B-FP8}
Qwen3.5-397B-A17B-NVFP4: {root: scratch, dir: Qwen3.5-397B-A17B-NVFP4}
Qwen3.5-397B-A17B-NVFP4-V2: {root: scratch, dir: Qwen3.5-397B-A17B-NVFP4-V2}
Expand Down
6 changes: 6 additions & 0 deletions inferencex-e2e/perf-changelog.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9913,3 +9913,9 @@
- "Synthetic acceptance follows the committed musespark_dflash golden curve: AL 4.05 at 7 draft tokens, thinking_on."
- "The checkpoint is served from the staged Lustre copy; the AgentX client reads its tokenizer from it."
pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/4140

- config-keys: [musespark-fp4-b300-sglang-agentic-dflash]
description:
- "Add Muse Spark Open NVFP4 SGLang DFlash2 AgentX on B300 at TP4/EP4 with GPU-resident KV and concurrency 1 to 128."
- "Use the committed golden curve for DFlash acceptance and the staged checkpoint for serving and tokenization."
pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/4146
Loading