Skip to content

Commit e72ade4

Browse files
authored
Use MiniMax-M3 updated GB300 image and fix MNNVL workspace (#1888)
* chore: use MiniMax-M3 GB300 performance image * fix(vllm): size MNNVL workspace for one-shot all-reduce
1 parent f0a3ea7 commit e72ade4

19 files changed

Lines changed: 76 additions & 19 deletions

.github/configs/nvidia-master.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11835,7 +11835,7 @@ minimaxm3-fp8-b300-dynamo-vllm:
1183511835
# DEP8, DEP4. 4 GPU/node (GB300 NVL72). 4p3d (3 decode workers) skipped.
1183611836
# kv-cache-dtype=fp8 added. srun_options mem=0 required.
1183711837
minimaxm3-fp8-gb300-dynamo-vllm:
11838-
image: vllm/vllm-openai:nightly-aarch64
11838+
image: vllm/vllm-openai:minimax-m3-perf-arm64-13.0.1-7a67223
1183911839
model: MiniMaxAI/MiniMax-M3-MXFP8
1184011840
model-prefix: minimaxm3
1184111841
runner: gb300-nv
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
#!/usr/bin/env bash
2+
set -euo pipefail
3+
4+
python3 - <<'PYEOF'
5+
from importlib.util import find_spec
6+
from pathlib import Path
7+
8+
spec = find_spec("vllm")
9+
if not spec or not spec.origin:
10+
raise RuntimeError("vllm is not installed")
11+
root = Path(spec.origin).parent
12+
patches = {
13+
root / "distributed/device_communicators/flashinfer_all_reduce.py": [
14+
(
15+
" comm_backend=comm_backend,\n"
16+
" group=group,\n",
17+
" comm_backend=comm_backend,\n"
18+
' force_oneshot_support=backend == "mnnvl",\n'
19+
" group=group,\n",
20+
),
21+
],
22+
root / "models/minimax_m3/nvidia/sparse_attention_msa.py": [
23+
(
24+
" prefill_topk = topk[:, nd:num_tokens, :]\n",
25+
" prefill_topk = topk[:, nd:num_tokens, :].contiguous()\n",
26+
),
27+
],
28+
}
29+
for path, edits in patches.items():
30+
source = path.read_text()
31+
for old, new in edits:
32+
if new in source:
33+
continue
34+
if source.count(old) != 1:
35+
raise RuntimeError(f"missing or ambiguous patch anchor in {path}")
36+
source = source.replace(old, new, 1)
37+
path.write_text(source)
38+
PYEOF

benchmarks/multi_node/srt-slurm-recipes/vllm/minimax-m3-gb300-fp8/1k1k/disagg-gb300-1p1d-dep2-tep8-3n.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ name: "minimax-m3-vllm-disagg-gb300-1p1d-dep2-tep8-fp8-1k1k"
55

66
model:
77
path: "minimax-m3-mxfp8"
8-
container: "vllm/vllm-openai:nightly-aarch64"
8+
container: "vllm/vllm-openai:minimax-m3-perf-arm64-13.0.1-7a67223"
99
precision: "fp8"
1010

1111
dynamo:

benchmarks/multi_node/srt-slurm-recipes/vllm/minimax-m3-gb300-fp8/1k1k/disagg-gb300-1p1d-dep2-tp4-marlin-2n.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ name: "minimax-m3-vllm-disagg-gb300-1p1d-dep2-tp4-marlin-fp8-1k1k"
55

66
model:
77
path: "minimax-m3-mxfp8"
8-
container: "vllm/vllm-openai:nightly-aarch64"
8+
container: "vllm/vllm-openai:minimax-m3-perf-arm64-13.0.1-7a67223"
99
precision: "fp8"
1010

1111
dynamo:

benchmarks/multi_node/srt-slurm-recipes/vllm/minimax-m3-gb300-fp8/1k1k/disagg-gb300-1p2d-dep2-dep4-3n.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ name: "minimax-m3-vllm-disagg-gb300-1p2d-dep2-dep4-fp8-1k1k"
55

66
model:
77
path: "minimax-m3-mxfp8"
8-
container: "vllm/vllm-openai:nightly-aarch64"
8+
container: "vllm/vllm-openai:minimax-m3-perf-arm64-13.0.1-7a67223"
99
precision: "fp8"
1010

1111
dynamo:

benchmarks/multi_node/srt-slurm-recipes/vllm/minimax-m3-gb300-fp8/1k1k/disagg-gb300-2p1d-dep2-dep8-3n.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ name: "minimax-m3-vllm-disagg-gb300-2p1d-dep2-dep8-fp8-1k1k"
55

66
model:
77
path: "minimax-m3-mxfp8"
8-
container: "vllm/vllm-openai:nightly-aarch64"
8+
container: "vllm/vllm-openai:minimax-m3-perf-arm64-13.0.1-7a67223"
99
precision: "fp8"
1010

1111
dynamo:

benchmarks/multi_node/srt-slurm-recipes/vllm/minimax-m3-gb300-fp8/1k1k/disagg-gb300-2p1d-dep2-tep8-3n.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ name: "minimax-m3-vllm-disagg-gb300-2p1d-dep2-tep8-fp8-1k1k"
55

66
model:
77
path: "minimax-m3-mxfp8"
8-
container: "vllm/vllm-openai:nightly-aarch64"
8+
container: "vllm/vllm-openai:minimax-m3-perf-arm64-13.0.1-7a67223"
99
precision: "fp8"
1010

1111
dynamo:

benchmarks/multi_node/srt-slurm-recipes/vllm/minimax-m3-gb300-fp8/1k1k/disagg-gb300-2p2d-dep2-tep8-5n.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ name: "minimax-m3-vllm-disagg-gb300-2p2d-dep2-tep8-fp8-1k1k"
55

66
model:
77
path: "minimax-m3-mxfp8"
8-
container: "vllm/vllm-openai:nightly-aarch64"
8+
container: "vllm/vllm-openai:minimax-m3-perf-arm64-13.0.1-7a67223"
99
precision: "fp8"
1010

1111
dynamo:

benchmarks/multi_node/srt-slurm-recipes/vllm/minimax-m3-gb300-fp8/1k1k/disagg-gb300-3p2d-dep2-tep8-6n.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ name: "minimax-m3-vllm-disagg-gb300-3p2d-dep2-tep8-fp8-1k1k"
55

66
model:
77
path: "minimax-m3-mxfp8"
8-
container: "vllm/vllm-openai:nightly-aarch64"
8+
container: "vllm/vllm-openai:minimax-m3-perf-arm64-13.0.1-7a67223"
99
precision: "fp8"
1010

1111
dynamo:

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ name: "minimax-m3-vllm-disagg-gb300-1p1d-dep2-tp4-marlin-fp8-8k1k"
55

66
model:
77
path: "minimax-m3-mxfp8"
8-
container: "vllm/vllm-openai:nightly-aarch64"
8+
container: "vllm/vllm-openai:minimax-m3-perf-arm64-13.0.1-7a67223"
99
precision: "fp8"
1010

1111
dynamo:

0 commit comments

Comments
 (0)