You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: Cargo.toml
+5-3Lines changed: 5 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,9 @@
1
1
[package]
2
2
name = "shimmy"
3
-
version = "2.0.1"
3
+
version = "2.1.0"
4
+
# publish = false while airframe 0.2.1 is local (path dep). Remove path dep and
5
+
# this line once airframe 0.2.1 is published to crates.io, then `cargo publish`.
6
+
publish = false
4
7
edition = "2021"
5
8
license = "MIT"
6
9
description = "Lightweight Ollama-compatible inference server with native SafeTensors support. No Python dependencies, cross-platform WebGPU acceleration via Airframe."
@@ -19,7 +22,6 @@ include = [
19
22
"LICENSE",
20
23
"build.rs"
21
24
]
22
-
publish = true
23
25
24
26
[features]
25
27
default = ["airframe", "huggingface"] # Full GPU build; use --no-default-features --features huggingface for CPU-only
@@ -68,7 +70,7 @@ dirs = "5.0"
68
70
reqwest = { version = "0.12", features = ["json", "rustls-tls", "stream"], default-features = false }
69
71
70
72
# Airframe native GPU inference — public crate on crates.io
@@ -59,6 +60,8 @@ Shimmy is a **single-binary** that provides **100% OpenAI-compatible endpoints**
59
60
60
61
**🎉 NEW in v2.0.0**: Shimmy now runs on [Airframe](#-airframe-engine), a pure-Rust WGSL GPU engine. No C++ toolchain, no backend flags, no compilation required.
61
62
63
+
**⚡ NEW in v2.1.0**: [TurboShimmy INT4 KV](#-turboshimmy-int4-kv) — ~7× less KV cache VRAM with one flag. Run Llama-3.2-3B on 4 GB GPUs.
64
+
62
65
## 🔥 Airframe Engine
63
66
64
67
Starting in v2.0.0, Shimmy's default inference engine is **Airframe** — a pure-Rust WebGPU (WGSL) transformer runtime built from scratch.
**TurboShimmy** is Shimmy's on-GPU INT4 KV-cache compression system, shipping in v2.1.0. It squeezes the KV cache from 32-bit floats down to per-head-vector 4-bit integers — entirely in WGSL compute shaders with no CPU roundtrips — delivering ~7× less KV VRAM with no measurable quality loss at normal context lengths.
88
+
89
+
**One flag. ~7× less KV VRAM. Same output quality.**
90
+
91
+
```bash
92
+
# Enable TurboShimmy on any GGUF model
93
+
./shimmy serve --kv-quant int4
94
+
95
+
# Or via environment variable (docker-compose, systemd, etc.)
96
+
SHIMMY_KV_QUANT=int4 ./shimmy serve
97
+
98
+
# Windows GPU + long prompts: reduce per-dispatch work to prevent TDR resets
99
+
./shimmy serve --kv-quant int4 --prefill-chunk 8
100
+
```
101
+
102
+
**Why it matters** — TurboShimmy changes what fits on your GPU:
103
+
104
+
| GPU VRAM | Without TurboShimmy | With TurboShimmy (`--kv-quant int4`) |
105
+
|---|---|---|
106
+
| 3 GB | Llama-3.2-1B only |**Llama-3.2-3B fits ✅**|
| Windows GPU + TDR crashes on long prompts |`--kv-quant int4 --prefill-chunk 8`|
133
+
134
+
**How it works:** Each K/V head vector is independently quantized to 4-bit integers with a per-vector F32 scale factor, encoded as packed nibbles by WGSL compute shaders. Dequantization happens on-the-fly when computing attention scores — also on GPU. The Airframe engine's helical context-shift operates directly on the packed INT4 representation. No CPU roundtrips at any step. Full architecture details in the [Airframe engine](https://github.com/Michael-A-Kuykendall/airframe).
135
+
136
+
> **Quality validation:** Needle-in-a-haystack benchmarks on Llama-3.2-3B show zero retrieval degradation vs F32 at ctx≤2048 across all tested depths (15%, 50%, 85%). Full benchmark data and setup guide: [TurboShimmy on the wiki](https://github.com/Michael-A-Kuykendall/shimmy/wiki/TurboShimmy).
137
+
138
+
> **Windows stability:** Airframe v0.2.1 ships a `device.on_uncaptured_error` handler so GPU validation errors surface as clean HTTP 500 responses instead of crashes. Use `--prefill-chunk 8` to prevent Windows TDR resets during long prefills on older GPUs (GTX 10xx/16xx series).
139
+
82
140
## 🎯 Supported Models
83
141
84
142
Airframe v2.0 ships with GPU-verified support across **7 model architectures** and **5 quantization types**, covering the models most commonly run on consumer hardware. Context window is read directly from each model's GGUF metadata — no hardcoded limits.
@@ -452,6 +510,8 @@ I built Shimmy to retain privacy-first control on my AI development and keep thi
452
510
|`SHIMMY_MODEL_PATHS`|*(see Zero Config)*| Colon-separated extra model search paths |
453
511
|`SHIMMY_ENGINE_BACKEND`|`airframe`|`airframe` (default) or `llama` (legacy path) |
0 commit comments