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
# Follows the GB300 Low-Latency cell: the MSA-V1 MonoKernel serves batch-size-1
# DSpark steps; larger batches take the standard path.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 nit (optional): the new recipes add a comment saying where the config came from, which AGENTS.md's "No history" rule bans. sweep:# Follows the GB300 Low-Latency cell The comment above args: says what the recipe was copied from. The rule says derivation belongs in git and perf-changelog. Fix: drop "Follows the GB300 Low-Latency cell:" from each of the three new recipes. Keep only the technical part, for example # MSA-V1 MonoKernel serves batch-size-1 DSpark steps; larger batches take the standard path.

Why this was flagged

The three new recipe files b200-fp4-mtp/agentic-low-latency.yaml:24, b300-fp4-mtp/agentic-low-latency.yaml:24 and gb200-fp4-mtp/agentic-low-latency.yaml:24 each add # Follows the GB300 Low-Latency cell: the MSA-V1 MonoKernel serves batch-size-1. AGENTS.md "Code comments (mandatory)" covers recipes and says: "Do not write comments that describe how the code evolved, where it was derived from, what it replaced". The opening clause describes where the recipe was derived from, not why a value was chosen. Behaviour does not change. The cost is a convention breach that leaves maintainers a stale pointer once the GB300 recipe changes.

Verification: Each new recipe (b200-fp4-mtp, b300-fp4-mtp and gb200-fp4-mtp agentic-low-latency.yaml) adds the same two lines at 24-25, just above args:, starting "# Follows the GB300 Low-Latency cell". Line 65 of AGENTS.md says: "No history. Do not write comments that describe... where it was derived from". That clause is exactly what that rule bans. No runtime behavior is affected.

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
# Follows the GB300 Low-Latency cell: 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
# Follows the GB300 Low-Latency cell: 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
45 changes: 45 additions & 0 deletions inferencex-e2e/configs/nvidia-master.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5617,6 +5617,21 @@ minimaxm31flash-fp4-b200-vllm-agentic-dspark:
search-space:
- { tp: 8, ep: 8, dp-attn: true, spec-decoding: mtp, kv-offloading: dram, kv-offload-backend: { name: vllm-simple }, conc-list: [64, 96, 128], router: { name: vllm-router, version: "0.1.14" }, srt-recipe: agentic.yaml }

minimaxm31flash-fp4-b200-sglang-agentic-dspark-low-latency:
image: lmsysorg/sglang:dev-minimax-m31-flash@sha256:614b1509bcb729c653528d448bff9850f8977fcad9d12ba56bd6dbe3d7985e87
model: MiniMaxAI/MiniMax-M3.1-Flash
model-prefix: minimaxm31flash
runner: cluster:b200-nscale
precision: fp4
framework: sglang
multinode: false
srt-recipe-dir: minimaxm31flash/sglang/b200-fp4-mtp
scenarios:
agentic-coding:
- search-space:
# 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 }

# MiniMax-M3.1-Flash AgentX on B200 with SGLang: day-zero image from the SGLang
# cookbook (https://docs.sglang.io/cookbook/autoregressive/MiniMax/MiniMax-M3.1),
# manifest digest verified 2026-10-24. Serve flags follow the cookbook's
Expand Down Expand Up @@ -5749,6 +5764,21 @@ minimaxm3-fp4-gb200-dynamo-vllm-agentic-agg-mtp:
ep: 1
dp-attn: false

minimaxm31flash-fp4-gb200-sglang-agentic-dspark-low-latency:
image: lmsysorg/sglang:dev-minimax-m31-flash@sha256:614b1509bcb729c653528d448bff9850f8977fcad9d12ba56bd6dbe3d7985e87
model: MiniMaxAI/MiniMax-M3.1-Flash
model-prefix: minimaxm31flash
runner: cluster:gb200-nv
precision: fp4
framework: sglang
multinode: false
srt-recipe-dir: minimaxm31flash/sglang/gb200-fp4-mtp
scenarios:
agentic-coding:
- search-space:
# 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 }

# MiniMax-M3.1-Flash AgentX on GB200 with SGLang: day-zero image from the SGLang
# cookbook (https://docs.sglang.io/cookbook/autoregressive/MiniMax/MiniMax-M3.1),
# manifest digest verified 2026-10-24. Serve flags follow the cookbook's
Expand Down Expand Up @@ -9444,6 +9474,21 @@ dsv41flash-fp4-b300-sglang-agentic-dspark:
- { tp: 2, ep: 2, dp-attn: true, kv-offloading: dram, kv-offload-backend: { name: hicache }, spec-decoding: mtp, conc-list: [64, 256], router: { name: sglang-router, version: "0.3.2" }, srt-recipe: agentic.yaml }
- { tp: 4, ep: 4, dp-attn: true, kv-offloading: dram, kv-offload-backend: { name: hicache }, spec-decoding: mtp, conc-list: [256], router: { name: sglang-router, version: "0.3.2" }, srt-recipe: agentic.yaml }

minimaxm31flash-fp4-b300-sglang-agentic-dspark-low-latency:
image: lmsysorg/sglang:dev-minimax-m31-flash@sha256:614b1509bcb729c653528d448bff9850f8977fcad9d12ba56bd6dbe3d7985e87
model: MiniMaxAI/MiniMax-M3.1-Flash
model-prefix: minimaxm31flash
runner: cluster:b300-dsxe
precision: fp4
framework: sglang
multinode: false
srt-recipe-dir: minimaxm31flash/sglang/b300-fp4-mtp
scenarios:
agentic-coding:
- search-space:
# 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 }

# MiniMax-M3.1-Flash AgentX on B300 with SGLang: day-zero image from the SGLang
# cookbook (https://docs.sglang.io/cookbook/autoregressive/MiniMax/MiniMax-M3.1),
# manifest digest verified 2026-10-24. Serve flags follow the cookbook's
Expand Down
9 changes: 9 additions & 0 deletions inferencex-e2e/perf-changelog.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11191,3 +11191,12 @@
- "Balanced TP4 at conc 64 with L2 HiCache (write_back, hicache-size 180 GB per rank), and the scheduler and decode graph batch at 128."
pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/4499
scenario-type: [agentic-coding]

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