From 1912b8b67bc70959fb7a6b5122d1a2adb35581b3 Mon Sep 17 00:00:00 2001 From: "claude[bot]" <41898282+claude[bot]@users.noreply.github.com> Date: Thu, 19 Feb 2026 02:40:48 +0000 Subject: [PATCH 01/12] Add MiniMax-M2.5 FP8 vLLM benchmark for B200 - Add benchmark script benchmarks/minimaxm2.5_fp8_b200.sh - Add config entry minimaxm2.5-fp8-b200-vllm to nvidia-master.yaml - Image: vllm/vllm-openai:v0.15.1-cu130 - Model: MiniMaxAI/MiniMax-M2.5 - TP=2 and TP=4, concurrency 4-64 - Sequence lengths: 1k1k, 1k8k, 8k1k - Update perf-changelog.yaml Closes #756 Co-authored-by: functionstackx --- .github/configs/nvidia-master.yaml | 25 +++++++++++++ benchmarks/minimaxm2.5_fp8_b200.sh | 58 ++++++++++++++++++++++++++++++ perf-changelog.yaml | 9 +++++ 3 files changed, 92 insertions(+) create mode 100755 benchmarks/minimaxm2.5_fp8_b200.sh diff --git a/.github/configs/nvidia-master.yaml b/.github/configs/nvidia-master.yaml index 46112ff50..935097153 100644 --- a/.github/configs/nvidia-master.yaml +++ b/.github/configs/nvidia-master.yaml @@ -3015,6 +3015,31 @@ gptoss-fp4-b200-vllm: - { tp: 4, conc-start: 4, conc-end: 64 } - { tp: 8, conc-start: 4, conc-end: 4 } +minimaxm2.5-fp8-b200-vllm: + image: vllm/vllm-openai:v0.15.1-cu130 + model: MiniMaxAI/MiniMax-M2.5 + model-prefix: minimaxm2.5 + runner: b200 + precision: fp8 + framework: vllm + multinode: false + seq-len-configs: + - isl: 1024 + osl: 1024 + search-space: + - { tp: 2, conc-start: 4, conc-end: 64 } + - { tp: 4, conc-start: 4, conc-end: 64 } + - isl: 1024 + osl: 8192 + search-space: + - { tp: 2, conc-start: 4, conc-end: 64 } + - { tp: 4, conc-start: 4, conc-end: 64 } + - isl: 8192 + osl: 1024 + search-space: + - { tp: 2, conc-start: 4, conc-end: 64 } + - { tp: 4, conc-start: 4, conc-end: 64 } + gptoss-fp4-h100-vllm: image: vllm/vllm-openai:v0.13.0 model: openai/gpt-oss-120b diff --git a/benchmarks/minimaxm2.5_fp8_b200.sh b/benchmarks/minimaxm2.5_fp8_b200.sh new file mode 100755 index 000000000..085ecf7c8 --- /dev/null +++ b/benchmarks/minimaxm2.5_fp8_b200.sh @@ -0,0 +1,58 @@ +#!/usr/bin/env bash + +source "$(dirname "$0")/benchmark_lib.sh" + +check_env_vars \ + MODEL \ + TP \ + CONC \ + ISL \ + OSL \ + MAX_MODEL_LEN \ + RANDOM_RANGE_RATIO \ + RESULT_FILENAME + +if [[ -n "$SLURM_JOB_ID" ]]; then + echo "JOB $SLURM_JOB_ID running on $SLURMD_NODENAME" +fi + +nvidia-smi + +hf download "$MODEL" + +SERVER_LOG=/workspace/server.log +PORT=${PORT:-8888} + +set -x +vllm serve $MODEL --port $PORT \ +--tensor-parallel-size=$TP \ +--gpu-memory-utilization 0.95 \ +--max-model-len $MAX_MODEL_LEN \ +--block-size=32 \ +--disable-log-requests \ +--trust-remote-code > $SERVER_LOG 2>&1 & + +SERVER_PID=$! + +# Wait for server to be ready +wait_for_server_ready --port "$PORT" --server-log "$SERVER_LOG" --server-pid "$SERVER_PID" + +run_benchmark_serving \ + --model "$MODEL" \ + --port "$PORT" \ + --backend vllm \ + --input-len "$ISL" \ + --output-len "$OSL" \ + --random-range-ratio "$RANDOM_RANGE_RATIO" \ + --num-prompts "$((CONC * 10))" \ + --max-concurrency "$CONC" \ + --result-filename "$RESULT_FILENAME" \ + --result-dir /workspace/ \ + --trust-remote-code + +# After throughput, run evaluation only if RUN_EVAL is true +if [ "${RUN_EVAL}" = "true" ]; then + run_eval --framework lm-eval --port "$PORT" --concurrent-requests $CONC + append_lm_eval_summary +fi +set +x diff --git a/perf-changelog.yaml b/perf-changelog.yaml index e169bb419..24e5e4a46 100644 --- a/perf-changelog.yaml +++ b/perf-changelog.yaml @@ -671,3 +671,12 @@ - "Environment: VLLM_ROCM_USE_AITER=1" - "TP=2 and TP=4, concurrency 4-64 for 1k1k, 1k8k, and 8k1k sequence lengths" pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/755 + +- config-keys: + - minimaxm2.5-fp8-b200-vllm + description: + - "Add MiniMax-M2.5 FP8 vLLM benchmark for B200" + - "Model: MiniMaxAI/MiniMax-M2.5 with --trust-remote-code" + - "Image: vllm/vllm-openai:v0.15.1-cu130" + - "TP=2 and TP=4, concurrency 4-64 for 1k1k, 1k8k, and 8k1k sequence lengths" + pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/XXX From cbc5d0b0e44c14cb232efc6976192c6a3c356b24 Mon Sep 17 00:00:00 2001 From: functionstackx <47992694+functionstackx@users.noreply.github.com> Date: Thu, 19 Feb 2026 13:45:30 -0500 Subject: [PATCH 02/12] Update runner name in nvidia-master.yaml --- .github/configs/nvidia-master.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/configs/nvidia-master.yaml b/.github/configs/nvidia-master.yaml index 935097153..c1b9097dd 100644 --- a/.github/configs/nvidia-master.yaml +++ b/.github/configs/nvidia-master.yaml @@ -3019,7 +3019,7 @@ minimaxm2.5-fp8-b200-vllm: image: vllm/vllm-openai:v0.15.1-cu130 model: MiniMaxAI/MiniMax-M2.5 model-prefix: minimaxm2.5 - runner: b200 + runner: b200-nvs precision: fp8 framework: vllm multinode: false From 1d383928dcc7e58022bfd41156723eeb0515dd08 Mon Sep 17 00:00:00 2001 From: Kedar Potdar Date: Thu, 19 Feb 2026 18:02:57 -0800 Subject: [PATCH 03/12] move launch file and enable expert parallel --- benchmarks/{ => single_node}/minimaxm2.5_fp8_b200.sh | 1 + 1 file changed, 1 insertion(+) rename benchmarks/{ => single_node}/minimaxm2.5_fp8_b200.sh (97%) diff --git a/benchmarks/minimaxm2.5_fp8_b200.sh b/benchmarks/single_node/minimaxm2.5_fp8_b200.sh similarity index 97% rename from benchmarks/minimaxm2.5_fp8_b200.sh rename to benchmarks/single_node/minimaxm2.5_fp8_b200.sh index 085ecf7c8..a203c85b6 100755 --- a/benchmarks/minimaxm2.5_fp8_b200.sh +++ b/benchmarks/single_node/minimaxm2.5_fp8_b200.sh @@ -29,6 +29,7 @@ vllm serve $MODEL --port $PORT \ --gpu-memory-utilization 0.95 \ --max-model-len $MAX_MODEL_LEN \ --block-size=32 \ +--enable-expert-parallel \ --disable-log-requests \ --trust-remote-code > $SERVER_LOG 2>&1 & From 567a8402bcc1d8e8c7fc9e2b8e0ecf1533a42a72 Mon Sep 17 00:00:00 2001 From: Kedar Potdar Date: Thu, 19 Feb 2026 18:04:06 -0800 Subject: [PATCH 04/12] add PR # --- perf-changelog.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/perf-changelog.yaml b/perf-changelog.yaml index 24e5e4a46..a06a721ab 100644 --- a/perf-changelog.yaml +++ b/perf-changelog.yaml @@ -679,4 +679,4 @@ - "Model: MiniMaxAI/MiniMax-M2.5 with --trust-remote-code" - "Image: vllm/vllm-openai:v0.15.1-cu130" - "TP=2 and TP=4, concurrency 4-64 for 1k1k, 1k8k, and 8k1k sequence lengths" - pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/XXX + pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/757 From 13453b4fdc7807a2f2f691588f4c69465e216a52 Mon Sep 17 00:00:00 2001 From: Kedar Potdar Date: Thu, 19 Feb 2026 19:00:29 -0800 Subject: [PATCH 05/12] fix typo that claude made --- benchmarks/single_node/minimaxm2.5_fp8_b200.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/benchmarks/single_node/minimaxm2.5_fp8_b200.sh b/benchmarks/single_node/minimaxm2.5_fp8_b200.sh index a203c85b6..76676d9a6 100755 --- a/benchmarks/single_node/minimaxm2.5_fp8_b200.sh +++ b/benchmarks/single_node/minimaxm2.5_fp8_b200.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -source "$(dirname "$0")/benchmark_lib.sh" +source "$(dirname "$0")/../benchmark_lib.sh" check_env_vars \ MODEL \ From 33b498fddd0bb99151126124cbc3ce9848f36fe0 Mon Sep 17 00:00:00 2001 From: Kedar Potdar Date: Fri, 20 Feb 2026 10:19:35 -0800 Subject: [PATCH 06/12] newline in perf-changelog --- perf-changelog.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/perf-changelog.yaml b/perf-changelog.yaml index 15f4fae87..d88b75e3f 100644 --- a/perf-changelog.yaml +++ b/perf-changelog.yaml @@ -699,4 +699,4 @@ - "Model: MiniMaxAI/MiniMax-M2.5 with --trust-remote-code" - "Image: vllm/vllm-openai:v0.15.1-cu130" - "TP=2 and TP=4, concurrency 4-64 for 1k1k, 1k8k, and 8k1k sequence lengths" - pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/757 \ No newline at end of file + pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/757 From 61228ef161f1ec56344f712b0865b0b092b60803 Mon Sep 17 00:00:00 2001 From: functionstackx <47992694+functionstackx@users.noreply.github.com> Date: Mon, 23 Feb 2026 15:59:30 -0500 Subject: [PATCH 07/12] change to b200 tag --- .github/configs/nvidia-master.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/configs/nvidia-master.yaml b/.github/configs/nvidia-master.yaml index c1b9097dd..935097153 100644 --- a/.github/configs/nvidia-master.yaml +++ b/.github/configs/nvidia-master.yaml @@ -3019,7 +3019,7 @@ minimaxm2.5-fp8-b200-vllm: image: vllm/vllm-openai:v0.15.1-cu130 model: MiniMaxAI/MiniMax-M2.5 model-prefix: minimaxm2.5 - runner: b200-nvs + runner: b200 precision: fp8 framework: vllm multinode: false From 43800e6d9f961c53c72ec75cdf8660ed95bd2db1 Mon Sep 17 00:00:00 2001 From: "claude[bot]" <41898282+claude[bot]@users.noreply.github.com> Date: Tue, 24 Feb 2026 02:30:07 +0000 Subject: [PATCH 08/12] fix: update HF_HUB_CACHE_MOUNT path in launch_b200-dgxc-slurm.sh Change HF_HUB_CACHE_MOUNT from /home/sa-shared/gharunners/hf-hub-cache/ to /scratch/fsw/gharunners/hf-hub-cache Co-authored-by: functionstackx --- runners/launch_b200-dgxc-slurm.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runners/launch_b200-dgxc-slurm.sh b/runners/launch_b200-dgxc-slurm.sh index 100941408..b64fb120d 100644 --- a/runners/launch_b200-dgxc-slurm.sh +++ b/runners/launch_b200-dgxc-slurm.sh @@ -213,7 +213,7 @@ EOF else - HF_HUB_CACHE_MOUNT="/home/sa-shared/gharunners/hf-hub-cache/" + HF_HUB_CACHE_MOUNT="/scratch/fsw/gharunners/hf-hub-cache" SQUASH_FILE="/home/sa-shared/containers/$(echo "$IMAGE" | sed 's/[\/:@#]/_/g').sqsh" FRAMEWORK_SUFFIX=$([[ "$FRAMEWORK" == "trt" ]] && printf '_trt' || printf '') SPEC_SUFFIX=$([[ "$SPEC_DECODING" == "mtp" ]] && printf '_mtp' || printf '') From 735dd73d31fdd6d0209fdebad97d6eb67edec17d Mon Sep 17 00:00:00 2001 From: ankursingh-nv Date: Thu, 26 Feb 2026 11:55:45 +0530 Subject: [PATCH 09/12] Update minimaxm2.5-fp8-b200-vllm image to v0.16.0-cu130 Co-Authored-By: Claude Sonnet 4.6 --- .github/configs/nvidia-master.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/configs/nvidia-master.yaml b/.github/configs/nvidia-master.yaml index 3c5ca2ead..8ffe870ae 100644 --- a/.github/configs/nvidia-master.yaml +++ b/.github/configs/nvidia-master.yaml @@ -3107,7 +3107,7 @@ gptoss-fp4-b200-vllm: - { tp: 8, conc-start: 4, conc-end: 4 } minimaxm2.5-fp8-b200-vllm: - image: vllm/vllm-openai:v0.15.1-cu130 + image: vllm/vllm-openai:v0.16.0-cu130 model: MiniMaxAI/MiniMax-M2.5 model-prefix: minimaxm2.5 runner: b200 From b56773c603c7bbce240bb42159c15e5cafb96fb2 Mon Sep 17 00:00:00 2001 From: ankursingh-nv Date: Wed, 4 Mar 2026 15:05:44 -0800 Subject: [PATCH 10/12] disable flashinfer fp8 MoE --- benchmarks/single_node/minimaxm2.5_fp8_b200.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/benchmarks/single_node/minimaxm2.5_fp8_b200.sh b/benchmarks/single_node/minimaxm2.5_fp8_b200.sh index 76676d9a6..71de543c5 100755 --- a/benchmarks/single_node/minimaxm2.5_fp8_b200.sh +++ b/benchmarks/single_node/minimaxm2.5_fp8_b200.sh @@ -23,6 +23,8 @@ hf download "$MODEL" SERVER_LOG=/workspace/server.log PORT=${PORT:-8888} +export VLLM_USE_FLASHINFER_MOE_FP8=0 + set -x vllm serve $MODEL --port $PORT \ --tensor-parallel-size=$TP \ From 2e99ed772297dad4d90911d95e68407b101ca389 Mon Sep 17 00:00:00 2001 From: Kedar Potdar <115327600+kedarpotdar-nv@users.noreply.github.com> Date: Wed, 4 Mar 2026 22:13:27 -0800 Subject: [PATCH 11/12] disable VLLM_MOE_USE_DEEP_GEM --- benchmarks/single_node/minimaxm2.5_fp8_b200.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/benchmarks/single_node/minimaxm2.5_fp8_b200.sh b/benchmarks/single_node/minimaxm2.5_fp8_b200.sh index 71de543c5..e193ff4da 100755 --- a/benchmarks/single_node/minimaxm2.5_fp8_b200.sh +++ b/benchmarks/single_node/minimaxm2.5_fp8_b200.sh @@ -24,6 +24,7 @@ SERVER_LOG=/workspace/server.log PORT=${PORT:-8888} export VLLM_USE_FLASHINFER_MOE_FP8=0 +export VLLM_MOE_USE_DEEP_GEMM=0 set -x vllm serve $MODEL --port $PORT \ From c00ffa416444e53c52a3556d4df49daf20b6f0f4 Mon Sep 17 00:00:00 2001 From: ankursingh-nv Date: Thu, 5 Mar 2026 16:26:09 -0800 Subject: [PATCH 12/12] ep --- benchmarks/single_node/minimaxm2.5_fp8_b200.sh | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/benchmarks/single_node/minimaxm2.5_fp8_b200.sh b/benchmarks/single_node/minimaxm2.5_fp8_b200.sh index e193ff4da..7cb87d2a7 100755 --- a/benchmarks/single_node/minimaxm2.5_fp8_b200.sh +++ b/benchmarks/single_node/minimaxm2.5_fp8_b200.sh @@ -5,6 +5,7 @@ source "$(dirname "$0")/../benchmark_lib.sh" check_env_vars \ MODEL \ TP \ + EP_SIZE \ CONC \ ISL \ OSL \ @@ -26,13 +27,19 @@ PORT=${PORT:-8888} export VLLM_USE_FLASHINFER_MOE_FP8=0 export VLLM_MOE_USE_DEEP_GEMM=0 +if [ "$EP_SIZE" -ge 1 ]; then + EP=" --enable-expert-parallel" +else + EP=" " +fi + set -x vllm serve $MODEL --port $PORT \ --tensor-parallel-size=$TP \ +$EP \ --gpu-memory-utilization 0.95 \ --max-model-len $MAX_MODEL_LEN \ --block-size=32 \ ---enable-expert-parallel \ --disable-log-requests \ --trust-remote-code > $SERVER_LOG 2>&1 &