Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
90121f6
feat: add MiniMax M3 NVFP4 B200 Dynamo vLLM disaggregated EAGLE3 recipes
xinli-sw Jul 30, 2026
3bcb1e8
chore: fill perf-changelog pr-link for minimaxm3-fp4-b200-dynamo-vllm…
xinli-sw Jul 30, 2026
356d87e
fix: update B200 fp4 MTP image to vllm/vllm-openai:v0.26.0
xinli-sw Jul 30, 2026
78c78a2
fix: update B200 fp4 MTP image to nightly-6f91edf96d3f3272945809c0470…
xinli-sw Jul 31, 2026
de37c93
merge main, re-append changelog
xinli-sw Jul 31, 2026
9aa51d9
restore mtp recipes, switch 2xDEP2 prefill to 1xDEP4
xinli-sw Jul 31, 2026
d342b5a
Merge remote-tracking branch 'origin/main' into feat/minimaxm3-fp4-b2…
xinli-sw Aug 1, 2026
ad50a25
redesign B200 MTP sweep: 1P DEP4 prefill, 1D/2D/4D x TP4/TP8 decode, …
xinli-sw Aug 1, 2026
bb30008
runner: b200-new
xinli-sw Aug 1, 2026
769953d
revert runner to b200-multinode
xinli-sw Aug 1, 2026
8149988
upgrade non-MTP B200 disagg prefill from DEP2 to DEP4 (4 GPUs per ser…
xinli-sw Aug 2, 2026
f6ce556
bump dynamo to 1.3.0.dev20260713
xinli-sw Aug 2, 2026
4dadc90
remove allow_prefill_decode_colocation from B200 MTP recipes (OOM fix)
xinli-sw Aug 2, 2026
41dee2b
add max-num-seqs: 256 to prefill to fix sampler warmup OOM
xinli-sw Aug 2, 2026
5cf507c
enforce-eager on prefill to free CUDA graph memory
xinli-sw Aug 2, 2026
95cbff8
Merge remote-tracking branch 'origin/main' into feat/minimaxm3-fp4-b2…
xinli-sw Aug 2, 2026
dd15e1e
set decode max-num-seqs and max-cudagraph = conc/total_decode_gpus
xinli-sw Aug 2, 2026
bf68d84
Merge remote-tracking branch 'origin/main' into feat/minimaxm3-fp4-b2…
xinli-sw Aug 2, 2026
b5ccd41
remove max-cudagraph-capture-size from prefill (using enforce-eager)
xinli-sw Aug 2, 2026
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,4 +1,4 @@
name: "minimax-m3-vllm-disagg-b200-1p1d-fp4-dep2-tp4-8k1k"
name: "minimax-m3-vllm-disagg-b200-1p1d-fp4-dep4-tp4-8k1k"
model:
path: "nvidia/MiniMax-M3-NVFP4"
container: "vllm/vllm-openai:nightly-4080263bb2c5d10deac17aaeb88e0823bc35bca9"
Expand All @@ -10,9 +10,9 @@ resources:
decode_nodes: 1
prefill_workers: 1
decode_workers: 1
gpus_per_prefill: 2
gpus_per_prefill: 4
gpus_per_decode: 4
dynamo: {install: true, version: 1.3.0.dev20260710}
dynamo: {install: true, version: 1.3.0.dev20260713}
frontend: {type: dynamo, enable_multiple_frontends: false}
backend:
type: vllm
Expand All @@ -25,7 +25,7 @@ backend:
served-model-name: nvidia/MiniMax-M3-NVFP4
no-enable-flashinfer-autotune: true
tensor-parallel-size: 1
data-parallel-size: 2
data-parallel-size: 4
data-parallel-rpc-port: 13345
enable-expert-parallel: true
trust-remote-code: true
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: "minimax-m3-vllm-disagg-b200-1p2d-fp4-dep2-tp4-c64-8k1k"
name: "minimax-m3-vllm-disagg-b200-1p2d-fp4-dep4-tp4-c64-8k1k"
model:
path: "nvidia/MiniMax-M3-NVFP4"
container: "vllm/vllm-openai:nightly-4080263bb2c5d10deac17aaeb88e0823bc35bca9"
Expand All @@ -7,13 +7,13 @@ resources:
gpu_type: "b200"
prefill_nodes: 1
prefill_workers: 1
gpus_per_prefill: 2
gpus_per_prefill: 4
decode_nodes: 2
decode_workers: 2
spread_workers: true
gpus_per_decode: 4
gpus_per_node: 8
dynamo: {install: true, version: 1.3.0.dev20260710}
dynamo: {install: true, version: 1.3.0.dev20260713}
frontend:
type: dynamo
enable_multiple_frontends: false
Expand Down Expand Up @@ -70,7 +70,7 @@ backend:
tensor-parallel-size: 1
pipeline-parallel-size: 1
enable-expert-parallel: true
data-parallel-size: 2
data-parallel-size: 4
data-parallel-rpc-port: 13345
data-parallel-hybrid-lb: true
max-model-len: 9472
Expand Down
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
name: "minimax-m3-vllm-disagg-b200-2p2d-fp4-dep2-tp4-c128-8k1k"
name: "minimax-m3-vllm-disagg-b200-2p2d-fp4-dep4-tp4-c128-8k1k"
model:
path: "nvidia/MiniMax-M3-NVFP4"
container: "vllm/vllm-openai:nightly-4080263bb2c5d10deac17aaeb88e0823bc35bca9"
precision: "fp4"
resources:
gpu_type: "b200"
prefill_nodes: 2
prefill_nodes: 1
prefill_workers: 2
gpus_per_prefill: 2
gpus_per_prefill: 4
decode_nodes: 2
decode_workers: 2
spread_workers: true
gpus_per_decode: 4
gpus_per_node: 8
dynamo: {install: true, version: 1.3.0.dev20260710}
dynamo: {install: true, version: 1.3.0.dev20260713}
frontend:
type: dynamo
enable_multiple_frontends: false
Expand Down Expand Up @@ -70,7 +70,7 @@ backend:
tensor-parallel-size: 1
pipeline-parallel-size: 1
enable-expert-parallel: true
data-parallel-size: 2
data-parallel-size: 4
data-parallel-rpc-port: 13345
data-parallel-hybrid-lb: true
max-model-len: 9472
Expand Down
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
name: "minimax-m3-vllm-disagg-b200-3p2d-fp4-dep2-tp4-c256-8k1k"
name: "minimax-m3-vllm-disagg-b200-3p2d-fp4-dep4-tp4-c256-8k1k"
model:
path: "nvidia/MiniMax-M3-NVFP4"
container: "vllm/vllm-openai:nightly-4080263bb2c5d10deac17aaeb88e0823bc35bca9"
precision: "fp4"
resources:
gpu_type: "b200"
prefill_nodes: 3
prefill_nodes: 2
prefill_workers: 3
gpus_per_prefill: 2
gpus_per_prefill: 4
decode_nodes: 2
decode_workers: 2
spread_workers: true
gpus_per_decode: 4
gpus_per_node: 8
dynamo: {install: true, version: 1.3.0.dev20260710}
dynamo: {install: true, version: 1.3.0.dev20260713}
frontend:
type: dynamo
enable_multiple_frontends: false
Expand Down Expand Up @@ -70,7 +70,7 @@ backend:
tensor-parallel-size: 1
pipeline-parallel-size: 1
enable-expert-parallel: true
data-parallel-size: 2
data-parallel-size: 4
data-parallel-rpc-port: 13345
data-parallel-hybrid-lb: true
max-model-len: 9472
Expand Down
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
name: "minimax-m3-vllm-disagg-b200-3p2d-fp4-dep2-tp4-c512-8k1k"
name: "minimax-m3-vllm-disagg-b200-3p2d-fp4-dep4-tp4-c512-8k1k"
model:
path: "nvidia/MiniMax-M3-NVFP4"
container: "vllm/vllm-openai:nightly-4080263bb2c5d10deac17aaeb88e0823bc35bca9"
precision: "fp4"
resources:
gpu_type: "b200"
prefill_nodes: 3
prefill_nodes: 2
prefill_workers: 3
gpus_per_prefill: 2
gpus_per_prefill: 4
decode_nodes: 2
decode_workers: 2
spread_workers: true
gpus_per_decode: 4
gpus_per_node: 8
dynamo: {install: true, version: 1.3.0.dev20260710}
dynamo: {install: true, version: 1.3.0.dev20260713}
frontend:
type: dynamo
enable_multiple_frontends: false
Expand Down Expand Up @@ -70,7 +70,7 @@ backend:
tensor-parallel-size: 1
pipeline-parallel-size: 1
enable-expert-parallel: true
data-parallel-size: 2
data-parallel-size: 4
data-parallel-rpc-port: 13345
data-parallel-hybrid-lb: true
max-model-len: 9472
Expand Down
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
name: "minimax-m3-vllm-disagg-b200-4p2d-fp4-dep2-tp4-c1024-8k1k"
name: "minimax-m3-vllm-disagg-b200-4p2d-fp4-dep4-tp4-c1024-8k1k"
model:
path: "nvidia/MiniMax-M3-NVFP4"
container: "vllm/vllm-openai:nightly-4080263bb2c5d10deac17aaeb88e0823bc35bca9"
precision: "fp4"
resources:
gpu_type: "b200"
prefill_nodes: 4
prefill_nodes: 2
prefill_workers: 4
gpus_per_prefill: 2
gpus_per_prefill: 4
decode_nodes: 2
decode_workers: 2
spread_workers: true
gpus_per_decode: 4
gpus_per_node: 8
dynamo: {install: true, version: 1.3.0.dev20260710}
dynamo: {install: true, version: 1.3.0.dev20260713}
frontend:
type: dynamo
enable_multiple_frontends: false
Expand Down Expand Up @@ -70,7 +70,7 @@ backend:
tensor-parallel-size: 1
pipeline-parallel-size: 1
enable-expert-parallel: true
data-parallel-size: 2
data-parallel-size: 4
data-parallel-rpc-port: 13345
data-parallel-hybrid-lb: true
max-model-len: 9472
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
name: "minimax-m3-vllm-disagg-b200-1p1d-dep4-tp4-fp4-8k1k-eagle3"

model:
path: "nvidia/MiniMax-M3-NVFP4"
container: "vllm/vllm-openai:nightly-6f91edf96d3f3272945809c04702380053bff4de"
precision: fp4

resources:
gpu_type: b200
gpus_per_node: 8
prefill_nodes: 1
decode_nodes: 0
prefill_workers: 1
decode_workers: 1
gpus_per_prefill: 4
gpus_per_decode: 4

dynamo:
install: true
version: 1.3.0.dev20260713

frontend:
type: dynamo
enable_multiple_frontends: false

backend:
type: vllm
connector: null

prefill_environment:
VLLM_FLOAT32_MATMUL_PRECISION: high
VLLM_FLASHINFER_ALLREDUCE_BACKEND: trtllm
UCX_TLS: cuda_copy,cuda_ipc,rc

decode_environment:
VLLM_FLOAT32_MATMUL_PRECISION: high
VLLM_FLASHINFER_ALLREDUCE_BACKEND: trtllm
UCX_TLS: cuda_copy,cuda_ipc,rc

vllm_config:
prefill:
no-enable-flashinfer-autotune: true
tensor-parallel-size: 1
pipeline-parallel-size: 1
data-parallel-size: 4
data-parallel-rpc-port: 13345
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"}'
block-size: 128
gpu-memory-utilization: 0.95
max-model-len: 9472
language-model-only: true
enforce-eager: true
speculative-config: '{"method":"eagle3","model":"Inferact/MiniMax-M3-EAGLE3-GQA","num_speculative_tokens":3,"attention_backend":"FLASH_ATTN"}'
stream-interval: 32
max-num-batched-tokens: 16384
max-num-seqs: 256

decode:
no-enable-flashinfer-autotune: true
tensor-parallel-size: 4
pipeline-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"}'
block-size: 128
gpu-memory-utilization: 0.95
max-model-len: 9472
language-model-only: true
speculative-config: '{"method":"eagle3","model":"Inferact/MiniMax-M3-EAGLE3-GQA","num_speculative_tokens":3,"attention_backend":"FLASH_ATTN"}'
stream-interval: 32
max-num-seqs: 256
max-num-batched-tokens: 16384
max-cudagraph-capture-size: 256

health_check:
max_attempts: 360
interval_seconds: 10

benchmark:
type: sa-bench
isl: 8192
osl: 1024
req_rate: inf
num_warmup_mult: 0
random_range_ratio: 0.8
use_chat_template: true
concurrencies: "1x2x4x8x16x32x64x128x256x512x1024"
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
name: "minimax-m3-vllm-disagg-b200-1p1d-dep4-tp8-fp4-8k1k-eagle3"

model:
path: "nvidia/MiniMax-M3-NVFP4"
container: "vllm/vllm-openai:nightly-6f91edf96d3f3272945809c04702380053bff4de"
precision: fp4

resources:
gpu_type: b200
gpus_per_node: 8
prefill_nodes: 1
decode_nodes: 1
prefill_workers: 1
decode_workers: 1
gpus_per_prefill: 4
gpus_per_decode: 8

dynamo:
install: true
version: 1.3.0.dev20260713

frontend:
type: dynamo
enable_multiple_frontends: false

backend:
type: vllm
connector: null

prefill_environment:
VLLM_FLOAT32_MATMUL_PRECISION: high
VLLM_FLASHINFER_ALLREDUCE_BACKEND: trtllm
UCX_TLS: cuda_copy,cuda_ipc,rc

decode_environment:
VLLM_FLOAT32_MATMUL_PRECISION: high
VLLM_FLASHINFER_ALLREDUCE_BACKEND: trtllm
UCX_TLS: cuda_copy,cuda_ipc,rc

vllm_config:
prefill:
no-enable-flashinfer-autotune: true
tensor-parallel-size: 1
pipeline-parallel-size: 1
data-parallel-size: 4
data-parallel-rpc-port: 13345
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"}'
block-size: 128
gpu-memory-utilization: 0.95
max-model-len: 9472
language-model-only: true
enforce-eager: true
speculative-config: '{"method":"eagle3","model":"Inferact/MiniMax-M3-EAGLE3-GQA","num_speculative_tokens":3,"attention_backend":"FLASH_ATTN"}'
stream-interval: 32
max-num-batched-tokens: 16384
max-num-seqs: 256

decode:
no-enable-flashinfer-autotune: true
tensor-parallel-size: 8
pipeline-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"}'
block-size: 128
gpu-memory-utilization: 0.95
max-model-len: 9472
language-model-only: true
speculative-config: '{"method":"eagle3","model":"Inferact/MiniMax-M3-EAGLE3-GQA","num_speculative_tokens":3,"attention_backend":"FLASH_ATTN"}'
stream-interval: 32
max-num-seqs: 128
max-num-batched-tokens: 16384
max-cudagraph-capture-size: 128

health_check:
max_attempts: 360
interval_seconds: 10

benchmark:
type: sa-bench
isl: 8192
osl: 1024
req_rate: inf
num_warmup_mult: 0
random_range_ratio: 0.8
use_chat_template: true
concurrencies: "1x2x4x8x16x32x64x128x256x512x1024"
Loading
Loading