Manuel de Prada Corral
c338fd43b0
[cache refactor] Move all the caching logic to a per-layer approach (#39106)
* Squash for refactor: Replace monolithic cache classes with modular LayeredCache (#38077)
- Introduces CacheLayer and Cache base classes
- Ports Static, Dynamic, Offloaded, Quantized, Hybrid, etc. to use layers
- Implements method/attr dispatch across layers to reduce boilerplate
- Adds CacheProcessor hooks for offloading, quantization, etc.
- Updates and passes tests
* fix quantized, add tests
* remove CacheProcessorList
* raushan review, arthur review
* joao review: minor things
* remove cache configs, make CacheLayer a mixin (joaos review)
* back to storage inside Cache()
* remove cachebase for decorator
* no more __getattr__
* fix tests
* joaos review except docs
* fix ast deprecations for python 3.14: replace node.n by node.value and use `ast.Constant`
More verbose exceptions in `fix_docstring` on docstring formatting issues.
* Revert "back to storage inside Cache()"
This reverts commit 27916bc2737806bf849ce2148cb1e66d59573913.
* cyril review
* simplify cache export
* fix lfm2 cache
* HybridChunked to layer
* BC proxy object for cache.key_cache[i]=...
* reorder classes
* bfff come on LFM2
* better tests for hybrid and hybridChunked
* complete coverage for hybrid chunked caches (prefill chunking)
* reimplementing HybridChunked
* cyril review
* fix ci
* docs for cache refactor
* docs
* oopsie
* oopsie
* fix after merge
* cyril review
* arthur review
* opsie
* fix lfm2
* opsie2
2025-07-22 16:10:25 +02:00
..
2025-07-22 16:10:25 +02:00
2025-06-13 11:07:09 +00:00
2025-07-22 10:53:16 +01:00
2025-07-07 13:12:02 +00:00
2025-05-23 16:39:47 +00:00
2025-06-17 19:37:18 +01:00
2024-11-28 16:04:05 +01:00
2024-05-28 18:29:22 +02:00
2025-07-22 15:31:10 +02:00
2025-06-13 15:32:40 +00:00
2025-05-30 16:05:07 +00:00
2025-06-26 12:25:14 -07:00
2025-03-03 10:33:46 -08:00
2025-07-03 17:04:16 +01:00
2025-07-22 15:06:43 +02:00
2025-07-18 18:00:34 +00:00
2025-03-03 10:33:46 -08:00
2025-07-22 16:10:25 +02:00
2025-03-07 13:09:02 +00:00
2025-06-30 07:56:55 -07:00
2025-03-03 10:33:46 -08:00
2025-03-03 10:33:46 -08:00
2024-09-09 10:47:24 +02:00
2025-07-03 17:04:16 +01:00
2025-06-17 19:37:18 +01:00
2025-03-03 10:33:46 -08:00
2025-03-04 13:47:41 +00:00
2025-03-03 10:33:46 -08:00
2025-03-03 10:33:46 -08:00
2025-06-30 07:56:55 -07:00
2025-03-03 10:33:46 -08:00
2025-03-04 13:47:41 +00:00
2025-06-20 17:36:57 +01:00
2025-03-11 15:29:14 +01:00
2025-06-13 11:07:09 +00:00
2025-05-19 10:37:54 -07:00
2025-06-05 14:07:23 -07:00
2025-05-12 11:55:51 +02:00
2025-06-13 12:02:27 -07:00
2025-04-07 15:19:47 +02:00
2025-07-22 16:10:25 +02:00
2025-07-22 15:06:43 +02:00
2025-06-13 11:07:09 +00:00
2025-06-17 19:37:18 +01:00
2025-06-13 11:07:09 +00:00
2025-03-03 10:33:46 -08:00
2025-06-25 14:55:22 +00:00
2025-06-26 14:21:54 -07:00
2025-07-16 13:35:53 +02:00
2024-09-09 10:47:24 +02:00
2025-03-03 10:33:46 -08:00
2025-07-16 12:15:15 -07:00
2025-06-06 20:04:44 +02:00
2025-06-30 08:54:05 -07:00
2025-07-22 15:06:43 +02:00
2025-03-03 10:33:46 -08:00
2025-06-06 20:04:44 +02:00
2025-06-06 20:04:44 +02:00
2025-04-29 13:28:06 -07:00
2025-06-26 14:40:45 -07:00
2025-06-23 12:33:10 -07:00
2025-03-03 10:33:46 -08:00
2024-11-26 09:23:34 -08:00
2023-11-06 19:45:03 +00:00
2025-03-03 10:33:46 -08:00
2025-03-04 13:47:41 +00:00
2025-04-15 08:35:05 -07:00
2024-09-09 10:47:24 +02:00
2025-05-19 13:16:35 +00:00
2025-06-24 11:48:15 -07:00
2025-03-11 13:47:38 +00:00
2025-03-03 10:33:46 -08:00
2025-07-22 15:31:10 +02:00
2025-06-25 17:29:10 +00:00
2025-03-03 10:33:46 -08:00
2025-06-13 11:07:09 +00:00
2025-07-03 17:04:16 +01:00
2025-05-08 16:47:45 +01:00
2025-07-14 09:25:06 -07:00
2025-03-03 10:33:46 -08:00
2025-07-22 15:31:10 +02:00
2024-02-16 08:16:58 +01:00
2025-05-12 11:55:51 +02:00