Repository navigation
Conversation
|
Thanks - this is careful work, and the state it saves is complete (QSA KV with the streaming maps and host copies, GDN, PLE history, MTP, the checkpoints); off by default it changes nothing. Before merging I'd like:
|
|
Thanks for the detailed review. The six points remain outstanding in this draft; compatibility testing does not resolve those implementation requests. The existing snapshot and version-reporting commits were tested against v0.1.16 ( Remaining work
Bounded compatibility checksTest hardware: Ryzen 9 7940HS, RTX 4070 Laptop 8 GB, and 64 GB RAM, running Windows. Server/adapter checks, native snapshot round-trip/admission/invalidation checks, image-prefix checks, rewritten-history checks, independently executed code outputs and auxiliary-request routing checks passed. A known-answer continuation crossing the resident KV window restored the primary prefix after marked side calls and returned the expected answer. These checks do not validate a combined multi-conversation/NVMe design, replace a soak, or establish Linux correctness, bitwise logit parity or a generation-speed improvement. Rewritten compressed history still needs fresh prefill wherever its prefix no longer matches. The release's memory behavior should be measured before reusing an older deployment's tuning. CUDA allocator accounting and global/NVML free memory are different measurements; neither should be substituted for the other without explanation. This PR remains a draft pending the requested changes and validation. |
|
Following the convergence discussion in #57, I posted a concrete shared snapshot design and acceptance proposal here: It proposes one capture/restore core, automatic bounded RAM prefix caching, an optional disk tier, physical-memory admission and correctness gates covering streamed KV, images, failures and real agent workflows. This is a proposal for review, not a completed implementation or agreement on ownership. Keeping #41 in draft as a reference while that design is discussed. The latest commit only revises validation documentation; it does not change runtime code or rebase the implementation. |
…'s (from PR #41, midhatn) Co-Authored-By: MIDHAT NASHAR <midhatn@users.noreply.github.com> Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0154bwiad8gY7wRehCXy27pN
|
Thanks, that works for me. Happy for #41 to close once the unified PR is open, and thanks for carrying the version-reporting fix into 0.1.20. I'll focus on the Windows memory checks and agent tests for the shared core. |
…'s (from PR #41, midhatn) Co-Authored-By: MIDHAT NASHAR <midhatn@users.noreply.github.com>
…'s (from PR Niko1221#41, midhatn) Co-Authored-By: MIDHAT NASHAR <midhatn@users.noreply.github.com>
…'s (from PR Niko1221#41, midhatn) Co-Authored-By: MIDHAT NASHAR <midhatn@users.noreply.github.com> Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0154bwiad8gY7wRehCXy27pN
…-reuse Fix GPU history reuse when clients omit reasoning
…engine's INFO line says kv=int8 (it said fp16 whatever the cache was) and About says '8-bit (INT8) attention cache'
An agent using one local model for both its primary conversation and auxiliary approval/summary calls can lose its primary KV state between turns. The ordinary conversation checkpoints do not preserve an independent positional KV cache, so returning from an unrelated side call can reread thousands of tokens.
This adds an opt-in, bounded host-RAM snapshot around explicitly marked auxiliary requests. A primary → auxiliary → primary sequence restores the primary only when the token/image prefix and control-vector setting match; rewritten history falls back to normal prefill. The feature defaults off and does not add parallel model instances.
Changes
--conversation-cache-mib Nparks one complete mutable primary state, including QSA device/host KV, GDN recurrence/convolution, PLE history, MTP state and the associated checkpoints/token/image metadata. Model weights and expert placement stay in place; device addresses remain stable.strata_auxiliary: trueasaux=1for text and image requests. Further marked auxiliaries do not displace the parked primary, even if their prompts are longer. Reasoning level and prompt text are not used to infer auxiliary intent.BUILD.json. This fixes a custom 0.1.13 executable being displayed as 0.1.12 when it shares a directory with a retained official fallback. Older engines still use the manifest fallback.docs/AUXILIARY_STATE_CACHE.md.Validation
Based on upstream
b89c989a7155e984e544ddd90d1038dda7da9e3d, including the prompt-cache correctness fixes after 0.1.13. The existing patch was also compatibility-tested against v0.1.16; the published implementation has not yet been rebased onto that release.Hardware used for bounded validation: Ryzen 9 7940HS, RTX 4070 Laptop 8 GB, and 64 GB RAM, running Windows.
These are bounded checks, not the requested repeated streamed-KV soak or proof of arbitrary agent-task success. They do not establish bitwise logit parity, cross-platform correctness or a general generation-speed improvement.
Scope for review
This is a draft for review of the API and state ownership. Physical-memory admission currently uses Windows telemetry; other platforms decline admission safely. Linux/cgroup-aware admission is not implemented or validated. The snapshot cap excludes existing small checkpoints, and its RAM-floor check is not a continuous system-wide reservation. Bitwise logit parity across all model/configuration combinations is not claimed.
The cache protects one primary around explicitly marked side calls. It is not persistent storage, arbitrary multi-session caching or a solution for rewritten compression prefixes. The auxiliary inference itself still runs. Deployment-specific configuration and agent delegation changes are outside this PR.
Related to the prompt-cache work in #39, but this snapshots the complete mutable state around explicit auxiliary calls rather than changing checkpoint retention or telemetry. No maintainer action or merging is assumed.