Skip to content
Merged
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
base:
schema: 2
name: minimaxm31flash-fp4-b200-sglang-agentic-low-latency
resources:
gpu_type: b200
gpus_per_node: 8
frontend:
type: sglang
enable_multiple_frontends: false
observability:
enabled: false
tachometer:
enabled: false
engine: sglang
# Cold loads of the 250 GB checkpoint plus JIT MSA kernel builds and graph capture outlast the default.
health_check:
max_attempts: 1440
interval_seconds: 5
roles:
agg:
nodes: 1
workers: 1
gpus: 4
# The MSA-V1 MonoKernel serves batch-size-1 DSpark steps; larger batches take
# the standard path.
args:
served-model-name: MiniMaxAI/MiniMax-M3.1-Flash
trust-remote-code: true
reasoning-parser: minimax-m3
tool-call-parser: minimax-m3
tensor-parallel-size: 4
moe-runner-backend: flashinfer_trtllm_routed
page-size: 128
speculative-algorithm: DSPARK
speculative-use-block-verification: true
speculative-num-steps: 1
speculative-eagle-topk: 1
speculative-num-draft-tokens: 8
speculative-dspark-block-size: 7
monokernel-backend: msa
disable-attn-tp-gather: true
max-running-requests: 8
mem-fraction-static: 0.8
watchdog-timeout: 3600
enable-metrics: true
env:
PYTHONNOUSERSITE: '1'
PYTHONUNBUFFERED: '1'
SGLANG_TIMEOUT_KEEP_ALIVE: '1800'
FMHA_SM100_ALLOW_JIT: '1'
ALLOW_JIT: '1'
# Canonical MegaAttention placement; it needs the GPUs to itself.
SGLANG_FORCE_COARSE_WAR_BARRIER: '1'
benchmark:
env:
# Warmup can leave bytes unacknowledged past AIPerf's 30 s default.
AIPERF_HTTP_TCP_USER_TIMEOUT: '900000'
AIPERF_REQUIRED_SERVER_METRIC_PREFIX: 'sglang:'

override_tp4_c1:
benchmark:
env:
CONC: '1'
KV_OFFLOADING: none
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
base:
schema: 2
name: minimaxm31flash-fp4-b300-sglang-agentic-low-latency
resources:
gpu_type: b300
gpus_per_node: 8
frontend:
type: sglang
enable_multiple_frontends: false
observability:
enabled: false
tachometer:
enabled: false
engine: sglang
# Cold loads of the 250 GB checkpoint plus JIT MSA kernel builds and graph capture outlast the default.
health_check:
max_attempts: 1440
interval_seconds: 5
roles:
agg:
nodes: 1
workers: 1
gpus: 4
# The MSA-V1 MonoKernel serves batch-size-1 DSpark steps; larger batches take
# the standard path.
args:
served-model-name: MiniMaxAI/MiniMax-M3.1-Flash
trust-remote-code: true
reasoning-parser: minimax-m3
tool-call-parser: minimax-m3
tensor-parallel-size: 4
moe-runner-backend: flashinfer_trtllm_routed
page-size: 128
speculative-algorithm: DSPARK
speculative-use-block-verification: true
speculative-num-steps: 1
speculative-eagle-topk: 1
speculative-num-draft-tokens: 8
speculative-dspark-block-size: 7
monokernel-backend: msa
disable-attn-tp-gather: true
max-running-requests: 8
mem-fraction-static: 0.8
watchdog-timeout: 3600
enable-metrics: true
env:
PYTHONNOUSERSITE: '1'
PYTHONUNBUFFERED: '1'
SGLANG_TIMEOUT_KEEP_ALIVE: '1800'
FMHA_SM100_ALLOW_JIT: '1'
ALLOW_JIT: '1'
# Canonical MegaAttention placement; it needs the GPUs to itself.
SGLANG_FORCE_COARSE_WAR_BARRIER: '1'
benchmark:
env:
# Warmup can leave bytes unacknowledged past AIPerf's 30 s default.
AIPERF_HTTP_TCP_USER_TIMEOUT: '900000'
AIPERF_REQUIRED_SERVER_METRIC_PREFIX: 'sglang:'

