Skip to content

Commit 85f2ca8

Browse files
Re-add vllm-project/vllm#58671's ROCm paged MXFP4 sparse indexer
Stacked on #3555. Re-adds the --attention-config flag enabling #58671's ROCm paged MXFP4 sparse-logits indexer and the --block-size 128 workaround its active fp4 indexer needs (vLLM's block-size auto-resolution otherwise picks 64 across this model's 4+ attention backends). Draft until #58671 merges upstream and lands in a nightly image, so #3555 can run now and this PR can re-sweep immediately once it's available. Signed-off-by: Fangzhou Ai <31551580+Fangzhou-Ai@users.noreply.github.com> Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent 0b77984 commit 85f2ca8

3 files changed

Lines changed: 27 additions & 6 deletions

File tree

‎inferencex-e2e/benchmarks/single_node/srt-slurm-recipes/dsv41flash/vllm/mi355x-fp4-mtp/agentic.yaml‎

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,12 @@ base:
66
name: dsv41flash-fp4-mi355x-vllm-agentic
77
model:
88
path: hf:deepseek-ai/DeepSeek-V4.1-Flash
9-
# Repinned to a nightly build that includes vllm-project/vllm#58655
10-
# (mHC fused Triton seams) and #53492 (sparse MLA Gluon kernel).
11-
container: vllm/vllm-openai-rocm:nightly-rocm100-36768d1bfd39094681cdbc8cb37d4b31c0729c89
9+
# TODO: repin once a nightly image is released that includes
10+
# vllm-project/vllm#58671 (paged MXFP4 sparse indexer, merged upstream),
11+
# in addition to #58655 (mHC fused Triton seams) and #53492 (sparse MLA
12+
# Gluon kernel) already carried by the previous pin
13+
# (nightly-rocm100-36768d1b).
14+
container: vllm/vllm-openai-rocm:nightly-rocm100-TBD
1215
precision: fp4
1316
resources:
1417
gpu_type: mi355x
@@ -42,6 +45,16 @@ base:
4245
# aiter_triton_mxfp4_bf16 would force the W4A16 Triton kernel.
4346
moe-backend: aiter
4447
gpu-memory-utilization: 0.9
48+
# Enables vllm-project/vllm#58671's ROCm paged MXFP4 sparse-logits
49+
# indexer kernel instead of the dense fp8 indexer path.
50+
attention-config: '{"indexer_kv_dtype":"mxfp4","indexer_sparse_logits":true}'
51+
# With 4+ attention backends active (SparseMLA, SparseSWA, the MXFP4
52+
# indexer, Compressor), vLLM's block-size auto-resolution picks the
53+
# smallest size every backend merely supports (64), not the 128 the
54+
# indexer and SparseMLA backends actually prefer for this fp4 indexer
55+
# path. Force 128 explicitly; see vllm-project/vllm's
56+
# Platform._preferred_block_size_for_backends.
57+
block-size: 128
4558
# Five-token DSpark with probabilistic drafting. Throughput runs replace
4659
# block rejection with the golden acceptance length. Adaptive
4760
# verification trims requests on device, which the ROCm DeepSeek-V4

‎inferencex-e2e/configs/amd-master.yaml‎

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1391,9 +1391,10 @@ dsv4-fp4-mi355x-sglang-agentic-mtp:
13911391
# Two GPUs per server doubles the servers per node and is the layout that
13921392
# decides whether DSv4.1-Flash is throughput- or interactivity-bound here.
13931393
dsv41flash-fp4-mi355x-vllm-agentic-dspark:
1394-
# Repinned to a nightly build that includes vllm-project/vllm#58655 and
1395-
# #53492 (see agentic.yaml).
1396-
image: vllm/vllm-openai-rocm:nightly-rocm100-36768d1bfd39094681cdbc8cb37d4b31c0729c89
1394+
# TODO: repin once a nightly image is released that includes
1395+
# vllm-project/vllm#58671 (already merged upstream), in addition to
1396+
# #58655 and #53492 (see agentic.yaml).
1397+
image: vllm/vllm-openai-rocm:nightly-rocm100-TBD
13971398
model: deepseek-ai/DeepSeek-V4.1-Flash
13981399
model-prefix: dsv41flash
13991400
runner: cluster:mi355x-amds

‎inferencex-e2e/perf-changelog.yaml‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9127,3 +9127,10 @@
91279127
- "Force VLLM_ROCM_USE_AITER_TRITON_SPARSE_MLA=True to enable vllm-project/vllm#53492's gfx950 Gluon sparse-MLA kernel. Repin the recipe and master config to vllm/vllm-openai-rocm:nightly-rocm100-36768d1bfd39094681cdbc8cb37d4b31c0729c89, which includes #53492 and vllm-project/vllm#58655 (fused mHC Triton kernel). vllm-project/vllm#58208 (DSA candidate topk) was reverted by vllm-project/vllm#59125 before this build, and vllm-project/vllm#58671's MXFP4 sparse indexer landed after it; the indexer is left to #3571."
91289128
- "设置 VLLM_ROCM_USE_AITER_TRITON_SPARSE_MLA=True,启用 vllm-project/vllm#53492 的 gfx950 Gluon sparse-MLA kernel。将配方与主配置固定到 vllm/vllm-openai-rocm:nightly-rocm100-36768d1bfd39094681cdbc8cb37d4b31c0729c89,该镜像包含 #53492 与 vllm-project/vllm#58655(融合 mHC Triton kernel)。vllm-project/vllm#58208(DSA 候选块 topk)在该构建之前已被 vllm-project/vllm#59125 回滚;vllm-project/vllm#58671 的 MXFP4 稀疏 indexer 在该构建之后才合入,留待 #3571。"
91299129
pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/3555
9130+
9131+
- config-keys:
9132+
- dsv41flash-fp4-mi355x-vllm-agentic-dspark
9133+
description:
9134+
- "Stacked on #3555. Re-add --attention-config '{\"indexer_kv_dtype\":\"mxfp4\",\"indexer_sparse_logits\":true}' and --block-size 128 to enable vllm-project/vllm#58671's ROCm paged MXFP4 sparse-logits indexer once it merges upstream, replacing the dense fp8 indexer path. A live A/B test (TP2 c16, matched 900s window, #58208 reverted via #59125 so the dense fallback doesn't crash) measured #58671 giving +14.7/+14.9% p50/p90 interactivity and -9.5/-10.8% p50/p90 e2e latency over the dense path, with throughput/GPU unchanged. Draft until #58671 merges and lands in a nightly image; kept separate from #3555 so that PR can run now and this one can re-sweep immediately once #58671 is available."
9135+
- "基于 #3555 之上。重新添加 --attention-config '{\"indexer_kv_dtype\":\"mxfp4\",\"indexer_sparse_logits\":true}' 与 --block-size 128,以便在 vllm-project/vllm#58671 合并上游后启用其 ROCm 分页 MXFP4 稀疏 logits indexer,取代稠密 fp8 indexer 路径。一次真实的 A/B 测试(TP2、并发 16,匹配 900 秒窗口,并通过 #59125 回滚 #58208 以避免稠密回退路径崩溃)测得 #58671 相较稠密路径带来 interactivity p50/p90 提升 14.7%/14.9%,e2e 延迟 p50/p90 降低 9.5%/10.8%,而 throughput/GPU 无变化。本 PR 保持 draft 状态,直到 #58671 合并并随 nightly 镜像发布;与 #3555 分开提交,以便该 PR 可先行运行,本 PR 待 #58671 可用后立即重新扫描。"
9136+
pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/3571

0 commit comments

Comments
 (0)