feat(p2p): load RAM prefixes and remote RDMA suffixes into GPU KV - #454
Draft
GentleCold wants to merge 24 commits into
Draft
GentleCold wants to merge 24 commits into
GentleCold wants to merge 24 commits into
Conversation
Export full CUDA allocations in the owner and hand off live DMA-BUF descriptors during registration. Keep imported tensors with registered and queued RDMA memory, drain accepted completions, and flush writes before reporting success. Group standardized dense BHNC physical rows into logical cache blocks. Add real cross-process GPU integration and make the same-process E2E load probe exercise a complete dense block.
GentleCold
force-pushed
the
feat/direct-gpu-rdma-load
branch
from
September 21, 2026 14:11
ea3b70d to
20b1c97
Compare
Collaborator
Author
|
Reviewed against the latest upstream/master and simplified the PR in 4bc9d7e. Changes removed:
Direct-GPU correctness paths remain: DMA-BUF ownership/lifetime, RAM-prefix plus remote-suffix planning, GPU descriptor shape checks, GPU-specific NIC dispatch, QP reset/cleanup, and direct-load metrics. Validation:
|
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.
Cross-node KV hits normally pass through requester host staging before being copied into GPU KV slots. This draft adds an opt-in RDMA READ path from remote registered host memory directly into the requester GPU allocation after vLLM assigns destination blocks.
Set
pegaflow.direct_gpu_rdma=truein the connector'skv_connector_extra_configto request direct plans. The initial scope is denseattention storage group 0; page-first and recurrent/HMA layouts are rejected.
Direct-mode errors do not invoke host-staging fallback. The ordinary
host-staging path remains available when the option is omitted or false.
Changes
QueryRequest.direct_gputhrough PyO3, Python stubs and TP shard queries. Carry ordered remote plans in the existing query lease, reusing its 600-second expiry and consume/release lifecycle without adding a new TTL mechanism.ReadCacheor advertising them as owners.Validation
upstream/mastermerge base1a20960; feature work is isolated onfeat/direct-gpu-rdma-load.git diff --checkand the example syntax check pass.cuMemGetHandleForAddressRange: operation not supported). Those failures are capability limits, not direct-path results.Before ready for review / merge
This PR remains a draft while these correctness and validation items are open.
Tracking: AIINF-286.
2026-09-24 optimization update
min(total_ops, MAX_SEND_WR)) after the ordered READ batch is constructed. This only removes HashMap growth/rehash overhead; it does not change owner ordering, retries, fallback, completion draining, or host staging.-D warnings, 17 transfer tests, 12backing::rdma_fetchtests, release server/metaserver build, maturin native release build, and feature import-path verification (vLLM 0.29.0).kern-serveprocesses on GPUs 4–7 were left untouched.