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-04-11 18:42:37 +01:00
2025-06-13 12:03:49 +00:00
2025-07-09 09:29:51 -07:00
2025-06-17 19:37:18 +01:00
2024-04-08 14:21:16 +01:00
2025-07-21 09:14:15 -07:00
2023-06-20 18:07:47 -04:00
2025-04-30 12:15:43 +01:00
2024-04-16 15:34:04 +01:00
2024-02-08 14:13:35 -08:00
2024-02-16 08:16:58 +01:00
2025-06-13 11:07:09 +00:00
2024-02-16 08:16:58 +01:00
2024-08-07 11:25:19 -07:00
2024-02-16 08:16:58 +01:00
2025-04-30 12:15:43 +01:00
2024-08-27 09:25:41 -07:00
2024-02-16 08:16:58 +01:00
2025-06-17 19:37:18 +01:00
2023-09-27 13:47:44 -07:00
2025-04-30 12:15:43 +01:00
2023-06-20 18:07:47 -04:00
2024-08-08 09:40:03 -07:00
2025-06-13 11:07:09 +00:00
2025-04-14 14:16:07 +01:00
2025-07-07 09:12:55 -07:00
2025-05-01 08:44:12 -07:00
2024-10-02 14:08:46 +01:00
2023-06-20 18:07:47 -04:00
2025-06-13 11:07:09 +00:00
2024-11-26 09:37:18 -08:00
2025-04-03 14:15:53 +01:00
2025-06-13 11:07:09 +00:00
2023-11-20 17:14:23 +00:00
2025-06-13 11:07:09 +00:00
2024-11-11 07:09:31 -08:00
2025-06-13 11:07:09 +00:00
2024-10-08 18:30:41 -07:00
2024-02-16 08:16:58 +01:00
2024-02-06 11:15:44 -08:00
2025-06-13 11:07:09 +00:00
2024-02-16 08:16:58 +01:00
2023-07-25 16:04:14 +02:00
2025-07-21 09:14:15 -07:00
2025-06-13 11:07:09 +00:00
2024-02-16 08:16:58 +01:00
2024-02-16 08:16:58 +01:00
2025-06-13 11:07:09 +00:00
2024-11-04 09:41:44 -08:00
2023-08-18 23:08:34 +02:00
2023-07-24 09:23:34 -04:00
2024-02-16 08:16:58 +01:00
2023-11-06 19:45:03 +00:00
2024-02-16 08:16:58 +01:00
2024-02-16 08:16:58 +01:00
2023-08-17 08:03:17 +02:00
2024-02-16 08:16:58 +01:00
2024-12-17 09:32:00 -08:00
2025-03-11 13:47:38 +00:00
2023-11-06 19:45:03 +00:00
2024-02-16 08:16:58 +01:00
2025-05-01 08:44:12 -07:00
2024-02-16 08:16:58 +01:00
2025-06-13 11:07:09 +00:00
2025-06-25 17:29:10 +00:00
2024-02-16 08:16:58 +01:00
2024-02-16 08:16:58 +01:00
2025-06-13 11:07:09 +00:00
2024-02-16 08:16:58 +01:00
2025-06-13 12:03:49 +00:00
2024-04-18 12:49:43 -04:00
2024-02-16 08:16:58 +01:00