vLLM 开发动态报告 - 2026-03-15
时间窗口: 2026-03-15 11:50 (UTC+8) ~ 2026-03-16 11:50 (UTC+8) 数据统计: 新 Issue 6 | 关闭 Issue 10 | 新 PR 39 | 合并 PR 7 | 关闭未合并 PR 11
📊 每日开发状态摘要
本周期(2026-03-15至2026-03-16)vLLM 社区保持高度活跃,新增 39 个 PR,合并 7 个,显示了强劲的开发动力。核心关注点集中在内存管理优化(多个内存 OOM/高估 Bug)、对新硬件与新模型架构的适配(如 RTX Blackwell SM 120、混合 Mamba/Attention 模型),以及AMD 生态支持的持续深化。性能优化与量化支持(特别是 MXFP4 和 Quark)是技术演进的主要方向。
🎯 AMD/ROCm 生态相关动态
本周期 AMD 生态贡献显著,涵盖 GPU 与 CPU 领域:
- PR #37137 [ROCm][Quantization] Add Quark W4A16 MXFP4 A16 for LinearLayer
- 贡献者:
xuebwang-amd(AMD员工) - 内容:为
LinearLayer添加了基于 Quark 量化工具的 W4A16 MXFP4(权重量化)支持。这是 AMD 自研量化工具链与 vLLM 集成的重要一步,旨在为 AMD GPU 提供高效的量化推理方案。 - 测试:在 Qwen3-8B 模型上使用 MXFP4 权重量化进行了正确性验证(GSM8K 基准测试)。
- 影响:丰富了 AMD 平台上的量化格式选择,有助于提升 MI 系列 GPU 的推理能效。
- 贡献者:
- PR #35970 [Merged] In-Tree AMD Zen CPU Backend via zentorch [1/N]
- 贡献者:
amd-lalithnc(AMD员工) - 内容:已合并。为 AMD Zen(EPYC)CPU 引入了 “zentorch” 后端支持。当检测到支持 AVX-512 的 AMD CPU 并安装 zentorch 后,平台将自动路由 GEMM 操作至优化后的
zentorch_linear_unary内核。 - 技术细节:引入
ZenCpuPlatform子类、权重预打包(通过VLLM_ZENTORCH_WEIGHT_PREPACK控制)、专用的 Docker 构建目标(vllm-openai-amd),并修复了 PyTorch 2.10 下的一个编译缓存问题。 - 影响:这是 AMD CPU 原生高性能支持 的基础性工作,旨在为基于 EPYC 的服务器的 CPU 推理场景提供显著的性能提升。
- 贡献者:
- Closed Issue #35132 & #29534
- 内容:两个与 ROCm CI 相关的测试失败问题被关闭,表明之前影响 AMD 平台测试稳定性的问题(如跨层 KV 布局测试、MOE LoRA 对齐内核的共享内存超限)已通过相关 PR 得到修复。
- 影响:提升了 AMD CI 流水线的稳定性和可靠性,是保障 AMD 平台代码质量的关键。
小结:AMD 团队正从 GPU 量化(Quark) 和 CPU 原生后端(zentorch) 两个维度系统性地增强 vLLM 在 AMD 全栈硬件上的竞争力与用户体验。
💬 高热度讨论分析
- Issue #37096: [Bug]: v0.17.0-aarch64 onwards will run out of CUDA memory for gpt-oss-120b on GH200 144GB
- 核心议题:用户在 GH200(ARM架构)上运行大模型时遭遇严重的内存 OOM,
non_torch_memory计算出现负值,导致 KV 缓存过度分配。 - 不同观点:
- 报告者 (xuancong84, gaby):提供了详细环境信息,指出多个模型在 0.17.x 版本均出现异常内存申请。
- 推测者 (ZJY0516, haosdent):关联到可能与 PR #30515(睡眠模式)或 PR #32947(cumem 分配器)有关。
haosdent明确指出根因可能是memory_reserved()未能跟踪 cumem 清理,导致计算偏差,并提出了修复 PR #37111。
- 当前状态:问题开放中,但根本原因已由
haosdent定位并提交修复 PR(#37111)。讨论体现了社区对内存管理这一核心问题的高度关注和高效协作。
- 核心议题:用户在 GH200(ARM架构)上运行大模型时遭遇严重的内存 OOM,
- Issue #37113: MLA attention support for SM 120 (RTX Blackwell)
- 核心议题:支持 MLA(Multi-head Latent Attention)模型(如 GLM-5, DeepSeek-V3.2)在 NVIDIA 新一代 RTX Blackwell (SM 120) 显卡上的运行。
- 讨论内容:用户
voipmonitor系统性地提出了问题、解决方案(三个关联 PR #37116, #37117, #37119)和性能基准。后续更新中揭露了 MTP 推测解码在并发请求下的竞态条件崩溃问题,并进行了根因分析(批处理队列竞态、Blackwell SM120 稳定性),提出了修复 PR #37132。 - 争议焦点:无显著争议,更多是技术攻关的同步与进展分享。
- 当前状态:开放中,作为跟踪 Issue。一系列修复 PR 已提交,展现了社区快速适配新硬件的能力。
- Issue #37121: [Performance]: KV cache ~7x memory overestimation for hybrid Mamba/attention models (Qwen3.5)
- 核心议题:vLLM 的 KV 缓存分析器未能正确处理 Qwen3.5 等混合 Mamba (O(1) 状态) 与 Attention (O(n) KV) 的模型架构,导致内存分配被严重高估(约7倍),利用率低下。
- 不同观点:
- 报告者 (swtb3):详细分析了代码根因(
kv_cache_utils.py中的统一页面大小和报告逻辑问题),并提出了具体的修复方案。 - 社区:无反对意见。报告者主动表示愿意提交 PR。
- 报告者 (swtb3):详细分析了代码根因(
- 当前状态:开放中。对应的修复 PR #37124 已迅速被提交,展示了问题从发现到提出解决方案的高效流程。
🔥 热门话题与趋势分析
- 模型支持持续扩大:新增了 HyperCLOVA X(PR #37107)模型的支持,反映了 vLLM 紧跟主流模型家族发展的趋势。
- 性能优化与内存管理:多个 PR 围绕性能提升和内存精确管理展开,例如:
- 内核优化:PR #37110 将 FP8 动态逐组量化融合到 Triton attention 内核中,消除 HBM 往返,提升 prefill 性能(最高 1.73倍)。
- 加载优化:PR #37136 针对 DP+EP 部署场景,在模型加载时跳过读取非本地专家权重,将 MoE 模型加载速度提升最高 2.5 倍。
- 内存估算修复:除了 #37124,PR #37111 修复了因 cumem 分配器导致的
memory_reserved()跟踪错误,解决了内存 OOM 的根本问题。
- 量化支持深入推进:围绕 MXFP4 格式的优化(PR #37128, #37135)和 AMD Quark 工具的集成(PR #37137)是量化方面的主要工作,旨在为不同硬件平台提供高效的量化方案。
- 新硬件与架构适配:除了对 RTX Blackwell (SM 120) 的支持(Issue #37113),对混合架构模型(Mamba+Attention)的适配(Issue #37121)也是当前热点,说明 vLLM 正在应对越来越复杂的模型结构。
🛠️ 重点技术变更
- PR #37111: [Bugfix] Fix OOM caused by cumem allocator inflating memory_reserved()
- 解读:修复了一个深层次的 CUDA 内存管理 Bug。当使用
cumem分配器时,其手动释放缓存块的操作绕过了 PyTorch 的跟踪,导致torch.cuda.memory_reserved()数值虚高,进而使 vLLM 低估了非 KV 缓存内存,过度分配 KV 缓存引发 OOM。 - 影响:解决了自 #32947 后可能引入的系统性内存估算错误,对使用 cumem 分配器加载大模型的稳定性至关重要。
- 解读:修复了一个深层次的 CUDA 内存管理 Bug。当使用
- PR #37124: [Bugfix] Fix KV cache overestimation for hybrid Mamba/attention model…
- 解读:专项修复了 vLLM KV 缓存管理逻辑对混合状态模型(如 Qwen3.5)的不适配问题。通过区分对待 Mamba 层的常数大小“状态”和 Attention 层的线性增长 KV 缓存,实现了精确的内存计算与分配。
- 影响:大幅提升了 Qwen3.5 系列模型在 vLLM 中的内存利用率,为高效部署此类新兴架构模型铺平道路。
- PR #37135: [Bugfix] Fix FP16 overflow in NVFP4 Marlin kernel epilogue…
- 解读:修复了 NVFP4 Marlin 量化内核中两个关键 Bug:1) FP16 累加器在应用
global_scale前转换导致的溢出;2) SM75 架构上 FP16 MMA 累加导致的中间溢出。通过调整计算顺序和禁用 FP16 累加,确保了数值稳定性。 - 影响:保障了 NVFP4 量化模型在更广泛 GPU 架构(尤其是较旧的 SM75)上使用 FP16 精度推理的正确性,扩大了该量化方案的适用性。
- 解读:修复了 NVFP4 Marlin 量化内核中两个关键 Bug:1) FP16 累加器在应用
📈 开发活跃度观察
- 贡献活跃:单日新增 39 个 PR,反映出庞大且活跃的贡献者群体。贡献者不仅包括 AMD (
-amd)、NVIDIA 等硬件厂商员工,也有大量来自个人和组织的独立开发者。 - 审查与合并效率:合并了 7 个 PR,其中包括 AMD Zen CPU 后端(#35970)这样的大型特性,表明核心维护团队对关键功能的合并持积极态度,流程顺畅。
- 问题响应速度:对于 #37096 和 #37121 这类严重 Bug,社区能在数小时内分析根因并提交修复 PR,展现了高效的协同问题解决能力。
💡 值得关注的问题
- 内存管理复杂性:Issue #37096 及其修复 PR #37111 揭示了底层内存分配器(如 cumem)与上层内存统计之间微妙的交互问题。随着更多定制化内存管理策略的引入,此类问题的调试和防范需要持续关注。
- 新硬件与新格式的稳定化:Issue #37113 显示,在 RTX Blackwell 上支持 MLA 等新 attention 格式仍面临稳定性挑战(如并发 MTP 下的竞态条件)。确保新硬件上各种优化内核的稳定运行是持续的工作。
- 混合模型架构的通用支持:Issue #37121 和 PR #37124 解决了 Qwen3.5 的特定问题,但随着 Mamba、MLA、MoE 等组件以各种形式组合,vLLM 的 KV 缓存、调度器等核心组件可能需要更通用的抽象来优雅地支持这些混合架构。
📋 附录:详细数据列表
新增 Issue
- #37133 [Bug]: — bug — by yourbikun (创建于: 2026-03-16 10:45 (UTC+8))
- #37113 MLA attention support for SM 120 (RTX Blackwell) — 无标签 — by voipmonitor (创建于: 2026-03-16 01:40 (UTC+8))
- #37129 [Feature]: MiniCPM-o audio output (TTS) support — 无标签 — by luke-n-alpha (创建于: 2026-03-16 08:18 (UTC+8))
- #37121 [Performance]: KV cache ~7x memory overestimation for hybrid Mamba/attention models (Qwen3.5) — performance — by swtb3 (创建于: 2026-03-16 03:16 (UTC+8))
- #37096 [Bug]: v0.17.0-aarch64 onwards will run out of CUDA memory for gpt-oss-120b on GH200 144GB — bug — by xuancong84 (创建于: 2026-03-15 13:54 (UTC+8))
- #37103 [Bug]: UserWarning: Input tensor shape suggests potential format mismatch — bug — by eiffel31 (创建于: 2026-03-15 19:12 (UTC+8))
已关闭 Issue
- #36898 [Feature]: Publish CPU images compatible with GitHub Actions — feature request — by nathan-weinberg (关闭于: 2026-03-16 10:42 (UTC+8))
- #25272 [Bug]: openapi from vllm doesnt generate cleanly in all languages — bug,stale — by edwardcapriolo (关闭于: 2026-03-16 10:23 (UTC+8))
- #27909 [Bug]: Potential Out-of-bounds in cache_kernels.cu — bug,stale — by molly-ting (关闭于: 2026-03-16 10:23 (UTC+8))
- #28396 [Bug]: Sporadic out.is_contiguous assert crashes with Kimi-K2-Thinking — bug,stale,deepseek — by wizche (关闭于: 2026-03-16 10:23 (UTC+8))
- #37129 [Feature]: MiniCPM-o audio output (TTS) support — 无标签 — by luke-n-alpha (关闭于: 2026-03-16 08:19 (UTC+8))
- #37079 [Bug]: Native Tool Calling collapses reasoning quality when any Tool/Function/Filter is enabled (vLLM auto-tool-choice backend) — bug — by Tyrannius (关闭于: 2026-03-16 07:34 (UTC+8))
- #29534 [CI Failure]: mi325_8: LoRA Test %N — ci-failure — by AndreasKaratzas (关闭于: 2026-03-16 04:01 (UTC+8))
- #35132 [CI Failure][ROCm]: CrossLayer KV layout Distributed NixlConnector PD accuracy tests (4 GPUs) — rocm,ci-failure — by AndreasKaratzas (关闭于: 2026-03-16 04:01 (UTC+8))
- #36584 [Bug]: Qwen3.5-35B-A3B FlashInfer JIT compilation fails with C++17 feature errors (e.g., std::is_unsigned_v) when using vLLM 0.17.0 — bug — by FLCgeigei (关闭于: 2026-03-16 00:40 (UTC+8))
- #36886 [Bug]:
vllmdepends onxgrammarversion0.1.29exactly which is vulnerable to CVE-2026-25048 — bug — by benglewis (关闭于: 2026-03-15 22:55 (UTC+8))
新增 PR
- #37136 [Performance][Model Loader] Skip non-local expert weights during EP model loading — 无标签 — by esmeetu (创建于: 2026-03-16 11:08 (UTC+8))
- #37138 [ROCm][CI] Fix engine teardown and text normalization to stabilize voxtral test — rocm,ready,multi-modality — by AndreasKaratzas (创建于: 2026-03-16 11:42 (UTC+8))
- #37139 [Models][Qwen3 ViT] Keep
max_seqlenon CPU to prevent D2H sync — qwen — by lgeiger (创建于: 2026-03-16 11:48 (UTC+8)) - #37127 [CI][Bugfix] Fix 500 errors from priority overflow and TemplateError subclasses in schema fuzz tests — bug,rocm,frontend,ready,ci/build — by AndreasKaratzas (创建于: 2026-03-16 06:41 (UTC+8))
- #37111 [Bugfix] Fix OOM caused by cumem allocator inflating memory_reserved() — bug,v1 — by haosdent (创建于: 2026-03-16 01:23 (UTC+8))
- #37134 [Draft][Hardware] replace torch.cuda.Stream with torch.Stream — documentation,performance,speculative-decoding,v1,cpu,kv-connector,nvidia — by jikunshang (创建于: 2026-03-16 10:49 (UTC+8))
- #37112 [Feature] Add reasoning_budget to cap thinking tokens via existing reasoning parser — frontend,v1 — by abhinand5 (创建于: 2026-03-16 01:36 (UTC+8))
- #37137 [ROCm][Quantization] Add Quark W4A16 MXFP4 A16 for LinearLayer — rocm — by xuebwang-amd (创建于: 2026-03-16 11:12 (UTC+8))
- #37135 [Bugfix] Fix FP16 overflow in NVFP4 Marlin kernel epilogue and forward input_global_scale on SM75 — bug,performance — by saifmb0 (创建于: 2026-03-16 10:53 (UTC+8))
- #37107 [Model] Add HyperCLOVAX-SEED-Think-14B language model support — documentation,new-model — by bigshanedogg (创建于: 2026-03-15 22:40 (UTC+8))
- #37128 Mxfp4 oracle rebased — documentation,gpt-oss,nvidia — by zyongye (创建于: 2026-03-16 06:44 (UTC+8))
- #37108 [Doc] Fix outdated method name in fused_moe_modular_kernel design doc — documentation — by tom-zju (创建于: 2026-03-16 00:07 (UTC+8))
- #37125 [Refactor] Relocate completion and chat completion tests — rocm,ready,ci/build — by sfeng33 (创建于: 2026-03-16 05:44 (UTC+8))
- #37132 fix: re-record prepare_inputs_event after sample_tokens for spec decode — v1 — by voipmonitor (创建于: 2026-03-16 10:12 (UTC+8))
- #37124 [Bugfix] Fix KV cache overestimation for hybrid Mamba/attention model… — bug,v1 — by swtb3 (创建于: 2026-03-16 04:27 (UTC+8))
- #37114 [Bugfix] LoRA support for Qwen3.5 (GDN layers) — bug,qwen — by HollowMan6 (创建于: 2026-03-16 01:45 (UTC+8))
- #37131 elastic_ep: Fix issues with repeated scale up/down cycles — v1,nvidia — by itayalroy (创建于: 2026-03-16 09:00 (UTC+8))
- #37120 [Feature] Support loading LoRA from memory — 无标签 — by rank-Yu (创建于: 2026-03-16 02:49 (UTC+8))
- #37130 [responsesAPI] parser can take in token IDs — frontend — by qandrew (创建于: 2026-03-16 08:21 (UTC+8))
- #37126 [responsesAPI][ez] add a unit test for SimpleContext logprobs — ready — by qandrew (创建于: 2026-03-16 06:03 (UTC+8))
- #37122 [Bugfix][Model] Fix Qwen3-Omni crash with use_audio_in_video=True during profiling — bug,qwen — by eitanporat (创建于: 2026-03-16 03:23 (UTC+8))
- #37106 [UX] Improve DCP error messages with actionable guidance — v1 — by mvanhorn (创建于: 2026-03-15 22:39 (UTC+8))
- #37116 Add SM 120 (RTX Blackwell) MLA attention support — v1,nvidia — by voipmonitor (创建于: 2026-03-16 01:55 (UTC+8))
- #37110 Fuse per-group FP8 dynamic quant onto Triton attention kernel — v1 — by Etelis (创建于: 2026-03-16 01:01 (UTC+8))
- #37123 [Core][CI] Add opt-in media URL caching via VLLM_MEDIA_CACHE — multi-modality — by AndreasKaratzas (创建于: 2026-03-16 04:16 (UTC+8))
- #37119 Fix GLM MTP multi-step hidden state normalization — 无标签 — by voipmonitor (创建于: 2026-03-16 02:38 (UTC+8))
- #37118 [Bugfix] out-of-bounds error for routed experts capture — bug,v1 — by HollowMan6 (创建于: 2026-03-16 02:29 (UTC+8))
- #37117 FlashInfer MLA decode via BatchMLAPagedAttentionWrapper for SM 120+ — v1,nvidia — by voipmonitor (创建于: 2026-03-16 01:55 (UTC+8))
- #37115 [Benchmark] Improvements to attention benchmark script — performance — by wzhao18 (创建于: 2026-03-16 01:47 (UTC+8))
- #37097 [Core] Use contiguous arrays for request token histories — v1 — by Shaunak00 (创建于: 2026-03-15 14:12 (UTC+8))
- #37098 [Frontend] Fix Hermes streaming for parameterless tool args — tool-calling — by Shaunak00 (创建于: 2026-03-15 14:22 (UTC+8))
- #37109 [kv_offload+HMA][5/N]: Track group block hashes and block IDs — v1,kv-connector — by orozery (创建于: 2026-03-16 00:09 (UTC+8))
- #37105 [V1] Fix jump-forward decoding correctness and add tests (follow-up to #36142) — structured-output,v1 — by HelloWorldU (创建于: 2026-03-15 21:50 (UTC+8))
- #37099 Unwrap fused_moe (control via env var) for non-DP-EP cases — 无标签 — by SouthWest7 (创建于: 2026-03-15 14:23 (UTC+8))
- #37104 Patch Mistral config — 无标签 — by juliendenize (创建于: 2026-03-15 20:11 (UTC+8))
- #37102 [Bugfix] Fix crash when using PP in multi-node (Issue #37001) — bug,documentation,v1 — by siewcapital (创建于: 2026-03-15 19:02 (UTC+8))
- #37101 [Test] — frontend — by liuchen2026fly (创建于: 2026-03-15 18:46 (UTC+8))
- #37100 [CI] Split Split Distributed Tests (4 GPUs), Entrypoints and Kernel MoE tests — ready,ci/build — by avinashsingh77 (创建于: 2026-03-15 15:12 (UTC+8))
- #37095 [Profiling] Add optional stage-level NVTX annotations for Nsight Systems — documentation,v1 — by KOKOSde (创建于: 2026-03-15 13:31 (UTC+8))
已合并 PR
- #34907 [ROCm][P/D][MORI][BugFix] Add transfer_id for moriio_connector so moriio_connector to restore P/D functionality — bug,documentation,rocm,ready,kv-connector — by rasmith (合并于: 2026-03-16 10:36 (UTC+8))
- #37126 [responsesAPI][ez] add a unit test for SimpleContext logprobs — ready — by qandrew (合并于: 2026-03-16 08:12 (UTC+8))
- #35970 In-Tree AMD Zen CPU Backend via zentorch [1/N] — rocm,ready,ci/build,cpu — by amd-lalithnc (合并于: 2026-03-16 07:35 (UTC+8))
- #36647 [GDN] add a config for gdn kernel selection — ready,qwen — by ZJY0516 (合并于: 2026-03-16 00:40 (UTC+8))
- #34614 [Feature] Add Azure Blob Storage support for RunAI Model Streamer — documentation,rocm,ready,ci/build — by hasethuraman (合并于: 2026-03-15 19:38 (UTC+8))
- #36775 [Misc] Add online audio_in_video test — frontend,ready,ci/build,multi-modality,qwen — by Isotr0py (合并于: 2026-03-15 15:14 (UTC+8))
- #37061 [Frontend] Remove
torchcodecfrom audio dependency — frontend,ready,ci/build — by Isotr0py (合并于: 2026-03-15 13:15 (UTC+8))
关闭但未合并的 PR
- #36889 [WIP][Bugfix] Fix CUDA illegal memory access for GPTQ Marlin MoE with CUDA graphs — bug,nvidia — by haosdent (关闭于: 2026-03-16 11:12 (UTC+8))
- #36901 [CI] Add AVX2-only CPU image build for GitHub Actions compatibility — ci/build — by nathan-weinberg (关闭于: 2026-03-16 10:42 (UTC+8))
- #34983 [MoE Refactor] Convert mxfp4 moe quant method into oracle — needs-rebase,ci/build,gpt-oss,nvidia — by zyongye (关闭于: 2026-03-16 10:14 (UTC+8))
- #31839 [responsesAPI] get reasoning token metrics for simpleContext — frontend,gpt-oss — by qandrew (关闭于: 2026-03-16 08:31 (UTC+8))
- #36825 [Bugfix] Fix Qwen3.5 LoRA IndexError in packed_modules_mapping — bug,qwen — by hallerite (关闭于: 2026-03-16 06:23 (UTC+8))
- #35183 [ROCm] Split wvSplitKrc into deterministic/fast kernels, add
--fast-skinny-gemmCLI flag, overhaul tests — rocm,needs-rebase,v1 — by AndreasKaratzas (关闭于: 2026-03-16 03:48 (UTC+8)) - #36419 [Bugfix] Routed experts capturer reinitialization after KV cache profiling — bug,v1 — by HollowMan6 (关闭于: 2026-03-16 01:16 (UTC+8))
- #36991 Fix
xgrammarbeing locked to a version which has high vulnerabilities — ci/build — by benglewis (关闭于: 2026-03-15 22:55 (UTC+8)) - #37092 [WIP][Bugfix] Clamp -1 async placeholders to fix CUDA assert in multimodal+EAGLE3 — bug,speculative-decoding,v1,nvidia — by haosdent (关闭于: 2026-03-15 22:41 (UTC+8))
- #37050 [Bugfix] Fix crash when using PP in multi-node (Issue #37001) — bug,documentation,v1 — by siewcapital (关闭于: 2026-03-15 18:16 (UTC+8))
- #37087 [Bugfix] Cache token IDs in Hermes2ProToolParser to fix “Already borr… — bug,performance,rocm,structured-output,frontend,tpu,speculative-decoding,ci/build,v1,multi-modality — by stonelazy (关闭于: 2026-03-15 13:05 (UTC+8))