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
@@ -1,7 +1,7 @@
name: "minimax-m3-vllm-disagg-b300-1p1d-tp1-tp4-fp4-8k1k"
model:
path: "nvidia/MiniMax-M3-NVFP4"
container: "vllm/vllm-openai:nightly-2dfaae752b4db0d43cfc0715c780e33be030d0f1"
container: "vllm/vllm-openai:nightly-4080263bb2c5d10deac17aaeb88e0823bc35bca9"
precision: "fp4"
resources:
gpu_type: "b300"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: "minimax-m3-vllm-disagg-b300-1p1d-tp1-tp8-fp4-8k1k"
model:
path: "nvidia/MiniMax-M3-NVFP4"
container: "vllm/vllm-openai:nightly-2dfaae752b4db0d43cfc0715c780e33be030d0f1"
container: "vllm/vllm-openai:nightly-4080263bb2c5d10deac17aaeb88e0823bc35bca9"
precision: "fp4"
resources:
gpu_type: "b300"
Expand All @@ -27,7 +27,6 @@ backend:
decode_environment:
VLLM_FLOAT32_MATMUL_PRECISION: high
UCX_TLS: "cuda_copy,rc"
VLLM_FLASHINFER_ALLREDUCE_BACKEND: trtllm
vllm_config:
prefill:
no-enable-flashinfer-autotune: true
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: "minimax-m3-vllm-disagg-b300-2p1d-tp1-tp4-fp4-8k1k"
model:
path: "nvidia/MiniMax-M3-NVFP4"
container: "vllm/vllm-openai:nightly-2dfaae752b4db0d43cfc0715c780e33be030d0f1"
container: "vllm/vllm-openai:nightly-4080263bb2c5d10deac17aaeb88e0823bc35bca9"
precision: "fp4"
resources:
gpu_type: "b300"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: "minimax-m3-vllm-disagg-b300-3p1d-tp1-tp4-fp4-8k1k"
model:
path: "nvidia/MiniMax-M3-NVFP4"
container: "vllm/vllm-openai:nightly-2dfaae752b4db0d43cfc0715c780e33be030d0f1"
container: "vllm/vllm-openai:nightly-4080263bb2c5d10deac17aaeb88e0823bc35bca9"
precision: "fp4"
resources:
gpu_type: "b300"
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
name: "minimax-m3-vllm-disagg-b300-4p1d-tp1-tep4-fp4-8k1k"
model:
path: "nvidia/MiniMax-M3-NVFP4"
container: "vllm/vllm-openai:nightly-4080263bb2c5d10deac17aaeb88e0823bc35bca9"
precision: "fp4"
resources:
gpu_type: "b300"
gpus_per_node: 8
prefill_nodes: 1
decode_nodes: 0
prefill_workers: 4
decode_workers: 1
gpus_per_prefill: 1
gpus_per_decode: 4
dynamo:
install: true
version: 1.3.0.dev20260713
frontend:
type: dynamo
enable_multiple_frontends: false
backend:
type: vllm
connector:
allow_prefill_decode_colocation: true
prefill_environment:
VLLM_FLOAT32_MATMUL_PRECISION: high
UCX_TLS: "cuda_copy,rc"
decode_environment:
VLLM_FLOAT32_MATMUL_PRECISION: high
UCX_TLS: "cuda_copy,rc"
vllm_config:
prefill:
no-enable-flashinfer-autotune: true
tensor-parallel-size: 1
enable-expert-parallel: false
trust-remote-code: true
no-enable-prefix-caching: true
kv-transfer-config: '{"kv_connector": "NixlConnector", "kv_role": "kv_both"}'
attention-config: '{"backend": "FLASHINFER", "use_trtllm_attention": true, "indexer_kv_dtype": "fp8"}'
kv-cache-dtype: fp8
block-size: 128
gpu-memory-utilization: 0.90
max-model-len: 9472
language-model-only: true
stream-interval: 32
enforce-eager: true
max-num-batched-tokens: 8192
decode:
no-enable-flashinfer-autotune: true
tensor-parallel-size: 4
enable-expert-parallel: true
trust-remote-code: true
no-enable-prefix-caching: true
kv-transfer-config: '{"kv_connector": "NixlConnector", "kv_role": "kv_both"}'
attention-config: '{"backend": "FLASHINFER", "use_trtllm_attention": true, "indexer_kv_dtype": "fp8"}'
kv-cache-dtype: fp8
block-size: 128
gpu-memory-utilization: 0.90
max-model-len: 9472
language-model-only: true
stream-interval: 32
max-num-seqs: 1024
max-num-batched-tokens: 16384
max-cudagraph-capture-size: 4096
health_check:
max_attempts: 360
interval_seconds: 10
benchmark:
type: "sa-bench"
isl: 8192
osl: 1024
concurrencies: "4096"
req_rate: "inf"
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: "minimax-m3-vllm-disagg-b300-5p2d-tp1-dep8-fp4-8k1k"
model:
path: "nvidia/MiniMax-M3-NVFP4"
container: "vllm/vllm-openai:nightly-2dfaae752b4db0d43cfc0715c780e33be030d0f1"
container: "vllm/vllm-openai:nightly-4080263bb2c5d10deac17aaeb88e0823bc35bca9"
precision: "fp4"
resources:
gpu_type: "b300"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: "minimax-m3-vllm-disagg-b300-8p2d-tp1-dep8-fp4-8k1k"
model:
path: "nvidia/MiniMax-M3-NVFP4"
container: "vllm/vllm-openai:nightly-2dfaae752b4db0d43cfc0715c780e33be030d0f1"
container: "vllm/vllm-openai:nightly-4080263bb2c5d10deac17aaeb88e0823bc35bca9"
precision: "fp4"
resources:
gpu_type: "b300"
Expand Down
34 changes: 33 additions & 1 deletion configs/nvidia-master.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6790,7 +6790,7 @@ minimaxm3-fp8-b300-dynamo-vllm:
# baseline above. The image includes vLLM PR #46380, so no runtime patch is
# needed.
minimaxm3-fp4-b300-dynamo-vllm-8k1k-tp1:
image: vllm/vllm-openai:nightly-2dfaae752b4db0d43cfc0715c780e33be030d0f1
image: vllm/vllm-openai:nightly-4080263bb2c5d10deac17aaeb88e0823bc35bca9
model: nvidia/MiniMax-M3-NVFP4
model-prefix: minimaxm3
runner: b300
Expand Down Expand Up @@ -6884,6 +6884,38 @@ minimaxm3-fp4-b300-dynamo-vllm-8k1k-tp1:
ep: 8
dp-attn: true

# Compare the refreshed image on a one-node max-throughput topology: four
# TP1 prefills colocated with one TEP4 decode worker.
minimaxm3-fp4-b300-dynamo-vllm-8k1k-tp1-tep4:
image: vllm/vllm-openai:nightly-4080263bb2c5d10deac17aaeb88e0823bc35bca9
model: nvidia/MiniMax-M3-NVFP4
model-prefix: minimaxm3
runner: b300
precision: fp4
framework: dynamo-vllm
router: { name: dynamo-router, version: "1.3.0.dev20260713" }
kv-p2p-transfer: nixl
multinode: true
disagg: true
scenarios:
fixed-seq-len:
- isl: 8192
osl: 1024
search-space:
- conc-list: [4096]
prefill:
num-worker: 4
tp: 1
ep: 1
dp-attn: false
additional-settings:
- "CONFIG_FILE=recipes/vllm/minimax-m3/b300-fp4/8k1k/4p1d-tp1-tep4-8k1k.yaml"
decode:
num-worker: 1
tp: 4
ep: 4
dp-attn: false

# Preserve the previously proven max-throughput point exactly, while keeping
# it separate from the legacy mixed 1k1k/8k1k entry so 1k1k is not rerun.
minimaxm3-fp4-b300-dynamo-vllm-8k1k-legacy-max-tput:
Expand Down
9 changes: 9 additions & 0 deletions perf-changelog.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5129,3 +5129,12 @@
- "Re-sweep dsv4-fp4-mi355x-atom-mtp on latest atom-dev nightly (nightly_202607231538, was atom0.1.3 release). Align ATOM official MTP config (models.json): MTP3 dp-off conc 4-256 + DPA MTP3 (dp-attn) conc 32-1024 (added c32 dp-on; tp4 tried but removed — tp4+MTP+dp-on OOMs, KV budget negative). prefill-only TBO (--enable-tbo, argparse const=prefill so enable_tbo_decode=False) on dp-attn cells at conc>=256 (measured crossover run 30257759947 vs non-TBO 30238071409: TBO -10~14% output tput at c64/c128 but +8~14% at c256+; MTP removes low-conc latency so TBO overlap there is pure overhead); MTP-safe because only decode-TBO (--enable-tbo all) drops spec_decode_metadata. max_num_seqs=conc on dp-on cells and conc>=64 to avoid OOM. bench keeps --dsv4 (InferenceX bench uses encoding_dsv4.py; DSv4-Pro has no jinja chat_template). Fixed benchmark_lib source path (../ -> ../../)."
pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/2345

- config-keys:
- minimaxm3-fp4-b300-dynamo-vllm-8k1k-tp1
- minimaxm3-fp4-b300-dynamo-vllm-8k1k-tp1-tep4
description:
- "Update the non-speculative MiniMax-M3 NVFP4 B300 8k1k disaggregated vLLM image from nightly-2dfaae752b4db0d43cfc0715c780e33be030d0f1 to nightly-4080263bb2c5d10deac17aaeb88e0823bc35bca9"
- "Remove VLLM_FLASHINFER_ALLREDUCE_BACKEND=trtllm from the 1P1D TP1-prefill/TP8-decode recipe; retain the existing FP8 indexer KV cache configuration"
- "Add a one-node 4P1D TP1-prefill/TEP4-decode concurrency-4096 point on the refreshed image while preserving the legacy 4P2D DEP2-prefill/TEP4-decode point unchanged"
pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/2310