From 38a9c63586605b093b64dafcaee34b121ddd85cc Mon Sep 17 00:00:00 2001 From: functionstackx <47992694+functionstackx@users.noreply.github.com> Date: Mon, 7 Sep 2026 20:46:35 -0400 Subject: [PATCH 1/2] [Klaud Cold] Update minimaxm3-fp8-h100-vllm-agentic-mtp vLLM image to nightly-d9105ea8001e0a6d77a96327d17515bb5791fb36 Co-Authored-By: Claude Fable 5.1 --- configs/nvidia-master.yaml | 2 +- perf-changelog.yaml | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/configs/nvidia-master.yaml b/configs/nvidia-master.yaml index 0cbe0e8c8f..333b523a25 100644 --- a/configs/nvidia-master.yaml +++ b/configs/nvidia-master.yaml @@ -7514,7 +7514,7 @@ qwen3.5-fp4-b200-trt-mtp: - { tp: 8, ep: 8, dp-attn: true, spec-decoding: "mtp", conc-list: [128, 256, 1024] } minimaxm3-fp8-h100-vllm-agentic-mtp: - image: vllm/vllm-openai:v0.27.1 + image: vllm/vllm-openai:nightly-d9105ea8001e0a6d77a96327d17515bb5791fb36 model: MiniMaxAI/MiniMax-M3-MXFP8 model-prefix: minimaxm3 runner: cluster:h100-dgxc diff --git a/perf-changelog.yaml b/perf-changelog.yaml index 4fcd229bfb..b45da34018 100644 --- a/perf-changelog.yaml +++ b/perf-changelog.yaml @@ -6958,3 +6958,11 @@ - "Expand the TP8 and TP4/EP1 sweep coverage through concurrency 640." pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/2866 + +- config-keys: + - minimaxm3-fp8-h100-vllm-agentic-mtp + scenario-type: + - agentic-coding + description: + - "Update vLLM image from vllm/vllm-openai:v0.27.1 (v0.27.1 release) to vllm/vllm-openai:nightly-d9105ea8001e0a6d77a96327d17515bb5791fb36 (2026-09-07 upstream nightly, digest sha256:254eebf919e8b7b0d530d97fccc606c36f380ff6724d64bc190951bec1aee838, tag commit vllm-project/vllm@d9105ea8; Docker Hub last pushed 2026-09-07T06:16:01Z), the same tag the B200 MiniMax-M3 AgentX recipe moved to in #2860 and the ROCm counterpart of the MI325X/MI300X bumps in #2872/#2873. benchmarks/single_node/agentic/minimaxm3_fp8_h100_mtp.sh is unchanged: TRITON_ATTN attention, fp8 KV, EAGLE3 with the Inferact MiniMax-M3 EAGLE3-GQA draft pinned to FLASH_ATTN and the committed golden synthetic acceptance length 2.78, Mooncake 0.3.11.post1 DRAM offload on the host-tier arm; the resident TP8 c1-c5 and Mooncake DRAM offload c6/c8 grid is unchanged." + pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/2874 From 1e6635f66d1750db75efc45106adfdf7b9fdcfb5 Mon Sep 17 00:00:00 2001 From: functionstackx <47992694+functionstackx@users.noreply.github.com> Date: Tue, 8 Sep 2026 13:09:52 -0400 Subject: [PATCH 2/2] Floor eval-only client concurrency at 8 so low-CONC H100 evals fit the 180-minute allocation Co-Authored-By: Claude Fable 5.1 --- .../single_node/agentic/minimaxm3_fp8_h100_mtp.sh | 15 ++++++++++++++- perf-changelog.yaml | 1 + 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/benchmarks/single_node/agentic/minimaxm3_fp8_h100_mtp.sh b/benchmarks/single_node/agentic/minimaxm3_fp8_h100_mtp.sh index 9e5f8fc8d6..7f6f50f070 100755 --- a/benchmarks/single_node/agentic/minimaxm3_fp8_h100_mtp.sh +++ b/benchmarks/single_node/agentic/minimaxm3_fp8_h100_mtp.sh @@ -116,7 +116,20 @@ else SPEC_CONFIG="{\"method\": \"eagle3\", \"model\": \"$DRAFT_MODEL\", \"num_speculative_tokens\": $NUM_SPEC_TOKENS, \"attention_backend\": \"FLASH_ATTN\", \"rejection_sample_method\": \"synthetic\", \"synthetic_acceptance_length\": $SYNTHETIC_ACCEPT_LEN}" fi -MAX_NUM_SEQS=$((2 * CONC)) +# Eval-only runs replay GSM8K through lm_eval at CONC parallel requests +# (benchmark_lib run_eval: num_concurrent = EVAL_CONCURRENT_REQUESTS or CONC). +# At CONC 1-3 that is 1319 sequential-ish requests at ~7 s each on H100 and +# the eval overran the launcher's 180-minute allocation ("CANCELLED ... DUE TO +# TIME LIMIT" at 96-98%, run 34174431989), while the recipe's previously +# merged sweep only ever ran the eval at c8 (195 min). Accuracy does not depend +# on client concurrency, so floor it at 8 for eval-only runs and size +# --max-num-seqs to admit that many; throughput runs keep 2*CONC. +EVAL_CONC=$CONC +if [ "$EVAL_ONLY" = "true" ] && [ "$CONC" -lt 8 ]; then + EVAL_CONC=8 + export EVAL_CONCURRENT_REQUESTS="${EVAL_CONCURRENT_REQUESTS:-$EVAL_CONC}" +fi +MAX_NUM_SEQS=$((2 * EVAL_CONC)) # MTP verifies four tokens per sequence, so CUDA graph capture is token-sized. MAX_CUDAGRAPH_CAPTURE_SIZE=$((MAX_NUM_SEQS * TOKENS_PER_SEQ)) diff --git a/perf-changelog.yaml b/perf-changelog.yaml index b45da34018..a54962b272 100644 --- a/perf-changelog.yaml +++ b/perf-changelog.yaml @@ -6965,4 +6965,5 @@ - agentic-coding description: - "Update vLLM image from vllm/vllm-openai:v0.27.1 (v0.27.1 release) to vllm/vllm-openai:nightly-d9105ea8001e0a6d77a96327d17515bb5791fb36 (2026-09-07 upstream nightly, digest sha256:254eebf919e8b7b0d530d97fccc606c36f380ff6724d64bc190951bec1aee838, tag commit vllm-project/vllm@d9105ea8; Docker Hub last pushed 2026-09-07T06:16:01Z), the same tag the B200 MiniMax-M3 AgentX recipe moved to in #2860 and the ROCm counterpart of the MI325X/MI300X bumps in #2872/#2873. benchmarks/single_node/agentic/minimaxm3_fp8_h100_mtp.sh is unchanged: TRITON_ATTN attention, fp8 KV, EAGLE3 with the Inferact MiniMax-M3 EAGLE3-GQA draft pinned to FLASH_ATTN and the committed golden synthetic acceptance length 2.78, Mooncake 0.3.11.post1 DRAM offload on the host-tier arm; the resident TP8 c1-c5 and Mooncake DRAM offload c6/c8 grid is unchanged." + - "Floor the eval-only client concurrency at 8 (EVAL_CONCURRENT_REQUESTS) and size --max-num-seqs to admit it: the eval matrix now runs GSM8K at every sweep concurrency, and at c1-c3 the H100 eval ran 1319 requests nearly serially at ~7 s each and overran the launcher's 180-minute Slurm allocation (run 34174431989: CANCELLED DUE TO TIME LIMIT at 96-98%; c4/c5 finished in 119-124 min). The previously merged sweep only ran the eval at c8 (195 min on v0.27.1), so this is not an image regression. Eval accuracy is independent of client concurrency; throughput runs keep max-num-seqs 2*CONC." pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/2874