28 个 commit,涉及 215 个文件,+7386/-5491 行变动。

概要

统计项 数值
Commit 数 28
变更文件 215
新增行数 +7386
删除行数 -5491

Commit 列表

📦 Other

  • ba94a3b #40470 — [Attention] Extract KV-cache update from CPU attention backend (#40470)
    • 作者: Diego Maniloff | +31/-22 | 1 个文件

    Part of #32335 - Extract the KV-cache update from CPUAttentionBackendImpl.forward() into a separate do_kv_cache_update() method, as part of issue #32335. - Set forward_includes_kv_cache_update = False on CPUAttentionBackend so the attention layer calls do_kv_cache_update() before forward(). - The CPU backend uses ops.cpu_attn_reshape_and_cache (not reshape_and_cache_flash), which requires an ISA p…

  • dc68bd8 #41184 — [MoE Refactor] FusedMoE/MoERunner inversion refactor (#41184)
    • 作者: bnellnm | +2734/-2027 | 90 个文件

    Invert the MoERunner <-> FusedMoE relationship The MoERunner will own the FusedMoE (renamed to RoutedExperts) The FusedMoE class will go away. Some model weight loading code needed updating since the paths for MoE weights now has an extra level, e.g. .experts. is now .experts.routed_experts. Based on the following PRs: cc @yzong-rh CI + MoE refactoring tests Run all MoE layer tests (incl…

  • 753e9d5 #44132 — [Quantization] add online fp8 ptpc (#44132)
    • 作者: Walter Beller-Morales | +385/-8 | 6 个文件

    Add online fp8 per-token activation + per-channel weight (ptpc) quantization Added a unit test tests/quantization/test_fp8_ptpc.py and a quality test tests/models/quantization/test_fp8_ptpc.py ## Test Result ✅ —

  • ac3409d #44708 — [Benchmark] Auto-detect and correct client/server tokenizer mismatch for random dataset (#44708)
    • 作者: akii96 | +81/-1 | 1 个文件

    Alternative to #42532. Addresses the same problem (input token inflation when bench-side and server-side tokenizers disagree) but takes a different approach based on reviewer feedback there: - Zero changes to dataset code (@DarkLight1337 ’s main concern) - No new CLI flags - catches any model/tokenizer version mismatch, not just the current DeepSeek-V3.2 case After get_samples(), probes the server…

  • 980796c #44852 — [CI/Build][CPU] Fix flaky CI image build failure and unexpected warnings (#44852)
    • 作者: Li, Jiang | +5/-4 | 2 个文件
    • Add cache lock to Rust build stage to avoid contention between building on a same host - Add reference to to avoid GC collects it too early ## Test Result —
  • 5add018 #44854 — [Connector] Remove P2pNcclConnector (#44854)
    • 作者: Nicolò Lucchesi | +2/-3069 | 18 个文件

    After some more recent dicussions, for the same reasons listed here https://github.com/vllm-project/vllm/issues/33115, we’ve decided to remove the P2pNcclConnector. I would still like to thank @Abatom and everyone who was contributed to the connector as this helped PD take off the ground in its early stages. Mind that similar connectors can still be implemented OOT leveraging the current Connector…

  • d5fe994 #44419 — [CPU][Spec Decode] Warn about throughput loss when libiomp5 is not preloaded (#44419)
    • 作者: Jonathan Mamou | +13/-2 | 1 个文件

    Add an explicit warning when speculative decoding is enabled on CPU without libiomp5 in LD_PRELOAD. Without Intel’s OpenMP runtime, SD throughput drops by ~2× due to the overhead of GNU libgomp in the frequent short parallel regions that speculative decoding uses. While investigating issue #44191, we discovered that the performance gap between the official Docker image and source builds is entirel…

  • fa662b1 #44470 — [XPU] Cap topk/topp Triton BLOCK_SIZE to 4096 to fix Top-p mask difference failures (#44470)
    • 作者: Chaojun Zhang | +6/-1 | 2 个文件

    Cap the Triton BLOCK_SIZE to 4096 in topk_topp_triton.py on XPU to fix Top-p mask difference too large test failures. - vllm/v1/sample/ops/topk_topp_triton.py: limit XPU block size to 4096 for deterministic sampling - .buildkite/intel_jobs/misc_intel.yaml: enable test_topk_topp_sampler.py on XPU CI

  • 3c0b443 #44499 — [Rust Frontend] Add /pause, /resume, /is_paused endpoints (#44499)
    • 作者: Sahil Singh | +284/-0 | 4 个文件

    Adds POST /pause, POST /resume, and GET /is_paused to the Rust frontend, contributing to “RL / admin / lifecycle APIs” in the Rust frontend roadmap (#44280). | Route | Utility call | Args | Response | |—|—|—|—| | POST /pause | pause_scheduler | (mode, clear_cache) | {“status”: “paused”} | | POST /resume | resume_scheduler | () | {“status”: “resumed”} | | GET /is_paused | is_scheduler_pause…

  • 8fb0274 #44484 — [MM][CG] Simplify ViT CUDA graph interfaces (#44484)
    • 作者: Shanshan Shen | +2/-8 | 2 个文件

    Following https://github.com/vllm-project/vllm/pull/41234, this PR add default value (“image”) for get_input_modality() to simplify ViT cuda graph interfaces. Thus, for image-only VLMs, they don’t need to overwrite the get_input_modality() interface anymore. ## Test Result —

  • eebce65 #42953 — [XPU]feat: add DeepSeek-V4 XPU attention decode path (#42953)
    • 作者: Ma Jian | +2759/-11 | 11 个文件

    Add XPU-specific decode implementation for DeepSeek-V4 MLA sparse attention, including Triton kernels for FP8 KV cache operations. - mhc.py: add forward_xpu for MHC Pre/Post/Fuse processors - xpu_qnorm_rope_kv_fp8_insert.py: Triton kernel for fused QK norm + RoPE + FP8 KV insert - xpu_sparse_decode_fp8.py: Triton kernel for FP8 sparse MLA decode ## Testing Tested with DeepSeek-V4 infer…

  • 5633405 #44805 — Added extra_repr() to pooler classes to improve debuggability (#44805)
    • 作者: Taneem Ibrahim | +73/-0 | 7 个文件

    Currently most pooler modules print names like SequencePooler() with no visibility into their configuration. This makes debugging pooling pipelines harder. This PR adds extra_repr() to pooler classes that have meaningful state, so print(model.pooler) shows configuration details instead of empty parentheses. Run the following script to validate the extra model attributes are being printed: ## Tes…

  • 4dcd10e #44454 — [1/N][KV-Cache Layout Refactor] Refactor DSV4 KV cache config construction (#44454)
    • 作者: Lucas Wilkinson | +38/-49 | 1 个文件

    PR #42374 (first part of RFC #42082) has been split into 4 PRs: -> #44454 [1/N][KV-Cache Layout Refactor] Refactor DSV4 KV cache config #44455 [2/N][KV-Cache Layout Refactor] Pack K/V into the content dim across attention backends #44456 [3/N][KV-Cache Layout Refactor] Standardize Mamba cache; drop get_transfer_cache_regions #44458 [4/N][KV-Cache Layout Refactor] Standardize KV cache layout Extrac…

  • 3d3ba46 #43087 — Modify torch dependency in xpu.txt (#43087)
    • 作者: Bram Vanroy | +1/-1 | 1 个文件

    Updated torch version when requesting xpu. As per the official documentation, the way to install xpu versions is: Installing with +xpu leads to this error:

  • 66ecfd0 #42599 — [Dependency] Remove stale cuDNN frontend upper bound (#42599)
    • 作者: Mohammad Miadh Angkad | +1/-3 | 1 个文件

    Remove the stale upper bound on nvidia-cudnn-frontend since the breaking changes in 1.19.0 have been fixed. The constraint is now >=1.19.1, which excludes 1.19.0 while letting vLLM pick up newer cuDNN frontend fixes and improvements. This is compatible with FlashInfer’s >=1.13.0 requirement.

🧪 CI/Tests

  • 93ee4cd #44819 — [CI] Consolidate multimodal entrypoint tests. (#44819)
    • 作者: wang.yuqi | +107/-62 | 24 个文件

    Consolidate multimodal entrypoint tests. - These tests have more in common. - Reduce the number of files in the tests/entrypoints/openai/chat_completion folder. These all make the entrypoint tests easy to maintain. tests/entrypoints/multimodal/ ## Test Result —

  • 94fcdd0 #43663 — [XPU][CI] Add more test cases in Intel GPU CI (#43663)
    • 作者: xiangdong | +245/-1 | 4 个文件

    Add more test cases in Intel GPU CI —

  • d9ff7e4 #44761 — [ROCm][CI] Stabilizing teardown and timeout of flaky tests to prevent rare OOMs (#44761)
    • 作者: Andreas Karatzas | +130/-65 | 4 个文件

    This PR stabilizes the (ROCm-only) test cleanup and teardown process because several hybrid/APC and pooling tests can leave enough residual VRAM on gfx942 to trip later test startup or teardown checks, even though the model allocations have already been released. cc @kenroche

  • 967c5c3 #42793 — [ROCm][CI] Stage C mirrors (#42793)
    • 作者: Andreas Karatzas | +213/-38 | 11 个文件

    Mirrored/gated test groups: - V1 attention (H100-MI300) - Engine - OpenAI API correctness - LM Eval Small Models - Multi-Modal Models Pooling - Spec Decode Draft Model - Spec Decode Ngram + Suffix - Spec Decode Speculators + MTP Agent count: 6 x mi300_1, 2 x mi325_1 Notes: Added Speculators Correctness and Extract Hidden States Integration in test-amd.yaml under mi300_1. cc @kenroche

  • 2ed0a96 #42736 — [Kernel][Test] Make kernel tests for mamba dual-HW (CUDA + XPU) (#42736)
    • 作者: Agata Dobrzyniewicz | +49/-14 | 3 个文件

    Make the MambaMixer Triton kernel tests under tests/kernels/mamba/ runnable on Intel XPU in addition to CUDA/ROCm. The underlying kernels (causal_conv1d, selective_state_update, mamba_chunk_scan_combined_varlen and its sub-kernels) are pure Triton and already work on XPU - only the test harness was pinning device=“cuda”. Changes in three files: - tests/kernels/mamba/test_mamba_ssm_ssd.py - tests/k…

  • f0f6805 #44051 — [CI] Stabilize the multi-audio OpenAI server path (#44051)
    • 作者: Andreas Karatzas | +62/-59 | 3 个文件

    This PR stabilizes the multi-audio OpenAI server path when a chat request exceeds –limit-mm-per-prompt audio=2. The failing test intentionally sends too many audio inputs, expects a 400 BadRequestError, and then immediately checks that the same server still accepts a follow-up /v1/completions request: The over-limit request was already logically a client validation failure, but it was raised as a…

🐛 Bug Fix

  • 469f3dc #44828 — [BugFix] Use served model name in gemma4 audio-tower error message (#44828)
    • 作者: Sungjae Lee | +5/-1 | 1 个文件

    PLEASE FILL IN THE PR DESCRIPTION HERE ENSURING ALL CHECKLIST ITEMS (AT THE BOTTOM) HAVE BEEN CONSIDERED. Fix an error message for unsupported audio inputs on Gemma 4 models without audio_config to use served_model_name instead of exposing local model path. Related PR: https://github.com/vllm-project/vllm/pull/41003 - as-is: “Audio input was provided but the model ‘/mnt/local/model’ does not have …

  • 303916e #39562 — [Bugfix]: Fix assertion in MambaManager.allocate_slots() (#39562)
    • 作者: KANG Qihan | +55/-5 | 2 个文件

    Fixes #39271. With suffix-decoding (or any speculative-decoding method that proposes a dynamic number of draft tokens per round), MambaManager.allocate_new_blocks() in align mode could hit: AssertionError: num_required_blocks N < len(req_blocks) M ## Root cause scheduler.py computes num_new_tokens based on the number of proposed draft tokens at current round. With suffix decoding, the draft count …

  • 6124a98 #44215 — [Bugfix] Fix FunASR-Nano crash during initialization (#44215)
    • 作者: SunskyXH | +4/-0 | 1 个文件

    Fix an engine-initialization crash when serving FunASRForConditionalGeneration (e.g. allendou/Fun-ASR-Nano-2512-vllm) on vLLM >= 0.22 / current main: Root cause: #39805 added a get_language_model() call in gpu_model_runner.load_model() to unwrap VLM wrappers into their underlying MoE language model for EPLB. It runs for every non-MoE SupportsMultiModal model and is not guarded by enable_eplb. FunA…

  • 51ef688 #44103 — [Bugfix][Mooncake] Fix per-group block_size/block_hash and group_idx in MooncakeStoreConnector KV events (#44103)
    • 作者: Yifan Qiao | +84/-20 | 5 个文件

    MooncakeStoreConnector emits BlockStored KV events so external subscribers can track which KV blocks are present in the store. In hybrid / multi-group (HMA) configurations — and whenever a group’s block_size is larger than the connector’s hash_block_size — three fields of the emitted event were wrong. 1. block_hashes used req_meta.block_hashes[chunk_idx], which indexes the request’s *hash-gran…

🔩 Misc

  • 54c660c #44771 — [XPU][Minor] format moe kernel name and add in kernel list (#44771)
    • 作者: Yan Ma | +13/-11 | 5 个文件

    This PR unifies XPU moe kernels format and add “XPUExpertsBlockFp8”, “XPUExpertsMxFp8”, in kernel list. ## Test Result —

🖥️ Kernel

  • 228bcc4 #44674 — [ROCm][Kernel] Enable permute_cols for ROCm (#44674)
    • 作者: Charlie Fu | +3/-8 | 3 个文件

    pytest -sv tests/kernels/core/test_permute_cols.py ================ 3 passed, 16 warnings in 1.81s ========================

📖 Documentation

  • 15652a6 #44378 — [Doc] Fix multimodal torch.compile troubleshooting to not use removed VLLM_TORCH_COMPILE_LEVEL (#44378)
    • 作者: Daoyuan Li | +1/-1 | 1 个文件

    The “Compilation Errors” troubleshooting section in docs/design/torch_compile_multimodal.md tells users to disable compilation like this: VLLM_TORCH_COMPILE_LEVEL no longer exists anywhere in the codebase — torch.compile control was moved to CompilationConfig / the -O optimization levels. The env var is silently ignored, so following this step does not actually disable compilation: the model s…