override_tp4_c1:
benchmark:
env:
CONC: '1'
KV_OFFLOADING: none
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
base:
schema: 2
name: minimaxm31flash-fp4-gb200-sglang-agentic-low-latency
resources:
gpu_type: gb200
gpus_per_node: 4
frontend:
type: sglang
enable_multiple_frontends: false
observability:
enabled: false
tachometer:
enabled: false
engine: sglang
# Cold loads of the 250 GB checkpoint plus JIT MSA kernel builds and graph capture outlast the default.
health_check:
max_attempts: 1440
interval_seconds: 5
roles:
agg:
nodes: 1
workers: 1
gpus: 4
# The MSA-V1 MonoKernel serves batch-size-1 DSpark steps; larger batches take
# the standard path.
args:
served-model-name: MiniMaxAI/MiniMax-M3.1-Flash
trust-remote-code: true
reasoning-parser: minimax-m3
tool-call-parser: minimax-m3
tensor-parallel-size: 4
moe-runner-backend: flashinfer_trtllm_routed
page-size: 128
speculative-algorithm: DSPARK
speculative-use-block-verification: true
speculative-num-steps: 1
speculative-eagle-topk: 1
speculative-num-draft-tokens: 8
speculative-dspark-block-size: 7
monokernel-backend: msa
disable-attn-tp-gather: true
max-running-requests: 8
mem-fraction-static: 0.8
watchdog-timeout: 3600
enable-metrics: true
env:
PYTHONNOUSERSITE: '1'
PYTHONUNBUFFERED: '1'
SGLANG_TIMEOUT_KEEP_ALIVE: '1800'
FMHA_SM100_ALLOW_JIT: '1'
ALLOW_JIT: '1'
# Canonical MegaAttention placement; it needs the GPUs to itself.
SGLANG_FORCE_COARSE_WAR_BARRIER: '1'
benchmark:
env:
# Warmup can leave bytes unacknowledged past AIPerf's 30 s default.
AIPERF_HTTP_TCP_USER_TIMEOUT: '900000'
AIPERF_REQUIRED_SERVER_METRIC_PREFIX: 'sglang:'

override_tp4_c1:
benchmark:
env:
CONC: '1'
KV_OFFLOADING: none
6 changes: 6 additions & 0 deletions inferencex-e2e/configs/nvidia-master.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5633,6 +5633,8 @@ minimaxm31flash-fp4-b200-sglang-agentic-dspark:
- search-space:
# Balanced: TP4.
- { tp: 4, spec-decoding: mtp, kv-offloading: none, conc-list: [1, 4, 8, 16, 32], srt-recipe: agentic.yaml }
# Low-Latency: MSA-V1 MonoKernel at batch size 1.
- { tp: 4, spec-decoding: mtp, kv-offloading: none, conc-list: [1], srt-recipe: agentic-low-latency.yaml }
- dram-utilization: 0.80
search-space:
- { tp: 4, spec-decoding: mtp, kv-offloading: dram, kv-offload-backend: { name: hicache }, conc-list: [32, 40, 48, 56, 64], srt-recipe: agentic.yaml }
Expand Down Expand Up @@ -5825,6 +5827,8 @@ minimaxm31flash-fp4-gb200-sglang-agentic-dspark:
- search-space:
# Balanced: TP4.
- { tp: 4, spec-decoding: mtp, kv-offloading: none, conc-list: [1, 4, 8, 16, 32], srt-recipe: agentic.yaml }
# Low-Latency: MSA-V1 MonoKernel at batch size 1.
- { tp: 4, spec-decoding: mtp, kv-offloading: none, conc-list: [1], srt-recipe: agentic-low-latency.yaml }
- dram-utilization: 0.80
search-space:
- { tp: 4, spec-decoding: mtp, kv-offloading: dram, kv-offload-backend: { name: hicache }, conc-list: [32, 40, 48, 56, 64], srt-recipe: agentic.yaml }
Expand Down Expand Up @@ -9681,6 +9685,8 @@ minimaxm31flash-fp4-b300-sglang-agentic-dspark:
- search-space:
# Balanced: TP4.
- { tp: 4, spec-decoding: mtp, kv-offloading: none, conc-list: [1, 4, 8, 16, 32], srt-recipe: agentic.yaml }
# Low-Latency: MSA-V1 MonoKernel at batch size 1.
- { tp: 4, spec-decoding: mtp, kv-offloading: none, conc-list: [1], srt-recipe: agentic-low-latency.yaml }
- dram-utilization: 0.80
search-space:
- { tp: 4, spec-decoding: mtp, kv-offloading: dram, kv-offload-backend: { name: hicache }, conc-list: [32, 64, 80, 96], srt-recipe: agentic.yaml }
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 @@ -11489,3 +11489,13 @@
- "Update the MI355X DeepSeek-V4-Pro-0813 SGLang MoRI disaggregated AgentX serving image from lmsysorg/sglang-rocm:v0.5.22-rocm720-mi35x-20261019 to lmsysorg/sglang-rocm:v0.5.22-rocm10-mi35x-20261026, the latest published MI35x ROCm 10 nightly (digest sha256:edabad83728ab04e3eae39f315eb16261eeb64dbdb051112bd22fc88560b60c4)."
- "Preserve all eight concurrency points (1, 16, 32, 48, 192, 256, 384, 512), prefill/decode topology, DSpark settings, UMBP offload, MoRI transfer, and benchmark client image. The workload binder supplies the serving image to every selected recipe variant."
pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/4571

- config-keys:
- minimaxm31flash-fp4-b200-sglang-agentic-dspark
- minimaxm31flash-fp4-gb200-sglang-agentic-dspark
- minimaxm31flash-fp4-b300-sglang-agentic-dspark
description:
- "Add a Low-Latency TP4 point at conc 1 with the MSA-V1 MonoKernel to the existing curve, following the GB300 recipe."
pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/4509
scenario-type: [agentic-coding]
append-only: true
Loading