Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
1d24294
perf(amd): tune Kimi K2.5 MXFP4 on MI355X [skip-sweep]
Fangzhou-Ai Jul 14, 2026
601eefc
Update kimik2.5_fp4_mi355x.sh
Fangzhou-Ai Jul 14, 2026
335b39a
Update kimik2.5_fp4_mi355x.sh
Fangzhou-Ai Jul 14, 2026
7f57919
perf(amd): pin rocm/vllm-dev:nightly_cdna4 for Kimi-K2.5 MXFP4 MI355X…
Fangzhou-Ai Jul 21, 2026
8462ad9
Merge remote-tracking branch 'origin/main' into perf/kimi-k2.5-mi355x…
Fangzhou-Ai Jul 21, 2026
5284120
Merge remote-tracking branch 'origin/perf/kimi-k2.5-mi355x-tp4' into …
Fangzhou-Ai Jul 21, 2026
2102c99
perf(amd): pin immutable nightly_cdna4 build tag for Kimi-K2.5 MXFP4 …
Fangzhou-Ai Jul 21, 2026
19100b1
fix(kimik2.5): lower MI355X gpu-memory-utilization 0.90 -> 0.85
Fangzhou-Ai Jul 22, 2026
7f0b091
Merge branch 'main' into perf/kimi-k2.5-mi355x-tp4
chunfangamd Jul 22, 2026
ca3845f
perf(amd): track floating nightly_cdna4 tag for Kimi-K2.5 MXFP4 MI355X
Fangzhou-Ai Jul 22, 2026
7efe298
perf(amd): pin official vllm-openai-rocm nightly for Kimi-K2.5 MXFP4 …
Fangzhou-Ai Jul 22, 2026
45c6584
Merge branch 'main' into perf/kimi-k2.5-mi355x-tp4
Fangzhou-Ai Jul 22, 2026
d1fd00e
Merge branch 'main' into perf/kimi-k2.5-mi355x-tp4
chunfangamd Jul 23, 2026
1f924f9
Merge branch 'main' into perf/kimi-k2.5-mi355x-tp4
Fangzhou-Ai Jul 28, 2026
4c45983
Merge branch 'main' into perf/kimi-k2.5-mi355x-tp4
chunfangamd Jul 29, 2026
33d99d4
Merge branch 'main' into perf/kimi-k2.5-mi355x-tp4
Fangzhou-Ai Jul 29, 2026
42572fc
Merge branch 'main' into perf/kimi-k2.5-mi355x-tp4
chunfangamd Jul 30, 2026
0039eb8
Merge branch 'main' into perf/kimi-k2.5-mi355x-tp4
chunfangamd Jul 30, 2026
5ef6877
fix(changelog): move the Kimi-K2.5 entry out of PR #2104's entry [ski…
functionstackx Jul 30, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 16 additions & 6 deletions benchmarks/single_node/fixed_seq_len/kimik2.5_fp4_mi355x.sh
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,10 @@ if [ "${EVAL_ONLY}" = "true" ]; then
MAX_MODEL_LEN="$EVAL_MAX_MODEL_LEN"
fi

if [ "$MAX_MODEL_LEN" -lt 9472 ]; then
MAX_MODEL_LEN=9472
fi

# If the machine runs a MEC FW older than 177, RCCL
# cannot reclaim some memory.
# Disable that features to avoid crashes.
Expand All @@ -47,6 +51,12 @@ fi

export VLLM_ROCM_USE_AITER=1
export VLLM_ROCM_QUICK_REDUCE_QUANTIZATION=INT4
export VLLM_ROCM_USE_AITER_FUSION_SHARED_EXPERTS=1
export VLLM_ROCM_USE_SKINNY_GEMM=0
export AITER_MXFP4_INTERMEDIATE=1
export AITER_BYPASS_TUNE_CONFIG=0
export AITER_MOE_SORT_BACKEND=auto
export OMP_NUM_THREADS=1

# Disable AITER RMSNorm for TP < 8 due to accuracy issues
if [ "${TP}" -lt 8 ]; then
Expand All @@ -59,20 +69,20 @@ else
EP=" "
fi

# following AMD andy luo's recipe
# https://x.com/linluo77/status/2017024513595301985

# Start GPU monitoring (power, temperature, clocks every second)
start_gpu_monitor

set -x
vllm serve $MODEL --port $PORT \
--tensor-parallel-size=$TP \
$EP \
--gpu-memory-utilization 0.90 \
--gpu-memory-utilization 0.85 \
--max-model-len $MAX_MODEL_LEN \
--block-size=1 \
--no-enable-prefix-caching \
--kv-cache-dtype fp8 \
--block-size 16 \
--max-num-batched-tokens 16384 \
--max-num-seqs 512 \
--async-scheduling \
--trust-remote-code \
--no-enable-prefix-caching \
--mm-encoder-tp-mode data > $SERVER_LOG 2>&1 &
Expand Down
6 changes: 3 additions & 3 deletions configs/amd-master.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -509,7 +509,7 @@ kimik2.5-int4-mi300x-vllm:
- { tp: 8, conc-start: 4, conc-end: 64 }

kimik2.5-fp4-mi355x-vllm:
image: vllm/vllm-openai-rocm:v0.24.0
image: vllm/vllm-openai-rocm:nightly-387189c42997b27e2c04b5d97ef8190ffa2bf909
model: amd/Kimi-K2.5-MXFP4
model-prefix: kimik2.5
runner: mi355x
Expand All @@ -521,8 +521,8 @@ kimik2.5-fp4-mi355x-vllm:
- isl: 8192
osl: 1024
search-space:
- { tp: 8, conc-start: 4, conc-end: 64 }
- { tp: 4, conc-start: 4, conc-end: 64 }
- { tp: 8, conc-start: 4, conc-end: 128 }
- { tp: 4, conc-start: 4, conc-end: 128 }

kimik2.5-fp4-mi355x-vllm-agentic:
image: vllm/vllm-openai-rocm:v0.22.0
Expand Down
8 changes: 8 additions & 0 deletions perf-changelog.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5347,3 +5347,11 @@
- "Add seven checked-in srt-slurm recipes selected one-to-one by the 8K/1K prefill/decode topology and concurrency entries."
- "Image: vllm/vllm-openai:v0.25.1"
pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/2360

- config-keys:
- kimik2.5-fp4-mi355x-vllm
description:
- "Set the vLLM ROCm image to the immutable vllm/vllm-openai-rocm:nightly-387189c42997b27e2c04b5d97ef8190ffa2bf909 build (the latest official ROCm nightly, commit-pinned), which ships the AITER MXFP4 MoE bump (>= v0.1.16.post5 from vllm-project/vllm#48683) including the ROCm/aiter#3832 gfx950 MXFP4 MoE backend"
- "Apply the accuracy-gated Kimi-K2.5 MXFP4 settings: tuned AITER MXFP4 MoE, fused shared experts, FP8 KV cache, block size 16, 16384 batched tokens, 512 sequences, async scheduling, gpu-memory-utilization 0.85 (headroom for CUDA-graph capture on MI355X), and the AITER BF16 GEMM path"
- "Extend the TP4 and TP8 8k1k concurrency sweep from 64 to 128 (1k1k deprecated per #2263)"
pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/2213
Loading