diff --git a/benchmarks/multi_node/srt-slurm-recipes/vllm/minimax-m3/b200-fp4/8k1k/mtp/1p1d-tp4-dep4-eagle3-8k1k.yaml b/benchmarks/multi_node/srt-slurm-recipes/vllm/minimax-m3/b200-fp4/8k1k/mtp/1p1d-tp4-dep4-eagle3-8k1k.yaml new file mode 100644 index 000000000..a655ade33 --- /dev/null +++ b/benchmarks/multi_node/srt-slurm-recipes/vllm/minimax-m3/b200-fp4/8k1k/mtp/1p1d-tp4-dep4-eagle3-8k1k.yaml @@ -0,0 +1,98 @@ +name: "minimax-m3-vllm-disagg-b200-1p1d-tp4-dep4-fp4-8k1k-eagle3" + +model: + path: "nvidia/MiniMax-M3-NVFP4" + container: "vllm/vllm-openai:nightly-5e35a6f4f9bbc217c599692157ca985c894373f7" + 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.dev20260710 + +frontend: + type: dynamo + enable_multiple_frontends: false + +backend: + type: vllm + connector: null + allow_prefill_decode_colocation: true + allow_prefill_decode_colocation_across_nodes: true + + 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 + VLLM_MINIMAX_M3_MSA_DECODE_BACKEND: cutlass + UCX_TLS: cuda_copy,cuda_ipc,rc + VLLM_MINIMAX_M3_MSA_DECODE_BACKEND: cutlass + + vllm_config: + prefill: + no-enable-flashinfer-autotune: true + tensor-parallel-size: 4 + pipeline-parallel-size: 1 + 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.9 + max-model-len: 9472 + language-model-only: true + kv-cache-dtype: fp8 + speculative-config: '{"method":"eagle3","model":"Inferact/MiniMax-M3-EAGLE3-GQA","num_speculative_tokens":1,"attention_backend":"FLASH_ATTN"}' + stream-interval: 32 + max-cudagraph-capture-size: 2048 + max-num-batched-tokens: 16384 + + decode: + 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", "minimax_m3_msa_decode_backend": "cutlass"}' + block-size: 128 + gpu-memory-utilization: 0.9 + max-model-len: 9472 + language-model-only: true + kv-cache-dtype: fp8 + speculative-config: '{"method":"eagle3","model":"Inferact/MiniMax-M3-EAGLE3-GQA","num_speculative_tokens":3,"attention_backend":"FLASH_ATTN"}' + stream-interval: 32 + max-num-seqs: 1024 + max-num-batched-tokens: 16384 + max-cudagraph-capture-size: 2048 + compilation-config: '{"cudagraph_mode":"FULL_DECODE_ONLY"}' + +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: "256x512" diff --git a/benchmarks/multi_node/srt-slurm-recipes/vllm/minimax-m3/b200-fp4/8k1k/mtp/1p1d-tp4-tp4-eagle3-8k1k.yaml b/benchmarks/multi_node/srt-slurm-recipes/vllm/minimax-m3/b200-fp4/8k1k/mtp/1p1d-tp4-tp4-eagle3-8k1k.yaml new file mode 100644 index 000000000..ff498c89e --- /dev/null +++ b/benchmarks/multi_node/srt-slurm-recipes/vllm/minimax-m3/b200-fp4/8k1k/mtp/1p1d-tp4-tp4-eagle3-8k1k.yaml @@ -0,0 +1,91 @@ +name: "minimax-m3-vllm-disagg-b200-1p1d-tp4-tp4-fp4-8k1k-eagle3" + +model: + path: "nvidia/MiniMax-M3-NVFP4" + container: "vllm/vllm-openai:nightly-5e35a6f4f9bbc217c599692157ca985c894373f7" + 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.dev20260710 + +frontend: + type: dynamo + enable_multiple_frontends: false + +backend: + type: vllm + connector: null + allow_prefill_decode_colocation: true + allow_prefill_decode_colocation_across_nodes: true + + prefill_environment: + VLLM_FLOAT32_MATMUL_PRECISION: high + UCX_TLS: cuda_copy,cuda_ipc,rc + + decode_environment: + VLLM_FLOAT32_MATMUL_PRECISION: high + UCX_TLS: cuda_copy,cuda_ipc,rc + VLLM_MINIMAX_M3_MSA_DECODE_BACKEND: cutlass + + vllm_config: + prefill: + no-enable-flashinfer-autotune: true + tensor-parallel-size: 4 + pipeline-parallel-size: 1 + 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.9 + max-model-len: 9472 + language-model-only: true + speculative-config: '{"method":"eagle3","model":"Inferact/MiniMax-M3-EAGLE3-GQA","num_speculative_tokens":1,"attention_backend":"FLASH_ATTN"}' + stream-interval: 32 + max-cudagraph-capture-size: 2048 + max-num-batched-tokens: 16384 + + 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.9 + 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: 1024 + max-num-batched-tokens: 16384 + max-cudagraph-capture-size: 2048 + compilation-config: '{"cudagraph_mode":"FULL_DECODE_ONLY"}' + +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: "192x256x512" diff --git a/benchmarks/multi_node/srt-slurm-recipes/vllm/minimax-m3/b200-fp4/8k1k/mtp/1p2d-tp4-tp4-eagle3-8k1k.yaml b/benchmarks/multi_node/srt-slurm-recipes/vllm/minimax-m3/b200-fp4/8k1k/mtp/1p2d-tp4-tp4-eagle3-8k1k.yaml new file mode 100644 index 000000000..a7909a5fb --- /dev/null +++ b/benchmarks/multi_node/srt-slurm-recipes/vllm/minimax-m3/b200-fp4/8k1k/mtp/1p2d-tp4-tp4-eagle3-8k1k.yaml @@ -0,0 +1,91 @@ +name: "minimax-m3-vllm-disagg-b200-1p2d-tp4-tp4-fp4-8k1k-eagle3" + +model: + path: "nvidia/MiniMax-M3-NVFP4" + container: "vllm/vllm-openai:nightly-5e35a6f4f9bbc217c599692157ca985c894373f7" + precision: fp4 + +resources: + gpu_type: b200 + gpus_per_node: 8 + prefill_nodes: 1 + decode_nodes: 1 + prefill_workers: 1 + decode_workers: 2 + gpus_per_prefill: 4 + gpus_per_decode: 4 + +dynamo: + install: true + version: 1.3.0.dev20260710 + +frontend: + type: dynamo + enable_multiple_frontends: false + +backend: + type: vllm + connector: null + allow_prefill_decode_colocation: true + allow_prefill_decode_colocation_across_nodes: true + + prefill_environment: + VLLM_FLOAT32_MATMUL_PRECISION: high + UCX_TLS: cuda_copy,cuda_ipc,rc + + decode_environment: + VLLM_FLOAT32_MATMUL_PRECISION: high + UCX_TLS: cuda_copy,cuda_ipc,rc + VLLM_MINIMAX_M3_MSA_DECODE_BACKEND: cutlass + + vllm_config: + prefill: + no-enable-flashinfer-autotune: true + tensor-parallel-size: 4 + pipeline-parallel-size: 1 + 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.9 + max-model-len: 9472 + language-model-only: true + speculative-config: '{"method":"eagle3","model":"Inferact/MiniMax-M3-EAGLE3-GQA","num_speculative_tokens":1,"attention_backend":"FLASH_ATTN"}' + stream-interval: 32 + max-cudagraph-capture-size: 2048 + max-num-batched-tokens: 16384 + + 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.9 + 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: 1024 + max-num-batched-tokens: 16384 + max-cudagraph-capture-size: 2048 + compilation-config: '{"cudagraph_mode":"FULL_DECODE_ONLY"}' + +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: "32x64x96" diff --git a/benchmarks/multi_node/srt-slurm-recipes/vllm/minimax-m3/b200-fp4/8k1k/mtp/1p3d-tp4-tp4-eagle3-8k1k.yaml b/benchmarks/multi_node/srt-slurm-recipes/vllm/minimax-m3/b200-fp4/8k1k/mtp/1p3d-tp4-tp4-eagle3-8k1k.yaml new file mode 100644 index 000000000..125b2ed52 --- /dev/null +++ b/benchmarks/multi_node/srt-slurm-recipes/vllm/minimax-m3/b200-fp4/8k1k/mtp/1p3d-tp4-tp4-eagle3-8k1k.yaml @@ -0,0 +1,91 @@ +name: "minimax-m3-vllm-disagg-b200-1p3d-tp4-tp4-fp4-8k1k-eagle3" + +model: + path: "nvidia/MiniMax-M3-NVFP4" + container: "vllm/vllm-openai:nightly-5e35a6f4f9bbc217c599692157ca985c894373f7" + precision: fp4 + +resources: + gpu_type: b200 + gpus_per_node: 8 + prefill_nodes: 1 + decode_nodes: 1 + prefill_workers: 1 + decode_workers: 3 + gpus_per_prefill: 4 + gpus_per_decode: 4 + +dynamo: + install: true + version: 1.3.0.dev20260710 + +frontend: + type: dynamo + enable_multiple_frontends: false + +backend: + type: vllm + connector: null + allow_prefill_decode_colocation: true + allow_prefill_decode_colocation_across_nodes: true + + prefill_environment: + VLLM_FLOAT32_MATMUL_PRECISION: high + UCX_TLS: cuda_copy,cuda_ipc,rc + + decode_environment: + VLLM_FLOAT32_MATMUL_PRECISION: high + UCX_TLS: cuda_copy,cuda_ipc,rc + VLLM_MINIMAX_M3_MSA_DECODE_BACKEND: cutlass + + vllm_config: + prefill: + no-enable-flashinfer-autotune: true + tensor-parallel-size: 4 + pipeline-parallel-size: 1 + 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.9 + max-model-len: 9472 + language-model-only: true + speculative-config: '{"method":"eagle3","model":"Inferact/MiniMax-M3-EAGLE3-GQA","num_speculative_tokens":1,"attention_backend":"FLASH_ATTN"}' + stream-interval: 32 + max-cudagraph-capture-size: 2048 + max-num-batched-tokens: 16384 + + 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.9 + 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: 1024 + max-num-batched-tokens: 16384 + max-cudagraph-capture-size: 2048 + compilation-config: '{"cudagraph_mode":"FULL_DECODE_ONLY"}' + +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: "192" diff --git a/benchmarks/multi_node/srt-slurm-recipes/vllm/minimax-m3/b200-fp4/8k1k/mtp/1p4d-tp4-tp4-eagle3-8k1k.yaml b/benchmarks/multi_node/srt-slurm-recipes/vllm/minimax-m3/b200-fp4/8k1k/mtp/1p4d-tp4-tp4-eagle3-8k1k.yaml new file mode 100644 index 000000000..3c867e376 --- /dev/null +++ b/benchmarks/multi_node/srt-slurm-recipes/vllm/minimax-m3/b200-fp4/8k1k/mtp/1p4d-tp4-tp4-eagle3-8k1k.yaml @@ -0,0 +1,89 @@ +name: "minimax-m3-vllm-disagg-b200-1p4d-tp4-tp4-fp4-8k1k-eagle3" + +model: + path: "nvidia/MiniMax-M3-NVFP4" + container: "vllm/vllm-openai:nightly-5e35a6f4f9bbc217c599692157ca985c894373f7" + precision: fp4 + +resources: + gpu_type: b200 + gpus_per_node: 8 + prefill_nodes: 1 + decode_nodes: 2 + prefill_workers: 1 + decode_workers: 4 + gpus_per_prefill: 4 + gpus_per_decode: 4 + +dynamo: + install: true + version: 1.3.0.dev20260710 + +frontend: + type: dynamo + enable_multiple_frontends: false + +backend: + type: vllm + connector: null + allow_prefill_decode_colocation: true + allow_prefill_decode_colocation_across_nodes: true + + prefill_environment: + VLLM_FLOAT32_MATMUL_PRECISION: high + UCX_TLS: cuda_copy,cuda_ipc,rc + + decode_environment: + VLLM_FLOAT32_MATMUL_PRECISION: high + UCX_TLS: cuda_copy,cuda_ipc,rc + + vllm_config: + prefill: + no-enable-flashinfer-autotune: true + tensor-parallel-size: 4 + pipeline-parallel-size: 1 + 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.9 + max-model-len: 9472 + language-model-only: true + speculative-config: '{"method":"eagle3","model":"Inferact/MiniMax-M3-EAGLE3-GQA","num_speculative_tokens":1,"attention_backend":"FLASH_ATTN"}' + stream-interval: 32 + max-cudagraph-capture-size: 2048 + max-num-batched-tokens: 16384 + + 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.9 + 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: 1024 + max-num-batched-tokens: 16384 + max-cudagraph-capture-size: 2048 + +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: "4x8x16x32x64" diff --git a/benchmarks/multi_node/srt-slurm-recipes/vllm/minimax-m3/b200-fp4/8k1k/mtp/1p6d-tp4-tp4-eagle3-8k1k.yaml b/benchmarks/multi_node/srt-slurm-recipes/vllm/minimax-m3/b200-fp4/8k1k/mtp/1p6d-tp4-tp4-eagle3-8k1k.yaml new file mode 100644 index 000000000..792df6db7 --- /dev/null +++ b/benchmarks/multi_node/srt-slurm-recipes/vllm/minimax-m3/b200-fp4/8k1k/mtp/1p6d-tp4-tp4-eagle3-8k1k.yaml @@ -0,0 +1,91 @@ +name: "minimax-m3-vllm-disagg-b200-1p6d-tp4-tp4-fp4-8k1k-eagle3" + +model: + path: "nvidia/MiniMax-M3-NVFP4" + container: "vllm/vllm-openai:nightly-5e35a6f4f9bbc217c599692157ca985c894373f7" + precision: fp4 + +resources: + gpu_type: b200 + gpus_per_node: 8 + prefill_nodes: 1 + decode_nodes: 3 + prefill_workers: 1 + decode_workers: 6 + gpus_per_prefill: 4 + gpus_per_decode: 4 + +dynamo: + install: true + version: 1.3.0.dev20260710 + +frontend: + type: dynamo + enable_multiple_frontends: false + +backend: + type: vllm + connector: null + allow_prefill_decode_colocation: true + allow_prefill_decode_colocation_across_nodes: true + + prefill_environment: + VLLM_FLOAT32_MATMUL_PRECISION: high + UCX_TLS: cuda_copy,cuda_ipc,rc + + decode_environment: + VLLM_FLOAT32_MATMUL_PRECISION: high + UCX_TLS: cuda_copy,cuda_ipc,rc + VLLM_MINIMAX_M3_MSA_DECODE_BACKEND: cutlass + + vllm_config: + prefill: + no-enable-flashinfer-autotune: true + tensor-parallel-size: 4 + pipeline-parallel-size: 1 + 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.9 + max-model-len: 9472 + language-model-only: true + speculative-config: '{"method":"eagle3","model":"Inferact/MiniMax-M3-EAGLE3-GQA","num_speculative_tokens":1,"attention_backend":"FLASH_ATTN"}' + stream-interval: 32 + max-cudagraph-capture-size: 2048 + max-num-batched-tokens: 16384 + + 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.9 + 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: 1024 + max-num-batched-tokens: 16384 + max-cudagraph-capture-size: 2048 + compilation-config: '{"cudagraph_mode":"FULL_DECODE_ONLY"}' + +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: "12x24x48" diff --git a/configs/nvidia-master.yaml b/configs/nvidia-master.yaml index b850f7d6e..39087de3a 100644 --- a/configs/nvidia-master.yaml +++ b/configs/nvidia-master.yaml @@ -7783,6 +7783,110 @@ minimaxm3-fp4-b300-dynamo-vllm-8k1k-legacy-max-tput: ep: 4 dp-attn: false +minimaxm3-fp4-b200-dynamo-vllm-mtp: + image: vllm/vllm-openai:nightly-5e35a6f4f9bbc217c599692157ca985c894373f7 + model: nvidia/MiniMax-M3-NVFP4 + model-prefix: minimaxm3 + runner: b200-multinode + precision: fp4 + framework: dynamo-vllm + router: { name: dynamo-router, version: "1.3.0.dev20260710" } + kv-p2p-transfer: nixl + multinode: true + disagg: true + scenarios: + fixed-seq-len: + - isl: 8192 + osl: 1024 + search-space: + - spec-decoding: "mtp" + conc-list: [12, 24, 48] + prefill: + num-worker: 1 + tp: 4 + ep: 1 + dp-attn: false + additional-settings: + - "CONFIG_FILE=recipes/vllm/minimax-m3/b200-fp4/8k1k/mtp/1p6d-tp4-tp4-eagle3-8k1k.yaml" + decode: + num-worker: 6 + tp: 4 + ep: 1 + dp-attn: false + - spec-decoding: "mtp" + conc-list: [4, 8, 16, 32, 64] + prefill: + num-worker: 1 + tp: 4 + ep: 1 + dp-attn: false + additional-settings: + - "CONFIG_FILE=recipes/vllm/minimax-m3/b200-fp4/8k1k/mtp/1p4d-tp4-tp4-eagle3-8k1k.yaml" + decode: + num-worker: 4 + tp: 4 + ep: 1 + dp-attn: false + - spec-decoding: "mtp" + conc-list: [32, 64, 96] + prefill: + num-worker: 1 + tp: 4 + ep: 1 + dp-attn: false + additional-settings: + - "CONFIG_FILE=recipes/vllm/minimax-m3/b200-fp4/8k1k/mtp/1p2d-tp4-tp4-eagle3-8k1k.yaml" + decode: + num-worker: 2 + tp: 4 + ep: 1 + dp-attn: false + - spec-decoding: "mtp" + conc-list: [192, 256, 512] + prefill: + num-worker: 1 + tp: 4 + ep: 1 + dp-attn: false + additional-settings: + - "CONFIG_FILE=recipes/vllm/minimax-m3/b200-fp4/8k1k/mtp/1p1d-tp4-tp4-eagle3-8k1k.yaml" + decode: + num-worker: 1 + tp: 4 + ep: 1 + dp-attn: false + + - spec-decoding: "mtp" + conc-list: [12, 24, 48] + prefill: + num-worker: 1 + tp: 4 + ep: 1 + dp-attn: false + additional-settings: + - "CONFIG_FILE=recipes/vllm/minimax-m3/b200-fp4/8k1k/mtp/1p3d-tp4-tp4-eagle3-8k1k.yaml" + decode: + num-worker: 3 + tp: 4 + ep: 1 + dp-attn: false + + + - spec-decoding: "mtp" + conc-list: [256, 512] + prefill: + num-worker: 1 + tp: 4 + ep: 1 + dp-attn: false + additional-settings: + - "CONFIG_FILE=recipes/vllm/minimax-m3/b200-fp4/8k1k/mtp/1p1d-tp4-dep4-eagle3-8k1k.yaml" + decode: + num-worker: 1 + tp: 4 + ep: 4 + dp-attn: true + minimaxm3-fp4-b300-dynamo-vllm-mtp: image: vllm/vllm-openai:nightly-5e35a6f4f9bbc217c599692157ca985c894373f7 model: nvidia/MiniMax-M3-NVFP4 diff --git a/perf-changelog.yaml b/perf-changelog.yaml index b5aa7a385..43dc7fdb6 100644 --- a/perf-changelog.yaml +++ b/perf-changelog.yaml @@ -5425,3 +5425,9 @@ description: - "Extend the search space to include the TP2EP1 configuration for fixed seq len 8k1k" pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/2446 + +- config-keys: + - minimaxm3-fp4-b200-dynamo-vllm-mtp + description: + - "Add MiniMax M3 NVFP4 B200 disagg EAGLE3 MTP recipes, mirrored from B300" + pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/2462