Repository navigation
[None][feat] Runtime support for the Kimi K3 SM107 modeling_v2 targets: model-declared hooks, hybrid KV cache V2, shared draft KV follow-ups, router opt-in #22175
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
xguannv
wants to merge
40
commits into
NVIDIA:main
Choose a base branch
from
xguannv:user/xguan/shared-draft-kv-followups
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+5,599
−321
Open
Changes from all commits
Commits
Show all changes
40 commits
Select commit
Hold shift + click to select a range
c6157b6
[None][perf] Parallelize long KV cache block-offset copies
dc3671 2377ec8
[None][fix] Reserve device memory for allocations outside PyTorch
dc3671 a45b1f2
[None][perf] Accept caller-quantized FP8 Q / K / V in MLA context att…
dc3671 cf822c8
[None][feat] Share hybrid KV cache pools with speculative drafters
dc3671 01468bf
[None][fix] Check a one-sided disaggregated config for its own side o…
xguannv e0f61c9
[None][fix] Share draft KV pages with a TRTLLM DSpark drafter only at…
xguannv ca5f313
[None][fix] Scrub the shared draft KV pool at warmup in the FP4 MLA h…
xguannv b760562
[None][chore] Shared draft KV: the drafter's declaration decides shar…
xguannv 5f35693
[None][fix] Embedded DSpark drafts skip the shared draft KV hooks
xguannv 1b39417
[None][fix] Shared draft KV: the launcher turns it on only for a two-…
xguannv edd62b6
[None][fix] Keep the PyTorch memory cap at or above the memory PyTorc…
xguannv 6c18b6e
[None][fix] FP8 context MLA quantizes with the kv cache scale at ever…
longlee0622 ddcfba8
[None][fix] Shared draft KV: verify draft-layer transfer outside heli…
longlee0622 2d35eb8
[None][fix] Shared draft KV: log what the draft-KV decision resolved to
longlee0622 7acb093
[None][fix] Shared draft KV: assert draft specs keep a global head count
longlee0622 d30a4e9
[None][fix] Shared draft KV: the appended-layer opt-in is an overridd…
longlee0622 3bda06a
[None][fix] Shared draft KV: fall back to separate pools for non-V2 m…
longlee0622 0e2028e
[None][test] FP8 context MLA: check the inputs against an unquantized…
longlee0622 cb6f675
[None][fix] Shared draft KV: only the hybrid append path needs matchi…
longlee0622 c6c4790
[None][fix] FP8 MLA context and shared draft KV review polish
longlee0622 e47faba
[None][fix] Bound-check FP8 MLA context k / v and modernize KV cache …
longlee0622 326b0fd
[None][fix] serve: forward the disaggregated server role to MPI workers
xguannv d817879
[None][fix] NIXL: release transfer status handles without the GIL
xguannv 7f16b8f
[None][fix] Model-declared device memory left outside the PyTorch cap
xguannv c339183
[None][feat] KV cache manager V2: pending SSM snapshot pages
xguannv 2240333
[None][feat] Hybrid V2 manager: mid-chunk recurrent snapshot points, …
xguannv adca6a0
[None][perf] Hybrid V2 manager: lowest eviction priority for short pr…
xguannv 7cd1eba
[None][perf] KVCacheV2Scheduler: exact long-prefill demotion, declare…
xguannv 9ffc018
[None][chore] Hybrid V2 manager: rate-limited INFO snapshot counters
xguannv 5bbccb3
[None][feat] Drafter-declared draft KV dtype and context-KV-only reserve
xguannv 235a8be
[None][chore] Hybrid V2 manager: log the unified draft pool share
xguannv 9243530
[None][feat] ConversationRouter: new_conversation_follow="always" fol…
xguannv 172c018
[None][perf] Disagg helix GEN: idle transfer-status poll in one int64…
xguannv 85a9a7f
[None][perf] Spec sampler: slot-store scatter in one launch on SM 10.7
xguannv 8aa6025
[None][perf] Hybrid V2 manager: one-kernel state-index upload, declar…
xguannv 21091a4
[None][feat] Attention DP: model-declared KV-balanced admission planner
xguannv 7fc880a
[None][fix] Hybrid V2 manager: the KV size estimate reserves the shar…
xguannv fc13a1f
[None][feat] RuntimeHooks: model-declared KV cache manager subclass
xguannv 9e7aedb
[None][chore] HybridCachePolicy: the mid-chunk snapshot alignment bel…
xguannv 40d90e2
[None][fix] MLA cached-KV context: pass K / V of every KV token to th…
xguannv File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Synchronize reads of the pending snapshot slot.
If one Python thread reads
pending_ssm_snapshot_slotwhile another releases or commits the pending page, this getter readsmPendingSsmSnapshotwithout the lock held by the writer. The writer binding releases the GIL. The getter can therefore read the optional during reset or dereference a destroyedSharedPageLock. Take the manager’s shared lock inpendingSsmSnapshotSlot(). Release the GIL in the property binding before that lock can block. (raw.githubusercontent.com)As per coding guidelines, “the thread-safety contract covers the API surface exposed through nanobind and declared in the
.pyistubs.”Source: Coding guidelines