ollama/x/models
Jesse Gross 4e96f4dbf2 cache: stop recurrent conv state from pinning the forward buffer
Keeping the recurrent conv state small was handled unevenly: the committed
live state was recopied on every commit — wasted work on single-token
decode, where the window is already tiny — while boundary states captured as
snapshots could still be plain slices of the forward-sized convolution
buffer. A cached slice pins that whole buffer even though the trie's eviction
accounting only counts the slice's bytes, so recurrent cache memory piled up
across requests and eviction could never reclaim it.

Compact each boundary state to its real size once, where it is produced in
the conv wrapper, so live state and snapshots own only their own bytes and
eviction sees the true cost. Single-token decode leaves the already-tiny
window as a slice.

Fixes #16698
2026-07-14 10:32:04 -07:00
..
cohere2_moe mlx: x/create rewrite (#16919) 2026-07-03 18:30:45 -07:00
gemma3 runner: Remove CGO engines, use llama-server exclusively for GGML models (#16031) 2026-05-29 13:35:47 -07:00
gemma4 mlx: x/create rewrite (#16919) 2026-07-03 18:30:45 -07:00
glm4_moe_lite mlx: x/create rewrite (#16919) 2026-07-03 18:30:45 -07:00
laguna mlxrunner: move YaRN RoPE helpers into x/models/nn 2026-05-22 09:32:09 -07:00
llama runner: Remove CGO engines, use llama-server exclusively for GGML models (#16031) 2026-05-29 13:35:47 -07:00
nn cache: stop recurrent conv state from pinning the forward buffer 2026-07-14 10:32:04 -07:00
qwen3 runner: Remove CGO engines, use llama-server exclusively for GGML models (#16031) 2026-05-29 13:35:47 -07:00
qwen3_5 nn/recurrent: derive conv boundary states from a single conv pass 2026-07-14 10:32:04 -07:00
qwen3_5_moe MLX: add header vendoring and remove go build tag (#14642) 2026-03-09 17:24:45 -07:00