Repository navigation
fix(vllm): align KVBM decode KV cache layout - #12821
Merged
Merged
Conversation
Signed-off-by: jthomson04 <jwillthomson19@gmail.com>
ishandhanani
approved these changes
Aug 7, 2026
This comment has been minimized.
This comment has been minimized.
Contributor
WalkthroughThe changes update vLLM decode worker deployments, launch scripts, and the determinism integration test. Decode workers now disable the hybrid KV cache manager. The relevant commands also specify disaggregated decode mode. ChangesDisaggregated decode configuration
Estimated code review effort: 2 (Simple) | ~10 minutes 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
Comment |
Contributor
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@examples/backends/vllm/launch/disagg_kvbm.sh`:
- Line 21: Ensure every prefill worker includes
--disable-hybrid-kv-cache-manager, matching the existing decode-worker
workaround. Update the prefill commands in
examples/backends/vllm/launch/disagg_kvbm.sh:21, disagg_kvbm_2p2d.sh:21-23, and
both prefill commands in disagg_kvbm_router.sh:30 and :38; update the prefill
components in examples/backends/vllm/deploy/disagg_kvbm.yaml:27,
disagg_kvbm_2p2d.yaml:27, and disagg_kvbm_tp2.yaml:27; and update
self.prefiller_cmd in tests/kvbm_integration/test_determinism_disagg.py:152-154.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: 8a587876-ebc4-4eeb-9418-fa84ddb89926
📒 Files selected for processing (7)
examples/backends/vllm/deploy/disagg_kvbm.yamlexamples/backends/vllm/deploy/disagg_kvbm_2p2d.yamlexamples/backends/vllm/deploy/disagg_kvbm_tp2.yamlexamples/backends/vllm/launch/disagg_kvbm.shexamples/backends/vllm/launch/disagg_kvbm_2p2d.shexamples/backends/vllm/launch/disagg_kvbm_router.shtests/kvbm_integration/test_determinism_disagg.py
Signed-off-by: jthomson04 <jwillthomson19@gmail.com>
jthomson04
enabled auto-merge (squash)
August 7, 2026 17:43
tedzhouhk
approved these changes
Aug 7, 2026
ziqifan617
approved these changes
Aug 10, 2026
pvijayakrish
pushed a commit
that referenced
this pull request
Aug 10, 2026
1 task done
1 task done
dagil-nvidia
added a commit
that referenced
this pull request
Aug 26, 2026
The reason clause said the KVBM examples and manifests are not receiving new investment, which reads as inconsistent with the runtime work that shipped in the same release: the clear_kv_blocks endpoint (#11451), the decode KV-cache alignment fix (#12821), and the PdConnector HMA disable (#11608). Name the surface the statement is actually about. The known-issues entry now scopes it to the KVBM examples tree, and the qwen3-32b gap note scopes it to that walkthrough's docs. Neither claims anything about the component as a whole. Signed-off-by: Dan Gil <dagil@nvidia.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes DYN-3545.
Summary
--disable-hybrid-kv-cache-managerso both sides use the same vLLM KV-cache layout.--disaggregation-mode decodeand apply the matching decode-side configuration to the LMCache and FlexKV PdConnector launchers.The unpatched
1.3.0-rc.9launcher reproduced a NIXL compatibility-hash mismatch followed by handshake and KV-load failures. PdConnector disables the vLLM hybrid KV-cache manager when a child connector does not support it, while the paired plain NixlConnector decoder previously kept it enabled.Validation
examples/backends/vllm/launch/disagg_kvbm.shwithnvcr.io/nvstaging/ai-dynamo/vllm-runtime:1.3.0-rc.9,Qwen/Qwen3-0.6B, and a 1-prefill/1-decode two-GPU topology./v1/modelslistedQwen/Qwen3-0.6B./v1/chat/completionsreturned HTTP 200 through distinct prefill and decode workers.VRAM_SEGregistration warnings remained but did not prevent successful inference; transport registration changes are outside this PR.1.3.0-rc.9image does not include the optionalflexkvPython package.bash -npassed for all five modified PdConnector launchers.yaml.safe_loadand compiled the modified Python test source.tests/kvbm_integration/test_determinism_disagg.py::TestDeterminismDisagg::test_determinism_disagg_with_cache_resetsuccessfully in the vLLM runtime image.git diff --check