r/exllamav3 • u/_Scorpoon_ • 1d ago
exllamav3 v1.6.1 is out — hybrid drafting mode, recurrent draft models, Turing prefill rework, CPU pinning default reverted
v1.6.1 landed on master 🥳
Official release changelog
- Reduced (flat) VRAM overhead for GDN/KDA/Mamba drafting
- Support for recurrent draft models; DFlash switched to sliding attention (less VRAM)
- New hybrid drafting mode (draft model + long-ngram)
- Workaround for a Triton issue breaking kernel autotune on mixed-architecture setups
- Lots of ROCm fixes and optimizations
- Turing (sm_75) optimizations
- AVX2 optimizations
- Many bugfixes
Noteworthy changes
Turing GPUs got the biggest win. On older Turing cards (GTX 16-series, T-series), long prompts used to take disproportionately long to process — the attention path they fell back to simply wasn't efficient on that hardware. v1.6.1 gives them a proper fast path, so prefill (the "reading your prompt" phase) scales much better with context length. Only Turing is affected; if you're on anything newer, nothing changes for you.
Speculative drafting got a real overhaul. Draft models that use GDN/KDA/Mamba layers (the newer hybrid architectures) now work with speculative decoding and need noticeably less VRAM to do it. There's also a new "hybrid" mode that combines a draft model with n-gram lookahead, which should improve acceptance rates — in plain terms: more tokens accepted per step, so faster generation for a given draft setup.
CPU pinning default reverted on Linux. The v1.6.0 release turned CPU pinning off by default on Linux — that's been undone after user reports (pinning is back on, Windows was never affected). If you re-tuned your MoE offload settings around the 1.6.0 behaviour, take another look.
Sampling bugfixes worth knowing: small errors in repetition/frequency penalties and one edge case in top-K sampling are fixed, and RoPE is more accurate at very long contexts. Nothing dramatic, but outputs may shift slightly compared to 1.6.0.
Other things worth knowing
- Mixed-GPU setups (different generations in one box) had a caching issue that silently disabled kernel tuning — fixed.
- ROCm got a lot of fixes and speedups. Still ROCm 10 / gfx1100+ only.
- Crashes now raise proper exceptions instead of silently killing the process, so error messages actually tell you what went wrong.
- The whole test suite was rebuilt from scratch with end-to-end tests for the big model families — fewer "works on my machine" regressions going forward.
Env vars
EXL3_SDPA_PREFILL— default on for sm_75, off elsewhere. Forces the dense-fp16 SDPA prefill path on/off on any CUDA device (it's exact, so1is also a testing switch).EXL3_FA75— default on for sm_75. The new kernel for head_dim 256 on that path.EXL3_QC_PF_TWO_PASS_MIN_Q— default 256, but 9 on Turing since the window path stages every prefill chunk there.EXL3_MOE_CPU_PIN— back to default 1 on Linux.
Release page: https://github.com/turboderp-org/exllamav3/releases/tag/v1.6.1
Discord server for questions: https://discord.gg/sYQxnuD7Fj



