Repository navigation
[CI] Bump vLLM LKG to 4541fcdd; always shut down engines in runai streamer tests - #3931
Conversation
cbs-oss-review-bot
left a comment
There was a problem hiding this comment.
Automated review (prototype)
This PR bumps the vLLM LKG pin. It turns the continue-decode scheduler patch off unless enable_continue_decode is set, adds a per_act_token_quant property to VllmFp8MoEMethod, and wraps the engine shutdown calls in the runai e2e tests in try/finally. The code changes look correct. The one problem is that the new test for the disabled path would pass even without the new guard, so it does not cover the change.
Not fully confident; a human reviewer should check: Check that the new vLLM pin 4541fcdd works with this repo's other vLLM touchpoints, since only the FP8 MoE and scheduler fixes are in this PR. Also check whether upstream Fp8MoEMethod now defines per_act_token_quant as a property; that would explain why the setter is needed.
Questions (the bot could not confirm these):
.buildkite/vllm_lkg.version:1: Was the full per-PR CI run against vLLM 4541fcdd, beyond the two pytest commands in the description?tpu_inference/layers/vllm/quantization/fp8.py:397:__init__already setsself.per_act_token_quant = False(line 391), so why is the property needed: does upstreamFp8MoEMethodnow define it as a read-only property?
Nits (optional):
tpu_inference/layers/vllm/quantization/fp8.py:397: Add a short comment on why this property exists (which upstream vLLM change needs it), so it doesn't get removed as redundant later.
Inline comments: 0 blocking, 1 should-fix.
DescriptionStart with a short description of what the PR does and how this is a change from The rest of the description includes relevant details and context, examples:
If the change fixes a Github issue, please include a link, e.g.,: TestsPlease describe how you tested this change, and include any instructions and/or ChecklistBefore submitting this PR, please make sure:
|
…n engines on failure - Bump .buildkite/vllm_lkg.version 2fb320d8 -> 4541fcdd (vLLM main as of 2026-10-29 17:07 UTC). The fp8 MoE `per_act_token_quant` and continue-decode scheduler incompatibilities reported from tpu-vllm-integration build #151 were already fixed on main by #3924; today's integration build #157 (main + vLLM HEAD) passes the JAX unit tests and all Runai Model Streamer correctness tests, so this moves the pin forward to the current head. - tests/e2e/test_runai_model_streamer_loader.py: wrap generate() in try/finally so the engine core is always shut down. Previously a failure in the first LLM left its EngineCore process alive, and the second LLM in the same test then died with EngineDeadError, masking the real error. Signed-off-by: wenxindongwork <wenxindong@google.com>
f743ef7 to
9bae5a1
Compare
With vLLM >= 4541fcdd, `Request.skip_reading_prefix_cache` is gone; the flag (and the prompt-logprobs lower bound) are folded into `Request.prefix_cache_hit_limit` / `Request.get_max_cache_hit_length()`. The DP scheduler's PROBE_COMPUTED_BLOCKS handler still read the old attribute, so every DP-attention run died at the first request: AttributeError: 'Request' object has no attribute 'skip_reading_prefix_cache' SchedulerWorkerError: Scheduler worker 0 error: ... This is what failed `tpu7x E2E speculative decoding test` (eagle3 with attn_dp_size=2) and `tpu7x E2E MLperf tests for DeepSeek-R1` (DP attention) in the LKG-bump CI run. Use the upstream helper when present and fall back to the legacy flag otherwise, so the probe stays consistent with what vLLM's own Scheduler passes to KVCacheManager.get_computed_blocks. Signed-off-by: wenxindongwork <wenxindong@google.com>
Summary
Follow-up to #3924 for the
tpu-vllm-integrationbreakages (build #151): the originally reportedper_act_token_quantand continue-decode errors were already fixed onmainby #3924. This PR moves the LKG forward and fixes the one remaining incompatibility that the newer vLLM introduces..buildkite/vllm_lkg.version2fb320d8->4541fcdd837c15345087b45e9aa85f2a28b57883(vLLM main as of 2026-10-29 17:07 UTC). vLLM's[build-system]torch pin is unchanged (torch == 2.14.0).Request.skip_reading_prefix_cacheno longer exists. Newer vLLM folds it (and the prompt-logprobs lower bound) intoRequest.prefix_cache_hit_limit/Request.get_max_cache_hit_length().dp_scheduler.py'sPROBE_COMPUTED_BLOCKSstill read the old attribute, so every DP-attention run died on the first request withtpu7x E2E speculative decoding test(eagle3,attn_dp_size=2) andtpu7x E2E MLperf tests for DeepSeek-R1(DP attention) in the first CI run of this PR (build [Fused MoE] Use jax.nn.sigmoid #1980). The probe now uses upstream'sget_max_cache_hit_length()when present (so it stays consistent with what vLLM's ownSchedulerpasses toget_computed_blocks) and falls back to the legacy flag.finally, so a failure in the firstLLMno longer masks itself asEngineDeadErrorfrom the second.Test plan
vllm/vllm-tpu:nightly-20261029-75749f8-2fb320dwith/workspace/vllmat4541fcdd, DP-attention generate (tensor_parallel_size=2,attn_dp_size=2, async scheduling, two passes so the second hits the prefix cache):9bae5a1c5reproduces theSchedulerWorkerError;52c2fe47egenerates correctly, both passes identical.tests/core/test_dp_scheduler.py(incl. 3 new tests) +tests/core/test_sched_utils.pyat the new pin.