Skip to content

Commit 86e7761

Browse files
jasonlizhengjianOseltamivirbiswapandaAnkur-singhRohitNagraj
authored
[NV] update B300 disagg recipes (SemiAnalysisAI#1891)
* [NV] Add MiniMax M3 B300 Dynamo vLLM recipes * chore: update MiniMax M3 B300 container * chore: update changelog PR link * Update perf-changelog.yaml * Update perf-changelog.yaml * fix(vllm): patch MiniMax M3 MSA contiguity * fix(recipes): align MiniMax M3 parallel settings * fix(vllm): backport MiniMax M3 eval fixes * ci(sweep): enable full MiniMax M3 validation * perf(vllm): right-size MiniMax M3 low concurrency * perf(vllm): colocate MiniMax M3 TP4 workers * fix(runner): exclude faulty B300 RDMA node * fix(runner): verify B300 node exclusion * fix(runner): check generated B300 sbatch script * ci(sweep): validate B300 node exclusion * refactor(vllm): trim MiniMax M3 runtime patches * Update MiniMax M3 B300 Dynamo vLLM recipes * fix * update to flashinfer * prune non-pareto * fix(vllm): remove pruned MiniMax M3 B300 recipes --------- Co-authored-by: Oseltamivir <58582368+Oseltamivir@users.noreply.github.com> Co-authored-by: Biswa Panda <biswa.panda@gmail.com> Co-authored-by: Ankur Singh <ankusingh@nvidia.com> Co-authored-by: Rohit Nagraj <rohitnagraj.99@gmail.com>
1 parent 07cdcfb commit 86e7761

10 files changed

Lines changed: 383 additions & 41 deletions

File tree

.github/configs/nvidia-master.yaml

Lines changed: 28 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -11850,19 +11850,6 @@ minimaxm3-fp8-b300-dynamo-vllm:
1185011850
- isl: 8192
1185111851
osl: 1024
1185211852
search-space:
11853-
- conc-list: [128]
11854-
prefill:
11855-
num-worker: 1
11856-
tp: 2
11857-
ep: 2
11858-
dp-attn: true
11859-
additional-settings:
11860-
- "CONFIG_FILE=recipes/vllm/minimax-m3/b300-fp8/8k1k/1p2d-dep2-dep8-8k1k.yaml"
11861-
decode:
11862-
num-worker: 2
11863-
tp: 8
11864-
ep: 8
11865-
dp-attn: true
1186611853
- conc-list: [256, 512]
1186711854
prefill:
1186811855
num-worker: 2
@@ -11889,31 +11876,31 @@ minimaxm3-fp8-b300-dynamo-vllm:
1188911876
tp: 8
1189011877
ep: 8
1189111878
dp-attn: false
11892-
- conc-list: [512]
11879+
- conc-list: [4096]
1189311880
prefill:
11894-
num-worker: 3
11881+
num-worker: 4
1189511882
tp: 2
1189611883
ep: 2
1189711884
dp-attn: true
1189811885
additional-settings:
11899-
- "CONFIG_FILE=recipes/vllm/minimax-m3/b300-fp8/8k1k/3p2d-dep2-dep8-8k1k.yaml"
11886+
- "CONFIG_FILE=recipes/vllm/minimax-m3/b300-fp8/8k1k/4p2d-dep2-dep8-8k1k.yaml"
1190011887
decode:
1190111888
num-worker: 2
1190211889
tp: 8
1190311890
ep: 8
1190411891
dp-attn: true
11905-
- conc-list: [32]
11892+
- conc-list: [1, 4, 8, 16]
1190611893
prefill:
11907-
num-worker: 3
11894+
num-worker: 1
1190811895
tp: 2
1190911896
ep: 2
1191011897
dp-attn: true
1191111898
additional-settings:
11912-
- "CONFIG_FILE=recipes/vllm/minimax-m3/b300-fp8/8k1k/3p2d-dep2-tep8-8k1k.yaml"
11899+
- "CONFIG_FILE=recipes/vllm/minimax-m3/b300-fp8/8k1k/1p1d-dep2-tp4-marlin-8k1k.yaml"
1191311900
decode:
11914-
num-worker: 2
11915-
tp: 8
11916-
ep: 8
11901+
num-worker: 1
11902+
tp: 4
11903+
ep: 1
1191711904
dp-attn: false
1191811905
- conc-list: [4096]
1191911906
prefill:
@@ -11922,50 +11909,50 @@ minimaxm3-fp8-b300-dynamo-vllm:
1192211909
ep: 2
1192311910
dp-attn: true
1192411911
additional-settings:
11925-
- "CONFIG_FILE=recipes/vllm/minimax-m3/b300-fp8/8k1k/4p2d-dep2-dep8-8k1k.yaml"
11912+
- "CONFIG_FILE=recipes/vllm/minimax-m3/b300-fp8/8k1k/4p2d-dep2-tep4-8k1k.yaml"
1192611913
decode:
1192711914
num-worker: 2
11928-
tp: 8
11929-
ep: 8
11930-
dp-attn: true
11931-
- conc-list: [4096]
11915+
tp: 4
11916+
ep: 4
11917+
dp-attn: false
11918+
- conc-list: [16, 32, 64, 128]
1193211919
prefill:
11933-
num-worker: 4
11920+
num-worker: 1
1193411921
tp: 2
1193511922
ep: 2
1193611923
dp-attn: true
1193711924
additional-settings:
11938-
- "CONFIG_FILE=recipes/vllm/minimax-m3/b300-fp8/8k1k/4p3d-dep2-dep4-8k1k.yaml"
11925+
- "CONFIG_FILE=recipes/vllm/minimax-m3/b300-fp8/8k1k/1p4d-dep2-tep4-8k1k.yaml"
1193911926
decode:
11940-
num-worker: 3
11927+
num-worker: 4
1194111928
tp: 4
1194211929
ep: 4
11943-
dp-attn: true
11944-
- conc-list: [4, 64]
11930+
dp-attn: false
11931+
- conc-list: [16]
1194511932
prefill:
11946-
num-worker: 5
11933+
num-worker: 1
1194711934
tp: 2
1194811935
ep: 2
1194911936
dp-attn: true
1195011937
additional-settings:
11951-
- "CONFIG_FILE=recipes/vllm/minimax-m3/b300-fp8/8k1k/5p2d-dep2-tep8-8k1k.yaml"
11938+
- "CONFIG_FILE=recipes/vllm/minimax-m3/b300-fp8/8k1k/1p2d-dep2-tep4-8k1k.yaml"
1195211939
decode:
1195311940
num-worker: 2
11954-
tp: 8
11955-
ep: 8
11941+
tp: 4
11942+
ep: 4
1195611943
dp-attn: false
11957-
- conc-list: [1, 4, 8, 16]
11944+
- conc-list: [4]
1195811945
prefill:
1195911946
num-worker: 1
1196011947
tp: 2
1196111948
ep: 2
1196211949
dp-attn: true
1196311950
additional-settings:
11964-
- "CONFIG_FILE=recipes/vllm/minimax-m3/b300-fp8/8k1k/1p1d-dep2-tp4-marlin-8k1k.yaml"
11951+
- "CONFIG_FILE=recipes/vllm/minimax-m3/b300-fp8/8k1k/1p4d-dep2-tep8-8k1k.yaml"
1196511952
decode:
11966-
num-worker: 1
11967-
tp: 4
11968-
ep: 1
11953+
num-worker: 4
11954+
tp: 8
11955+
ep: 8
1196911956
dp-attn: false
1197011957

1197111958
# MiniMax-M3 GB300 disagg sweep — adapted from NV B300 PR #1863.

benchmarks/multi_node/srt-slurm-recipes/vllm/minimax-m3/b300-fp8/8k1k/1p1d-dep2-tp4-marlin-8k1k.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@ backend:
4545
trust-remote-code: true
4646
no-enable-prefix-caching: true
4747
kv-transfer-config: '{"kv_connector": "NixlConnector", "kv_role": "kv_both"}'
48+
attention-config: '{"backend": "FLASHINFER", "use_trtllm_attention": true, "indexer_kv_dtype": "fp8"}'
49+
kv-cache-dtype: fp8
4850
block-size: 128
4951
gpu-memory-utilization: 0.90
5052
max-model-len: 9472
@@ -60,6 +62,8 @@ backend:
6062
trust-remote-code: true
6163
no-enable-prefix-caching: true
6264
kv-transfer-config: '{"kv_connector": "NixlConnector", "kv_role": "kv_both"}'
65+
attention-config: '{"backend": "FLASHINFER", "use_trtllm_attention": true, "indexer_kv_dtype": "fp8"}'
66+
kv-cache-dtype: fp8
6367
block-size: 128
6468
gpu-memory-utilization: 0.90
6569
max-model-len: 9472
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
name: "minimax-m3-vllm-disagg-b300-1p2d-fp8-dep2-tep4-8k1k"
2+
3+
model:
4+
path: "MiniMaxAI/MiniMax-M3-MXFP8"
5+
container: "vllm/vllm-openai:minimax-m3-0618-x86_64-cu130"
6+
precision: "fp8"
7+
8+
resources:
9+
gpu_type: "b300"
10+
gpus_per_node: 8
11+
prefill_nodes: 1
12+
decode_nodes: 1
13+
prefill_workers: 1
14+
decode_workers: 2
15+
gpus_per_prefill: 2
16+
gpus_per_decode: 4
17+
18+
dynamo:
19+
install: true
20+
version: 1.3.0.dev20260614
21+
22+
frontend:
23+
type: dynamo
24+
enable_multiple_frontends: false
25+
26+
backend:
27+
type: vllm
28+
connector: null
29+
30+
prefill_environment:
31+
VLLM_FLOAT32_MATMUL_PRECISION: high
32+
UCX_TLS: "cuda_copy,rc"
33+
34+
decode_environment:
35+
VLLM_FLOAT32_MATMUL_PRECISION: high
36+
UCX_TLS: "cuda_copy,rc"
37+
38+
vllm_config:
39+
prefill:
40+
tensor-parallel-size: 1
41+
data-parallel-size: 2
42+
data-parallel-rpc-port: 13345
43+
enable-expert-parallel: true
44+
trust-remote-code: true
45+
no-enable-prefix-caching: true
46+
kv-transfer-config: '{"kv_connector": "NixlConnector", "kv_role": "kv_both"}'
47+
attention-config: '{"backend": "FLASHINFER", "use_trtllm_attention": true, "indexer_kv_dtype": "fp8"}'
48+
kv-cache-dtype: fp8
49+
block-size: 128
50+
gpu-memory-utilization: 0.90
51+
max-model-len: 9472
52+
language-model-only: true
53+
stream-interval: 32
54+
max-cudagraph-capture-size: 2048
55+
max-num-batched-tokens: 16384
56+
57+
decode:
58+
tensor-parallel-size: 4
59+
enable-expert-parallel: true
60+
trust-remote-code: true
61+
no-enable-prefix-caching: true
62+
kv-transfer-config: '{"kv_connector": "NixlConnector", "kv_role": "kv_both"}'
63+
attention-config: '{"backend": "FLASHINFER", "use_trtllm_attention": true, "indexer_kv_dtype": "fp8"}'
64+
kv-cache-dtype: fp8
65+
block-size: 128
66+
gpu-memory-utilization: 0.90
67+
max-model-len: 9472
68+
language-model-only: true
69+
stream-interval: 32
70+
max-num-seqs: 512
71+
max-num-batched-tokens: 16384
72+
max-cudagraph-capture-size: 4096
73+
74+
health_check:
75+
max_attempts: 360
76+
interval_seconds: 10
77+
78+
benchmark:
79+
type: "sa-bench"
80+
isl: 8192
81+
osl: 1024
82+
concurrencies: "16"
83+
req_rate: "inf"
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
name: "minimax-m3-vllm-disagg-b300-1p4d-fp8-dep2-tep4-8k1k"
2+
3+
model:
4+
path: "MiniMaxAI/MiniMax-M3-MXFP8"
5+
container: "vllm/vllm-openai:minimax-m3-0618-x86_64-cu130"
6+
precision: "fp8"
7+
8+
resources:
9+
gpu_type: "b300"
10+
gpus_per_node: 8
11+
prefill_nodes: 1
12+
decode_nodes: 2
13+
prefill_workers: 1
14+
decode_workers: 4
15+
gpus_per_prefill: 2
16+
gpus_per_decode: 4
17+
18+
dynamo:
19+
install: true
20+
version: 1.3.0.dev20260614
21+
22+
frontend:
23+
type: dynamo
24+
enable_multiple_frontends: false
25+
26+
backend:
27+
type: vllm
28+
connector: null
29+
30+
prefill_environment:
31+
VLLM_FLOAT32_MATMUL_PRECISION: high
32+
UCX_TLS: "cuda_copy,rc"
33+
34+
decode_environment:
35+
VLLM_FLOAT32_MATMUL_PRECISION: high
36+
UCX_TLS: "cuda_copy,rc"
37+
38+
vllm_config:
39+
prefill:
40+
tensor-parallel-size: 1
41+
data-parallel-size: 2
42+
data-parallel-rpc-port: 13345
43+
enable-expert-parallel: true
44+
trust-remote-code: true
45+
no-enable-prefix-caching: true
46+
kv-transfer-config: '{"kv_connector": "NixlConnector", "kv_role": "kv_both"}'
47+
attention-config: '{"backend": "FLASHINFER", "use_trtllm_attention": true, "indexer_kv_dtype": "fp8"}'
48+
kv-cache-dtype: fp8
49+
block-size: 128
50+
gpu-memory-utilization: 0.90
51+
max-model-len: 9472
52+
language-model-only: true
53+
stream-interval: 32
54+
max-cudagraph-capture-size: 2048
55+
max-num-batched-tokens: 16384
56+
57+
decode:
58+
tensor-parallel-size: 4
59+
enable-expert-parallel: true
60+
trust-remote-code: true
61+
no-enable-prefix-caching: true
62+
kv-transfer-config: '{"kv_connector": "NixlConnector", "kv_role": "kv_both"}'
63+
attention-config: '{"backend": "FLASHINFER", "use_trtllm_attention": true, "indexer_kv_dtype": "fp8"}'
64+
kv-cache-dtype: fp8
65+
block-size: 128
66+
gpu-memory-utilization: 0.90
67+
max-model-len: 9472
68+
language-model-only: true
69+
stream-interval: 32
70+
max-num-seqs: 512
71+
max-num-batched-tokens: 16384
72+
max-cudagraph-capture-size: 4096
73+
74+
health_check:
75+
max_attempts: 360
76+
interval_seconds: 10
77+
78+
benchmark:
79+
type: "sa-bench"
80+
isl: 8192
81+
osl: 1024
82+
concurrencies: "16x32x64x128"
83+
req_rate: "inf"

0 commit comments

Comments
 (0)