Skip to content

feat: support cache-off ATOM PD with one KV block - #237

Draft
gspark-etri wants to merge 1 commit into
feat/231-atom-hybrid-pdfrom
feat/236-atom-single-pd
Draft

gspark-etri wants to merge 1 commit into
feat/231-atom-hybrid-pdfrom
feat/236-atom-single-pd

Conversation

@gspark-etri

Copy link
Copy Markdown
Collaborator

Background

KONI's validated static B1 ATOM artifact has one KV block. The scheduler previously required an extra scratch block even for cache-off PD, preventing live remote prefill with that artifact.

Changes

Allow block0 to be assigned and released for exactly one non-hybrid lane when prefix/host caches are off. There is no simultaneous idle decoding lane in this configuration. Require full-prefix results, isolate partial-result errors per request, and keep existing multi-lane/cache/hybrid guards.

Verification

  • Base69bca73; change df02223. Selected atom_batching/atom_hybrid/pd_recovery/serve_batched suite:43passed, one existing unfused attention warning. Initial regression1failed/3passed. Covers queued native/imported parity, late cancelled results, partial-result rejection/reuse and unsupported combinations.
  • Actual live KONI RNGD->ATOM HTTP with existing B1/context9216/k1 artifact:14normal/concurrent/reuse responses token-identical through EOS,16remote/0local prefills, cancel/disconnect and subsequent reuse pass; final free lane[0]. Clients queue on B1; no hardware batch4 claim.
  • Pinned KONI revision0172bf7e73977ae213613529f3d2d5400a33f678, short137–143token prompts, RNGD width512. SDK versions, exact command, result JSON and limits in http_matrix/experiments/2026-10-23-single-block-pd236.md and live-http234.md. Hardware tested the same behavior before final explanatory/error wording edits.
  • Diff and scoped sensitive checks pass. Existing unrelated baseline sensitive findings are unchanged.

Compatibility and limits

Stacked on #232; hardware harness/producer in #235 and SIGPIPE-safe HTTP module from #215. No extra model compilation or communication protocol change. Prefix/host cache, hybrid single-block and multi-lane single-block paths remain unsupported. Broader live long-context, performance and overlap work remains open under #201/#234.

Related Issue

Closes #236. Related #201/#231/#234.

gspark-etri added a commit that referenced this pull request Oct 30, 2026
Lane-local sliding cache tables and global block tables for hybrid (Gemma3)
external-cache serving; fresh full-prefix hybrid PD; batch-1 single-block PD
with prefix/host caching off. Hybrid prefix and host caching stay rejected.

From feat/236-atom-single-pd (#210, #232, #237): atom/batching.py,
tests/test_atom_hybrid.py, tests/test_atom_batching.py. ATOM.md section
rewritten to the supported scope.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant