📈 GH Trending Explorer 🎲 Surprise me

← all repos

ovg-project / kvcached

git clone https://github.com/ovg-project/kvcached.git v0.1.6 · 19d ago

Virtualized Elastic KV Cache for Dynamic GPU Sharing and Beyond

+23
stars, 24h · #1,622
+~65
stars, 7 days · #3,172
+~280
stars, 30 days · #2,873
1.9k
★ total · +4% this week
232
forks · 100 open issues

Star history (as recorded here)

2026-10-20 · 1,884 ★ 2026-10-23 · 1,912 ★
LanguagePython
LicenseApache-2.0
Created2025-05-27 (1y ago)
Last pushtoday
Watchers52
OwnerOrganization

GitHub topics

Links

README excerpt
Make GPU Sharing Flexible and Easy 
kvcached (KV cache daemon) is a KV cache library for LLM serving/training on **shared GPUs**. By bringing OS-style **virtual memory** abstraction to LLM systems, it enables **elastic and demand-driven** KV cache allocation, improving GPU utilization under dynamic workloads.
kvcached achieves this by decoupling GPU virtual addressing from physical memory allocation for KV caches. It allows serving engines to initially reserve virtual memory only and later back it with physical GPU memory when the cache is actively used. This decoupling enables on-demand allocation and flexible sharing, bringing better GPU memory utilization under dynamic and mixed workloads. Check out more details in the blog.
 Key Features 
- **Elastic KV cache**: allocate and reclaim KV memory dynamically to match live load.
- **GPU virtual memory**: decouple logical KV from physical GPU memory via runtime mapping.
- **Memory control**: enforce memory limits with the kvcached CLI or the
 revisioned production-control API.
- **Frontend router and sleep mode**: route requests to the target models and put models to sleep when idle.
- **Support mainstream serving engines**: integrate with SGLang and vLLM.
- **Prefix caching**: support automatic prefix caching (APC) with a configurable memory bound. See the example doc for details.
## 📢 Updates
- **[2026-10]** kvcached **v0.1.6** supports **vLLM v0.30** (including Model Runner V2) and **SGLang v0.5.20**, hybrid linear-attention models (Qwen3.5, Qwen3.8), Gemma 4, and AMD GPUs (ROCm).
- **[2026-04]** kvcached is **featured by Red Hat** for running LLMs dynamically in production under limited resources! Red Hat's Sardeenz builds on kvcached to provide dynamic multi-model serving with Kubernetes and OpenShift support. See the blog post for more details.
 [[▶ View Demo]](https://app.arcade.software/share/xZoDfo1vyDbZrbZTK2gv?ref=share-link)
- **[2026-04]** Added **prefix caching** support. kvcached now supports **automatic prefix caching (APC)** for vLLM and **RadixCache** for SGLang, enabling cross-request prefix reuse while maintaining elastic memory management.
- **[2026-03]** Added **pipeline parallelism** support.
MLA models (DeepSeek-V3, DeepSeek-V2 etc.) and GPT-OSS hybrid attention models (`openai/gpt-oss-20b`) are now also supported in **vLLM**.
GPT-OSS support in SGLang updated to **v0.5.9**.
### Supported engines and models
| Engine | Versions | Attention types | Example models |
|--------|----------|-----------------|----------------|
| SGLang | ≥ v0.5.11 (tested up to v0.5.20) | MHA / GQA / MLA / sliding window / hybrid | DeepSeek-V3, Qwen3-8B, GPT-OSS-20B, Qwen3.5-9B, Qwen3.8-27B, Gemma-4-E2B-it |
| vLLM | ≥ v0.17.0 (tested up to v0.30.0) | MHA / GQA / MLA / sliding window / hybrid | DeepSeek-V3, Qwen3-8B, GPT-OSS-20B, Qwen3.5-9B, Qwen3.8-27B, Gemma-4-E2B-it, Gemma-4-12B-it |
The minimum versions follow from the PyTorch requirement below. See #425 for per-model results on each engine and