Commit b38bf41
[AMD] MiniMax-M3 MXFP8 MI355X vLLM: gate AITER sparse PA to 8k1k high-conc + native linear default / MiniMax-M3 MXFP8 MI355X vLLM:AITER 稀疏分页注意力门控至 8k1k 高并发 + 默认原生 linear (#2187)
* [AMD] MiniMax-M3 MXFP8 MI355X vLLM: enable AITER sparse PA + drop emulation linear
Bump the minimaxm3-fp8-mi355x-vllm image to
nightly-9e57de7197f234f9d9187715d96e07e007048c0f, which carries the merged
AITER page-16 sparse paged-attention path (vllm-project/vllm#47287). Enable it
via VLLM_ROCM_SHUFFLE_KV_CACHE_LAYOUT=1 (with VLLM_ROCM_USE_AITER=1 and fp8 KV
cache on TP4, num_kv_heads == 1 per rank) plus the recipe's quick all-reduce
knobs VLLM_ROCM_QUICK_REDUCE_CAST_BF16_TO_FP16=0 and
VLLM_ROCM_QUICK_REDUCE_QUANTIZATION_MIN_SIZE_KB=256. Drop --linear-backend
emulation now that the Triton MXFP8 dense-linear GEMM is optimized. Deliberately
do NOT add the #47269 --hf-overrides use_index_cache/index_topk_freq indexer
skip: it reduces model-architecture FLOPs, disallowed by
docs/PR_REVIEW_CHECKLIST.md. Sparse PA is a kernel-level speedup only.
Verified locally on MI355X (gfx950) TP4 8k1k: conc1 10/10 and conc512 5120/5120
completed with zero failures (conc512 ~28.6k tok/s total, ~7.1k tok/s/GPU).
中文:将 minimaxm3-fp8-mi355x-vllm 镜像升级到
nightly-9e57de7197f234f9d9187715d96e07e007048c0f,该镜像已包含合并进主分支的
AITER page-16 稀疏分页注意力(sparse paged attention, vllm-project/vllm#47287)。
通过 VLLM_ROCM_SHUFFLE_KV_CACHE_LAYOUT=1(配合 VLLM_ROCM_USE_AITER=1、fp8 KV
cache 及 TP4,每个 rank num_kv_heads == 1)启用,并补上 recipe 的 quick
all-reduce 调优开关 VLLM_ROCM_QUICK_REDUCE_CAST_BF16_TO_FP16=0 与
VLLM_ROCM_QUICK_REDUCE_QUANTIZATION_MIN_SIZE_KB=256。由于 Triton MXFP8 稠密
linear GEMM 已优化,移除 --linear-backend emulation。刻意不添加 #47269 的
--hf-overrides use_index_cache/index_topk_freq indexer 跳层开关:它会减少模型
架构 FLOPs,违反 docs/PR_REVIEW_CHECKLIST.md。sparse PA 仅为 kernel 级加速。
已在 MI355X(gfx950) TP4 8k1k 本地验证:conc1 10/10、conc512 5120/5120 全部成功
(conc512 约 28.6k tok/s 总吞吐,约 7.1k tok/s/GPU)。
Co-authored-by: Cursor <cursoragent@cursor.com>
* [AMD] MiniMax-M3 MXFP8 MI355X vLLM: concurrency-gate emulation linear for 8k1k high-conc
On the sparse-PA nightly the dense-linear backend crossover reversed vs #2003:
the native Triton MXFP8 GEMM now wins in the memory-bound low-concurrency
regime, while --linear-backend emulation (bf16 hipBLASLT) still wins in the
compute-bound high-concurrency regime. Measured on gfx950 MXFP8 + sparse PA:
emulation ~+3-5% at 8k1k conc 64-512 but ~-3% at conc 1-8. Gate emulation to
isl>=8192 && conc>=64; native everywhere else (all 1k1k, 8k1k conc<64).
Overridable via LINEAR_BACKEND.
中文:在 sparse-PA nightly 上,稠密 linear 后端的性能拐点相比 #2003 发生反转:
原生 Triton MXFP8 GEMM 现在在访存受限的低并发区间更快,而 --linear-backend
emulation(bf16 hipBLASLT)仍在计算受限的高并发区间更快。gfx950 MXFP8 + sparse
PA 实测:emulation 在 8k1k conc 64-512 约 +3-5%,在 conc 1-8 约 -3%。因此将
emulation 限定在 isl>=8192 且 conc>=64,其余(所有 1k1k、8k1k conc<64)使用原生
路径。可通过 LINEAR_BACKEND 覆盖。
Co-authored-by: Cursor <cursoragent@cursor.com>
* [AMD] MiniMax-M3 MXFP8 MI355X vLLM: gate sparse-PA fast path to 8k1k high-conc
AITER page-16 sparse PA is a long-context/high-batch optimization: it wins at
8k1k conc>=64 but adds overhead at short context (1k1k) and low concurrency.
Gate both VLLM_ROCM_SHUFFLE_KV_CACHE_LAYOUT (sparse PA) and --linear-backend
emulation behind a single MM3_HIGH_CONC_FASTPATH condition (isl>=8192 &&
conc>=64); everything else falls back to the #2003 path (non-shuffled Triton
attention + native linear) so there is no regression outside the target regime.
Net vs #2003: 8k1k tput/gpu conc128 +3.3%, conc256 +2.5%, conc512 +4.7% (peak),
neutral elsewhere. Overridable via MM3_HIGH_CONC_FASTPATH / LINEAR_BACKEND.
中文:AITER page-16 稀疏分页注意力(sparse PA)是长上下文/大批量优化:在 8k1k
conc>=64 有收益,但在短上下文(1k1k)和低并发下带来额外开销。将
VLLM_ROCM_SHUFFLE_KV_CACHE_LAYOUT(sparse PA)与 --linear-backend emulation 统一
用 MM3_HIGH_CONC_FASTPATH 条件(isl>=8192 且 conc>=64)门控;其余情况回退到 #2003
路径(非 shuffle 的 Triton 注意力 + 原生 linear),从而在目标区间之外不产生回退。
相对 #2003:8k1k tput/gpu conc128 +3.3%、conc256 +2.5%、conc512 +4.7%(峰值),
其余基本持平。可通过 MM3_HIGH_CONC_FASTPATH / LINEAR_BACKEND 覆盖。
Co-authored-by: Cursor <cursoragent@cursor.com>
* chore: set perf-changelog pr-link to #2187
中文:将 perf-changelog 的 pr-link 设置为 #2187。
Co-authored-by: Cursor <cursoragent@cursor.com>
* minor tuning
* [AMD] MiniMax-M3 MXFP8 MI355X vLLM: use INT4 quick all-reduce for all concurrencies
Switch VLLM_ROCM_QUICK_REDUCE_QUANTIZATION from INT6 to INT4 unconditionally
(#2003 used INT6); accuracy is guarded by the 8k1k evals. The AITER quick
all-reduce tuning knobs (CAST_BF16_TO_FP16=0, QUANTIZATION_MIN_SIZE_KB=256)
remain in the 8k1k high-conc fast path. Aimed at lifting the low/mid-conc points
(e.g. the 8k1k conc8 dip) via cheaper all-reduces.
中文:将 VLLM_ROCM_QUICK_REDUCE_QUANTIZATION 从 INT6 无条件改为 INT4(#2003 用的是
INT6),准确性由 8k1k evals 保障。AITER quick all-reduce 调优开关
(CAST_BF16_TO_FP16=0、QUANTIZATION_MIN_SIZE_KB=256) 仍保留在 8k1k 高并发快速路径中。
目的是通过更廉价的 all-reduce 提升低/中并发点(例如 8k1k conc8 的回退)。
Co-authored-by: Cursor <cursoragent@cursor.com>
---------
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: seungrokj <144636725+seungrokj@users.noreply.github.com>
Co-authored-by: Alec Ibarra <93070681+adibarra@users.noreply.github.com>1 parent 89696c5 commit b38bf41
3 files changed
Lines changed: 68 additions & 5 deletions
File tree
- benchmarks/single_node/fixed_seq_len
- configs
Lines changed: 56 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
6 | 17 | | |
7 | 18 | | |
8 | 19 | | |
| |||
31 | 42 | | |
32 | 43 | | |
33 | 44 | | |
34 | | - | |
35 | | - | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
36 | 49 | | |
37 | | - | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
38 | 78 | | |
39 | 79 | | |
40 | 80 | | |
| |||
61 | 101 | | |
62 | 102 | | |
63 | 103 | | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
64 | 116 | | |
65 | 117 | | |
66 | 118 | | |
| |||
74 | 126 | | |
75 | 127 | | |
76 | 128 | | |
77 | | - | |
| 129 | + | |
78 | 130 | | |
79 | 131 | | |
80 | 132 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1621 | 1621 | | |
1622 | 1622 | | |
1623 | 1623 | | |
1624 | | - | |
| 1624 | + | |
1625 | 1625 | | |
1626 | 1626 | | |
1627 | 1627 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4751 | 4751 | | |
4752 | 4752 | | |
4753 | 4753 | | |
| 4754 | + | |
| 4755 | + | |
| 4756 | + | |
| 4757 | + | |
| 4758 | + | |
| 4759 | + | |
| 4760 | + | |
| 4761 | + | |
| 4762 | + | |
| 4763 | + | |
| 4764 | + | |
4754 | 4765 | | |
4755 | 4766 | | |
4756 | 4767 | | |
| |||
0 commit comments