From f6aca49d1d2fa58a5a7dc82527b2259d3e27e069 Mon Sep 17 00:00:00 2001 From: Cam Quilici Date: Fri, 18 Sep 2026 17:44:24 -0500 Subject: [PATCH 1/5] feat(amd): refresh port #2824 for shared srt-slurm v2 base --- .../mi355x-fp4/8k1k/disagg-1p1d-tp4.yaml | 152 ++++++++++++++++++ configs/deprecated/amd-master.yaml | 35 ++++ perf-changelog.yaml | 7 + 3 files changed, 194 insertions(+) create mode 100644 benchmarks/multi_node/srt-slurm-recipes/vllm/minimax-m3/mi355x-fp4/8k1k/disagg-1p1d-tp4.yaml diff --git a/benchmarks/multi_node/srt-slurm-recipes/vllm/minimax-m3/mi355x-fp4/8k1k/disagg-1p1d-tp4.yaml b/benchmarks/multi_node/srt-slurm-recipes/vllm/minimax-m3/mi355x-fp4/8k1k/disagg-1p1d-tp4.yaml new file mode 100644 index 0000000000..12ceb004a3 --- /dev/null +++ b/benchmarks/multi_node/srt-slurm-recipes/vllm/minimax-m3/mi355x-fp4/8k1k/disagg-1p1d-tp4.yaml @@ -0,0 +1,152 @@ +# Compatibility validation of the archived MI355X MiniMax-M3 FP4 recipe. +# Preserve the original TP4/TP4 serving and benchmark settings. srt-slurm +# owns allocation, native vLLM Router discovery, health, logs, and teardown. +schema: 2 +name: mi355x-vllm-minimaxm3-disagg-1p1d-tp4-8k1k + +model: + # Same provisioned checkpoint selected by the retired AMD launcher. + path: /it-share/data/MiniMax-M3-MXFP4 + container: vllm/vllm-openai-rocm:v0.28.0 + precision: fp4 + +identity: + model: + repo: amd/MiniMax-M3-MXFP4 + container: + image: vllm/vllm-openai-rocm:v0.28.0 + frameworks: + vllm-router: 1d10e71fb7bb4c0adc9f2c16ec77bf5dd4aa1586 + +slurm: + time_limit: "08:00:00" + +resources: + gpu_type: mi355x + gpus_per_node: 8 +frontend: + type: vllm-router + container_image: vllm/vllm-router:nightly-20260903-1d10e71 + enable_multiple_frontends: false + args: + policy: consistent_hash + prefill-policy: consistent_hash + decode-policy: consistent_hash + log-level: info + +environment: &runtime_environment + HF_HOME: /hf_hub_cache + HF_HUB_CACHE: /hf_hub_cache + HUGGINGFACE_HUB_CACHE: /hf_hub_cache + PYTHONDONTWRITEBYTECODE: "1" + PYTHONUNBUFFERED: "1" + GLOO_SOCKET_IFNAME: eno0 + NCCL_SOCKET_IFNAME: eno0 + NCCL_IB_HCA: rdma0,rdma1,rdma2,rdma3,rdma4,rdma5,rdma6,rdma7 + MORI_RDMA_TC: "104" + MORI_IO_SQ_BACKOFF_TIMEOUT_US: "50000" + MORI_IO_QP_MAX_SEND_WR: "16384" + MORI_IO_QP_MAX_CQE: "32768" + MORI_IO_QP_MAX_SGE: "2" + MORI_IO_TC_DISABLE: "0" + VLLM_USE_V1: "1" + VLLM_SERVER_DEV_MODE: "0" + VLLM_DISABLE_REQUEST_ID_RANDOMIZATION: "1" + VLLM_ROCM_USE_AITER: "1" + VLLM_ROCM_USE_AITER_MOE: "1" + VLLM_ROCM_USE_AITER_FUSION_SHARED_EXPERTS: "1" + VLLM_USE_BREAKABLE_CUDAGRAPH: "0" + VLLM_ENGINE_READY_TIMEOUT_S: "3600" + +engine: + type: vllm + connector: moriio +roles: + prefill: + nodes: 1 + workers: 1 + gpus: 4 + env: + VLLM_ROCM_QUICK_REDUCE_QUANTIZATION: INT4 + VLLM_ROCM_QUICK_REDUCE_MAX_SIZE_BYTES_MB: "2048" + args: &server_options + tensor-parallel-size: 4 + served-model-name: MiniMax-M3-MXFP4 + max-num-batched-tokens: 32768 + max-num-seqs: 512 + block-size: 128 + language-model-only: true + attention-backend: TRITON_ATTN + moe-backend: aiter + no-enable-prefix-caching: true + gpu-memory-utilization: 0.90 + tool-call-parser: minimax_m3 + reasoning-parser: minimax_m3 + enable-auto-tool-choice: true + trust-remote-code: true + decode: + nodes: 1 + workers: 1 + gpus: 4 + + args: *server_options + +# Preserve the original exclusive two-node allocation, although each worker +# uses only four GPUs. Do not pack the roles onto one node. +sbatch_directives: + cpus-per-task: "128" + mem: "0" + exclusive: "" + +srun_options: + container-writable: "" + container-remap-root: "" + mem: "0" + +health_check: + max_attempts: 720 + interval_seconds: 5 + +benchmark: + type: custom + command: | + set -eo pipefail + source /infmax-workspace/benchmarks/benchmark_lib.sh --validation-only + check_env_vars SLURM_JOB_ID SRT_FRONTEND_HOST SRT_FRONTEND_PORT CONC_LIST RANDOM_RANGE_RATIO + result_root="/results/${SLURM_JOB_ID}" + mkdir -p "${result_root}/fixed-seq" + archive_runtime_logs() { + tar -C /logs -czf "${result_root}/runtime-logs.tar.gz" . 2>/dev/null || true + } + trap archive_runtime_logs EXIT + for concurrency in ${CONC_LIST}; do + num_prompts=$((concurrency * 10)) + if (( num_prompts < 16 )); then num_prompts=16; fi + python3 /infmax-workspace/utils/bench_serving/benchmark_serving.py \ + --backend openai \ + --base-url "http://${SRT_FRONTEND_HOST}:${SRT_FRONTEND_PORT}" \ + --endpoint /v1/completions \ + --model MiniMax-M3-MXFP4 \ + --tokenizer /model \ + --dataset-name random \ + --random-input-len 8192 \ + --random-output-len 1024 \ + --random-range-ratio "${RANDOM_RANGE_RATIO}" \ + --num-warmups "$((concurrency * 2))" \ + --num-prompts "${num_prompts}" \ + --max-concurrency "${concurrency}" \ + --request-rate inf \ + --ignore-eos \ + --trust-remote-code \ + --percentile-metrics ttft,tpot,itl,e2el \ + --save-result \ + --result-dir "${result_root}/fixed-seq" \ + --result-filename "minimaxm3-vllm-mi355x-disagg-1p1d-tp4-isl8192-osl1024-c${concurrency}.json" + # The original vLLM benchmark allowed the idle KV reaper ten seconds. + sleep 10 + done + env: + <<: *runtime_environment + MODEL_NAME: MiniMax-M3-MXFP4 + TRANSFORMERS_VERBOSITY: error + TOKENIZERS_PARALLELISM: "false" diff --git a/configs/deprecated/amd-master.yaml b/configs/deprecated/amd-master.yaml index faa8e91e3d..506ab5b96f 100644 --- a/configs/deprecated/amd-master.yaml +++ b/configs/deprecated/amd-master.yaml @@ -38,6 +38,41 @@ dsr1-fp4-mi355x-sglang-mtp: search-space: - { tp: 8, ep: 1, conc-start: 4, conc-end: 64, spec-decoding: mtp } +minimaxm3-fp4-mi355x-vllm-disagg: + image: vllm/vllm-openai-rocm:v0.28.0 + model: amd/MiniMax-M3-MXFP4 + model-prefix: minimaxm3 + runner: cluster:mi355x-amds + precision: fp4 + framework: vllm-disagg + router: { name: vllm-router, version: "1d10e71fb7bb4c0adc9f2c16ec77bf5dd4aa1586" } + kv-p2p-transfer: moriio + multinode: true + disagg: true + scenarios: + fixed-seq-len: + - isl: 8192 + osl: 1024 + search-space: + - spec-decoding: "none" + conc-list: [1, 2, 4, 8, 16, 32, 64, 128, 256] + prefill: + num-worker: 1 + tp: 4 + ep: 1 + dp-attn: false + additional-settings: + - "CONFIG_FILE=recipes/vllm/minimax-m3/mi355x-fp4/8k1k/disagg-1p1d-tp4.yaml" + - "SRT_SLURM_COMMIT=33a3d811b7956973e4ef78b1d0cf4a5d56dad6a1" + decode: + num-worker: 1 + tp: 4 + ep: 1 + dp-attn: false + additional-settings: + - "CONFIG_FILE=recipes/vllm/minimax-m3/mi355x-fp4/8k1k/disagg-1p1d-tp4.yaml" + - "SRT_SLURM_COMMIT=33a3d811b7956973e4ef78b1d0cf4a5d56dad6a1" + dsr1-fp4-mi355x-atom: image: rocm/atom:rocm7.2.3_ubuntu24.04_py3.12_pytorch_release_2.10.0_atom20260511 model: amd/DeepSeek-R1-0528-MXFP4-Preview diff --git a/perf-changelog.yaml b/perf-changelog.yaml index 5485a7e7f5..6e906b5233 100644 --- a/perf-changelog.yaml +++ b/perf-changelog.yaml @@ -8618,3 +8618,10 @@ description: - 'Bump the NVIDIA srt-slurm submodule to v2.22.1 (3cbc5dd256af2bfd2fed09b724628c3f5456c85f) and use it for AMD ports instead of a separate fork pin. Reuse the shared Slurm log and completion helpers.' pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/2542 + +- config-keys: + - minimaxm3-fp4-mi355x-vllm-disagg + description: + - 'Restack this port directly on #2542 and migrate its recipes to srt-slurm v2, preserving the existing port workload + settings. Keep this upstream-deprecated workload in the archived master config, outside active sweeps.' + pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/2824 From f8097c731961868d02e4ff21bbbe2047c39c7791 Mon Sep 17 00:00:00 2001 From: Cam Quilici Date: Tue, 22 Sep 2026 10:53:13 -0500 Subject: [PATCH 2/5] fix(amd): inherit shared srt-slurm pin for vLLM MoRI port --- configs/deprecated/amd-master.yaml | 2 -- perf-changelog.yaml | 6 ++++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/configs/deprecated/amd-master.yaml b/configs/deprecated/amd-master.yaml index 506ab5b96f..656a09ec4b 100644 --- a/configs/deprecated/amd-master.yaml +++ b/configs/deprecated/amd-master.yaml @@ -63,7 +63,6 @@ minimaxm3-fp4-mi355x-vllm-disagg: dp-attn: false additional-settings: - "CONFIG_FILE=recipes/vllm/minimax-m3/mi355x-fp4/8k1k/disagg-1p1d-tp4.yaml" - - "SRT_SLURM_COMMIT=33a3d811b7956973e4ef78b1d0cf4a5d56dad6a1" decode: num-worker: 1 tp: 4 @@ -71,7 +70,6 @@ minimaxm3-fp4-mi355x-vllm-disagg: dp-attn: false additional-settings: - "CONFIG_FILE=recipes/vllm/minimax-m3/mi355x-fp4/8k1k/disagg-1p1d-tp4.yaml" - - "SRT_SLURM_COMMIT=33a3d811b7956973e4ef78b1d0cf4a5d56dad6a1" dsr1-fp4-mi355x-atom: image: rocm/atom:rocm7.2.3_ubuntu24.04_py3.12_pytorch_release_2.10.0_atom20260511 diff --git a/perf-changelog.yaml b/perf-changelog.yaml index 6e906b5233..12d9d2c61f 100644 --- a/perf-changelog.yaml +++ b/perf-changelog.yaml @@ -8625,3 +8625,9 @@ - 'Restack this port directly on #2542 and migrate its recipes to srt-slurm v2, preserving the existing port workload settings. Keep this upstream-deprecated workload in the archived master config, outside active sweeps.' pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/2824 + +- config-keys: + - minimaxm3-fp4-mi355x-vllm-disagg + description: + - 'Remove the historical per-role srt-slurm commit override so vLLM/MoRI validation uses the shared AMD stack pin, including allocator-owned transfer ports and native Router discovery readiness. Engine images and serving options are unchanged.' + pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/2824 From c08efc040ddbb34aca944b9494b8a32a560bb589 Mon Sep 17 00:00:00 2001 From: Cam Quilici Date: Tue, 22 Sep 2026 11:09:19 -0500 Subject: [PATCH 3/5] fix(amd): refresh unavailable vLLM Router nightly --- .../vllm/minimax-m3/mi355x-fp4/8k1k/disagg-1p1d-tp4.yaml | 4 ++-- configs/deprecated/amd-master.yaml | 2 +- perf-changelog.yaml | 6 ++++++ 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/benchmarks/multi_node/srt-slurm-recipes/vllm/minimax-m3/mi355x-fp4/8k1k/disagg-1p1d-tp4.yaml b/benchmarks/multi_node/srt-slurm-recipes/vllm/minimax-m3/mi355x-fp4/8k1k/disagg-1p1d-tp4.yaml index 12ceb004a3..3391b5326a 100644 --- a/benchmarks/multi_node/srt-slurm-recipes/vllm/minimax-m3/mi355x-fp4/8k1k/disagg-1p1d-tp4.yaml +++ b/benchmarks/multi_node/srt-slurm-recipes/vllm/minimax-m3/mi355x-fp4/8k1k/disagg-1p1d-tp4.yaml @@ -16,7 +16,7 @@ identity: container: image: vllm/vllm-openai-rocm:v0.28.0 frameworks: - vllm-router: 1d10e71fb7bb4c0adc9f2c16ec77bf5dd4aa1586 + vllm-router: 5d3c3af9a41dec2d5ecff412024b7a743763472d slurm: time_limit: "08:00:00" @@ -26,7 +26,7 @@ resources: gpus_per_node: 8 frontend: type: vllm-router - container_image: vllm/vllm-router:nightly-20260903-1d10e71 + container_image: vllm/vllm-router:nightly-20260922-5d3c3af enable_multiple_frontends: false args: policy: consistent_hash diff --git a/configs/deprecated/amd-master.yaml b/configs/deprecated/amd-master.yaml index 656a09ec4b..fbfa77366c 100644 --- a/configs/deprecated/amd-master.yaml +++ b/configs/deprecated/amd-master.yaml @@ -45,7 +45,7 @@ minimaxm3-fp4-mi355x-vllm-disagg: runner: cluster:mi355x-amds precision: fp4 framework: vllm-disagg - router: { name: vllm-router, version: "1d10e71fb7bb4c0adc9f2c16ec77bf5dd4aa1586" } + router: { name: vllm-router, version: "5d3c3af9a41dec2d5ecff412024b7a743763472d" } kv-p2p-transfer: moriio multinode: true disagg: true diff --git a/perf-changelog.yaml b/perf-changelog.yaml index 12d9d2c61f..55306d3d80 100644 --- a/perf-changelog.yaml +++ b/perf-changelog.yaml @@ -8631,3 +8631,9 @@ description: - 'Remove the historical per-role srt-slurm commit override so vLLM/MoRI validation uses the shared AMD stack pin, including allocator-owned transfer ports and native Router discovery readiness. Engine images and serving options are unchanged.' pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/2824 + +- config-keys: + - minimaxm3-fp4-mi355x-vllm-disagg + description: + - 'Replace the unavailable vLLM Router nightly-20260903-1d10e71 image (registry HTTP 404 in run 35750577041) with the official nightly-20260922-5d3c3af, index digest sha256:4e9071e4f1e1670367b8d5d05befb8025e580385688978c7aeab2a7075a4b1a9. The MoRI discovery implementation is unchanged between these Router commits; preserve vLLM v0.28.0, TP4/TP4, and the workload settings.' + pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/2824 From fefcb85569991bd2418224e912ec99be95ee48e3 Mon Sep 17 00:00:00 2001 From: Cam Quilici Date: Tue, 22 Sep 2026 11:51:53 -0500 Subject: [PATCH 4/5] fix(amd): validate corrected MoRI listener allocation --- perf-changelog.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/perf-changelog.yaml b/perf-changelog.yaml index 55306d3d80..8e4bb352eb 100644 --- a/perf-changelog.yaml +++ b/perf-changelog.yaml @@ -8637,3 +8637,9 @@ description: - 'Replace the unavailable vLLM Router nightly-20260903-1d10e71 image (registry HTTP 404 in run 35750577041) with the official nightly-20260922-5d3c3af, index digest sha256:4e9071e4f1e1670367b8d5d05befb8025e580385688978c7aeab2a7075a4b1a9. The MoRI discovery implementation is unchanged between these Router commits; preserve vLLM v0.28.0, TP4/TP4, and the workload settings.' pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/2824 + +- config-keys: + - minimaxm3-fp4-mi355x-vllm-disagg + description: + - 'Validate srt-slurm 049a6b5804fb3f9bfbc959a7f7379935fe8952a7 with rank-sized MoRI handshake blocks and handshake/notify defaults below Linux ephemeral ports. Preserve engine images, serving options, and all nine workload concurrencies.' + pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/2824 From a10b64e053a09ac8426acee469647d62386726e6 Mon Sep 17 00:00:00 2001 From: Cam Quilici Date: Tue, 22 Sep 2026 15:24:50 -0500 Subject: [PATCH 5/5] test: cover colocated TP4 MoRI workers on current runtime --- .../mi355x-fp4/8k1k/colocated-tp4-smoke.yaml | 151 ++++++++++++++++++ configs/smoke/amd-srt-colocated.yaml | 36 +++++ perf-changelog.yaml | 6 + 3 files changed, 193 insertions(+) create mode 100644 benchmarks/multi_node/srt-slurm-recipes/vllm/minimax-m3/mi355x-fp4/8k1k/colocated-tp4-smoke.yaml create mode 100644 configs/smoke/amd-srt-colocated.yaml diff --git a/benchmarks/multi_node/srt-slurm-recipes/vllm/minimax-m3/mi355x-fp4/8k1k/colocated-tp4-smoke.yaml b/benchmarks/multi_node/srt-slurm-recipes/vllm/minimax-m3/mi355x-fp4/8k1k/colocated-tp4-smoke.yaml new file mode 100644 index 0000000000..f64f030969 --- /dev/null +++ b/benchmarks/multi_node/srt-slurm-recipes/vllm/minimax-m3/mi355x-fp4/8k1k/colocated-tp4-smoke.yaml @@ -0,0 +1,151 @@ +# Smoke-only colocated variant of the archived MiniMax-M3 recipe. +# Preserve the original TP4/TP4 serving and benchmark settings. srt-slurm +# owns allocation, native vLLM Router discovery, health, logs, and teardown. +schema: 2 +name: mi355x-vllm-minimaxm3-colocated-tp4-smoke + +model: + # Same provisioned checkpoint selected by the retired AMD launcher. + path: /it-share/data/MiniMax-M3-MXFP4 + container: vllm/vllm-openai-rocm:v0.28.0 + precision: fp4 + +identity: + model: + repo: amd/MiniMax-M3-MXFP4 + container: + image: vllm/vllm-openai-rocm:v0.28.0 + frameworks: + vllm-router: 5d3c3af9a41dec2d5ecff412024b7a743763472d + +slurm: + time_limit: "08:00:00" + +resources: + gpu_type: mi355x + gpus_per_node: 8 +frontend: + type: vllm-router + container_image: vllm/vllm-router:nightly-20260922-5d3c3af + enable_multiple_frontends: false + args: + policy: consistent_hash + prefill-policy: consistent_hash + decode-policy: consistent_hash + log-level: info + +environment: &runtime_environment + HF_HOME: /hf_hub_cache + HF_HUB_CACHE: /hf_hub_cache + HUGGINGFACE_HUB_CACHE: /hf_hub_cache + PYTHONDONTWRITEBYTECODE: "1" + PYTHONUNBUFFERED: "1" + GLOO_SOCKET_IFNAME: eno0 + NCCL_SOCKET_IFNAME: eno0 + NCCL_IB_HCA: rdma0,rdma1,rdma2,rdma3,rdma4,rdma5,rdma6,rdma7 + MORI_RDMA_TC: "104" + MORI_IO_SQ_BACKOFF_TIMEOUT_US: "50000" + MORI_IO_QP_MAX_SEND_WR: "16384" + MORI_IO_QP_MAX_CQE: "32768" + MORI_IO_QP_MAX_SGE: "2" + MORI_IO_TC_DISABLE: "0" + VLLM_USE_V1: "1" + VLLM_SERVER_DEV_MODE: "0" + VLLM_DISABLE_REQUEST_ID_RANDOMIZATION: "1" + VLLM_ROCM_USE_AITER: "1" + VLLM_ROCM_USE_AITER_MOE: "1" + VLLM_ROCM_USE_AITER_FUSION_SHARED_EXPERTS: "1" + VLLM_USE_BREAKABLE_CUDAGRAPH: "0" + VLLM_ENGINE_READY_TIMEOUT_S: "3600" + +engine: + type: vllm + connector: moriio +roles: + prefill: + nodes: 1 + workers: 1 + gpus: 4 + env: + VLLM_ROCM_QUICK_REDUCE_QUANTIZATION: INT4 + VLLM_ROCM_QUICK_REDUCE_MAX_SIZE_BYTES_MB: "2048" + args: &server_options + tensor-parallel-size: 4 + served-model-name: MiniMax-M3-MXFP4 + max-num-batched-tokens: 32768 + max-num-seqs: 512 + block-size: 128 + language-model-only: true + attention-backend: TRITON_ATTN + moe-backend: aiter + no-enable-prefix-caching: true + gpu-memory-utilization: 0.90 + tool-call-parser: minimax_m3 + reasoning-parser: minimax_m3 + enable-auto-tool-choice: true + trust-remote-code: true + decode: + nodes: colocate + workers: 1 + gpus: 4 + + args: *server_options + +# Reserve the whole node; each TP4 role owns a disjoint four-GPU subset. +sbatch_directives: + cpus-per-task: "128" + mem: "0" + exclusive: "" + +srun_options: + container-writable: "" + container-remap-root: "" + mem: "0" + +health_check: + max_attempts: 720 + interval_seconds: 5 + +benchmark: + type: custom + command: | + set -eo pipefail + source /infmax-workspace/benchmarks/benchmark_lib.sh --validation-only + check_env_vars SLURM_JOB_ID SRT_FRONTEND_HOST SRT_FRONTEND_PORT CONC_LIST RANDOM_RANGE_RATIO + result_root="/results/${SLURM_JOB_ID}" + mkdir -p "${result_root}/fixed-seq" + archive_runtime_logs() { + tar -C /logs -czf "${result_root}/runtime-logs.tar.gz" . 2>/dev/null || true + } + trap archive_runtime_logs EXIT + for concurrency in ${CONC_LIST}; do + num_prompts=$((concurrency * 10)) + if (( num_prompts < 16 )); then num_prompts=16; fi + python3 /infmax-workspace/utils/bench_serving/benchmark_serving.py \ + --backend openai \ + --base-url "http://${SRT_FRONTEND_HOST}:${SRT_FRONTEND_PORT}" \ + --endpoint /v1/completions \ + --model MiniMax-M3-MXFP4 \ + --tokenizer /model \ + --dataset-name random \ + --random-input-len 8192 \ + --random-output-len 1024 \ + --random-range-ratio "${RANDOM_RANGE_RATIO}" \ + --num-warmups "$((concurrency * 2))" \ + --num-prompts "${num_prompts}" \ + --max-concurrency "${concurrency}" \ + --request-rate inf \ + --ignore-eos \ + --trust-remote-code \ + --percentile-metrics ttft,tpot,itl,e2el \ + --save-result \ + --result-dir "${result_root}/fixed-seq" \ + --result-filename "minimaxm3-vllm-mi355x-disagg-1p1d-tp4-isl8192-osl1024-c${concurrency}.json" + # The original vLLM benchmark allowed the idle KV reaper ten seconds. + sleep 10 + done + env: + <<: *runtime_environment + MODEL_NAME: MiniMax-M3-MXFP4 + TRANSFORMERS_VERBOSITY: error + TOKENIZERS_PARALLELISM: "false" diff --git a/configs/smoke/amd-srt-colocated.yaml b/configs/smoke/amd-srt-colocated.yaml new file mode 100644 index 0000000000..2956265ac5 --- /dev/null +++ b/configs/smoke/amd-srt-colocated.yaml @@ -0,0 +1,36 @@ +# Smoke-only colocated layout; the archived two-node recipe remains unchanged. +minimaxm3-fp4-mi355x-vllm-colocated-smoke: + image: vllm/vllm-openai-rocm:v0.28.0 + model: amd/MiniMax-M3-MXFP4 + model-prefix: minimaxm3 + runner: cluster:mi355x-amds + precision: fp4 + framework: vllm-disagg + router: + name: vllm-router + version: 5d3c3af9a41dec2d5ecff412024b7a743763472d + kv-p2p-transfer: moriio + multinode: true + disagg: true + scenarios: + fixed-seq-len: + - isl: 8192 + osl: 1024 + search-space: + - spec-decoding: none + conc-list: + - 4 + prefill: + num-worker: 1 + tp: 4 + ep: 1 + dp-attn: false + additional-settings: + - CONFIG_FILE=recipes/vllm/minimax-m3/mi355x-fp4/8k1k/colocated-tp4-smoke.yaml + decode: + num-worker: 1 + tp: 4 + ep: 1 + dp-attn: false + additional-settings: + - CONFIG_FILE=recipes/vllm/minimax-m3/mi355x-fp4/8k1k/colocated-tp4-smoke.yaml diff --git a/perf-changelog.yaml b/perf-changelog.yaml index 8e4bb352eb..e98f6c7718 100644 --- a/perf-changelog.yaml +++ b/perf-changelog.yaml @@ -8643,3 +8643,9 @@ description: - 'Validate srt-slurm 049a6b5804fb3f9bfbc959a7f7379935fe8952a7 with rank-sized MoRI handshake blocks and handshake/notify defaults below Linux ephemeral ports. Preserve engine images, serving options, and all nine workload concurrencies.' pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/2824 + +- config-keys: + - minimaxm3-fp4-mi355x-vllm-disagg + description: + - 'Pin synchronized AMD runtime 7a7ca652fad37026bbf476b3f4368cd34c73c1c6 and add an explicit single-node colocated TP4/TP4 smoke recipe. Preserve the archived production two-node layout and engine settings.' + pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/2824