Skip to content

[NIXL][PCP][DCP] Expose PCP producer KV shards as transfer ranks - #56645

Merged
LucasWilkinson merged 4 commits into
vllm-project:mainfrom
LucasWilkinson:codex/nixl-pcp-dcp-main
Sep 13, 2026
Merged

LucasWilkinson merged 4 commits into
vllm-project:mainfrom
LucasWilkinson:codex/nixl-pcp-dcp-main

Conversation

@LucasWilkinson

@LucasWilkinson LucasWilkinson commented Sep 12, 2026

Copy link
Copy Markdown
Collaborator

Expose TP1 PCP+DCP KV shards as NIXL transfer ranks. Preserve completion reports from every sharded PCP rank in get_transfer_results(); replicated PCP still reports only from rank zero.

Builds on merged #56157; replaces #54496. Distinct from #45340’s block accounting.

Validation: 18 PCP producer/topology tests passed on B300 with standard fixtures, including NCCL initialization. 72 TP-mapping/push tests passed on CPU. Before the guard, a CPU run of the corrected producer test failed all four nonzero PCP+DCP cases; afterward all eight cases passed. Pre-commit/mypy passed.

chg run -g 1 -- .venv/bin/python -m pytest tests/v1/kv_connector/unit/test_nixl_connector.py -k 'pcp_producer_exposes_dcp_shards_or_canonical_replica or scheduler_advertises_transfer_topology' -q
CUDA_VISIBLE_DEVICES='' .venv/bin/python -m pytest tests/v1/kv_connector/unit/{test_tp_mapping,test_nixl_push_connector}.py -q

Combined-head GLM-5.2-NVFP4 PCP4+TP1+EP4+DCP4 → TP4 tests passed in eager and CUDA-graph modes: GPU and CPU-offload each 28/32 GSM8K, direct TP4 26/32 in both runs. All 32 GPU/CPU pairs matched tokens/log probabilities in each run, with confirmed CPU hits; 6,155-token retrieval also passed (6,144 CPU-restored tokens; continuations differed). Zero transfer failures or pending stores. PCP requires -cc.cudagraph_mode=PIECEWISE; its default FULL_AND_PIECEWISE fails startup. Graph run captured prefiller sizes 4–1024 and logged 100 PIECEWISE prefiller / 8,432 FULL decoder dispatches. Uses default breakable graphs, not torch.compile. Clean merge: main b6e2aa748b, #56645 f995e33f61, #55802 10afd0150e, #56715 899a24c572; merged #56621, managed precompiled native extensions, no optional top-k changes. Small sample, not a full accuracy benchmark. UCX errors occurred only during teardown; GPUs released.

AI assistance: OpenAI Codex. Human review and validation remain required.

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Claude Code Review

This pull request is from a fork — automated review is disabled. A repository maintainer can comment @claude review to run a one-time review.

@LucasWilkinson LucasWilkinson added the ready ONLY add when PR is ready to merge/full CI is needed label Sep 12, 2026
@LucasWilkinson

Copy link
Copy Markdown
Collaborator Author

/ci run

@github-actions

Copy link
Copy Markdown

✅ Triggered Buildkite CI #88573 for commit 0b9f0e42a38d.

@LucasWilkinson
LucasWilkinson enabled auto-merge (squash) September 13, 2026 05:56
Rebase vllm-project#54496 onto vllm-project#56157. Publish each TP1 PCP+DCP producer shard
through the existing DCP transfer topology and retain upstream
completion aggregation. Share transfer-size calculation between the
pull and push schedulers and validate the PCP/DCP group in the connector.

Cover shard publication, completion, push scheduling, and advertised
transfer topology for replicated and sharded producers.

Co-authored-by: OpenAI Codex <noreply@openai.com>
Signed-off-by: Lucas Wilkinson <lwilkins@redhat.com>
@LucasWilkinson

Copy link
Copy Markdown
Collaborator Author

/ci run

@github-actions

Copy link
Copy Markdown

✅ Triggered Buildkite CI #88660 for commit c2ef5914bf8c.

@NickLucche NickLucche left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

LucasWilkinson and others added 2 commits September 13, 2026 18:19
Keep the synthetic worker fixture aligned with the transfer-rank fields used by NIXL cache registration.

Co-authored-by: OpenAI Codex <noreply@openai.com>
Signed-off-by: Lucas Wilkinson <lwilkins@redhat.com>
…ex/nixl-pcp-dcp-main

Signed-off-by: Lucas Wilkinson <lwilkins@redhat.com>

# Conflicts:
#	tests/v1/kv_connector/unit/test_nixl_desc_geometry.py
@LucasWilkinson

Copy link
Copy Markdown
Collaborator Author

/ci run

@github-actions

Copy link
Copy Markdown

✅ Triggered Buildkite CI #88672 for commit 4128f6800899.

Co-authored-by: OpenAI Codex <noreply@openai.com>
Signed-off-by: Lucas Wilkinson <lwilkins@redhat.com>
@LucasWilkinson

Copy link
Copy Markdown
Collaborator Author

/ci run

@github-actions

Copy link
Copy Markdown

✅ Triggered Buildkite CI #88675 for commit f995e33f61d8.

@LucasWilkinson
LucasWilkinson merged commit 7fe8fc8 into vllm-project:main Sep 13, 2026
165 of 166 checks passed
ItsRoy69 pushed a commit to ItsRoy69/vllm that referenced this pull request Sep 15, 2026
…m-project#56645)

Signed-off-by: Lucas Wilkinson <lwilkins@redhat.com>
Co-authored-by: OpenAI Codex <noreply@openai.com>
keneoneth pushed a commit to keneoneth/vllm that referenced this pull request Sep 16, 2026
…m-project#56645)

Signed-off-by: Lucas Wilkinson <lwilkins@redhat.com>
Co-authored-by: OpenAI Codex <noreply@openai.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

deepseek Related to DeepSeek models kv-connector mrv2 Model Runner V2 specific ready ONLY add when PR is ready to merge/full CI is needed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants