Repository navigation
Host overhead 5/N: cheaper resource planning, admit and commit #852
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
Merged
Merged
Changes from all commits
Commits
Show all changes
31 commits
Select commit
Hold shift + click to select a range
82982a8
Qwen3.5: pack a mixed step's input ids in runs, not one slice per row
NSagan271 71f44a5
Qwen3.5: splice routed decode tokens with device ops, not a host-buil…
NSagan271 e15f03e
FlashInfer decode: later plans of a captured wrapper call the planner…
NSagan271 083d2bc
worker_phases: time a step's inline plans per resource apart from pro…
NSagan271 ff13e12
FlashInfer mixed step: stage into bucket-sized pinned buffers, plan b…
NSagan271 e89f21e
KV: a captured packed step's write addressing from the host indptrs
NSagan271 1328bd3
GDN mixed step: stage each plan's index arrays in a few copies
NSagan271 4070c7e
Recurrent pool: admit a step under one lock, resident rows without an…
NSagan271 f3dc1b1
KV admit: one pass over a step's rows for reservations and in-flight …
NSagan271 834c488
KV plan cache: insert a crossed row's new page rather than rebuild th…
NSagan271 3469dcf
Positions: a decode row's id without a range, counters read inline
NSagan271 4c1fca9
Recurrent pool: reuse the last step's addressing while nothing it rea…
NSagan271 2d4cd7d
KV, recurrent pool, positions: commit loops without a per-row sink ca…
NSagan271 caa192e
FlashInfer direct plans: drop the A/B switch
NSagan271 1cc8437
KV plan cache: plan a step with sink rows from the streams
NSagan271 6f29b31
attention: replay FlashInfer's plan as learned from FlashInfer, not r…
NSagan271 3db75c0
plan replay: stage the step after learning; find copies by content; f…
NSagan271 b7e2729
attention: pin FlashInfer; hand-written direct planner calls on that …
NSagan271 c2b8177
attention: the FlashInfer fallback warning says which version to install
NSagan271 8c923c1
attention: review -- eligibility as functions, _plan_staged, why the …
NSagan271 3eb9f31
KV plan cache: a cached row's membership by set lookup, not a scan
NSagan271 88af3db
attention, GDN: review fixes -- plan laps under the runner's phase, s…
NSagan271 4d39084
planning on main: a staged packed plan is recorded for the read-only …
NSagan271 c761909
cross attention: plan with host kv_lens, so a captured decode wrapper…
NSagan271 3a47f68
recurrent pool, pinned staging: version bump after reset; plan events…
stephen-dwq 44a863a
attention, KV: guard the direct decode plan's lengths and the packed …
stephen-dwq 1d601bb
GDN: pin the plan's staging buffers and wait on its copies on any acc…
92aae7e
qwen3_5: captured text prefill and mixed steps build rope in-graph
NSagan271 f73cb3c
h2d: PinnedStager.copy_ skips per-call slicing and the stream lookup
NSagan271 e5e6778
test: the CUDA-core mixed decode keeps FlashInfer's own plan
NSagan271 2ccfc95
KV packed plan state: the group's page size, as the decode path takes it
NSagan271 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
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
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.
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.
[P3] Only the runner-level totals are split here. The per-resource sub-laps still record under
res.plan.*on both paths.KVManager.planrecordsres.plan.kv_cache.*for every non-preplan call, andFlashInferManager.planrecordsres.plan.attn.*the same way (kv/manager.py:2425,attn/flashinfer.py:199). After this change, an inline plan's total isres.plan_fresh.kv_cache, but its breakdown still lands inres.plan.kv_cache.*. That is next tores.plan.kv_cache, which now only times the promotion, andres.plan.kv_cache.promoteshares the same prefix. So in aworker_phasestable the sub-rows underres.plan.attn/res.plan.kv_cacheadd up to more than their parent row. Passing the same prefix down, or giving the laps the same fresh/promoted split, would keep the two sets of rows consistent.