You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 25c1447
Browse filesBrowse the repository at this point in the historyBrowse files
Callers that keep one decode plan or indexer wrapper per batch size (vLLM
does, for every eager batch size above its CUDA graph range) grew GPU
memory by up to 288 MiB per new size at a 1M-token context and ran out of
memory under load.
- Every Q8KV4 decode plan allocated its own 32 MiB CUTLASS workspace,
which the kernels never read (get_workspace_size is 0). Plans on a device
now share one buffer.
- The decode indexer wrappers take an optional caller-owned score_buffer
(fp32, score_buffer_size(batch, max_pages, num_heads) elements) for the
page-score scratch, batch x 8 x num_heads x max_pages fp32 per wrapper,
so wrappers that never run concurrently can share one.
Signed-off-by: Yongye Zhu <zyy1102000@gmail.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
0 commit comments