Raphael Friedmann, AI infrastructure, Karlsruhe
How fast can one consumer card serve modern AI?
Fast enough that the answer needed its own engine.
I started in C++ twenty years ago, mostly import and export interfaces and small tools, and even then I wanted to push the hardware to its limits. Most of my career since went into keeping production systems running. imp is my answer to the question above: an inference engine built from scratch for one RTX 5090. I write about it two ways: an engineering log with the details and numbers, and a course for anyone who wants to understand how AI runs on a GPU.
- 6 of 6 GGUF models decode faster single-stream than on llama.cpp, up to +141%
- +16 to +76% more throughput than vLLM at 8 and 32 streams, Qwen3.8-27B
- 126 432 tokens of context for a 27B model, weights and KV cache in NVFP4 on 32 GB
Latest writing
All posts: the log and understanding AIThe newest from both tracks, freshest first. Each grid is the post's name hashed into 4-bit numbers.
How a small model learns from a big one
Many of the small open models you can run at home were taught by a bigger model, not just by the internet. What distillation is, why it works so well, and what it can't hand down.How imp runs Qwen3.8-Flash-Next on a 32 GB card
56 GiB of experts, 32 GB of VRAM: all experts on the host, a GPU-managed cache in VRAM, and decode from 5.8 to 75-80 tokens per second on real text.Making a model emit valid JSON, every time
Asking nicely gets you valid JSON almost always, and almost is a broken integration. The fix is in the sampler: delete every invalid token before you sample.Testing a model on your own work
Leaderboards tell you a model is good at leaderboards. Forty real cases from your own backlog, graded honestly, answer the question you actually have.Why a model thinks before it answers
Modern models write pages of working-out before answering. That 'thinking' is computation bought with tokens: what it buys, what it costs, when it's wasted.The oracle you build yourself
Dependabot opened five PRs against this site, three of them major. No test suite, so I built the check: render the site with both versions and diff it.imp, measured on one RTX 5090
Every figure is dated and commit-anchored in BENCHMARKS.md ↗The question, answered in code: one engine, built from scratch, on the consumer card's native 4-bit tensor cores that the big engines leave idle here. The numbers below are the engine's own, with the command to reproduce each.
A from-scratch C++23/CUDA engine that runs large language models on a single NVIDIA RTX 5090. Single-stream latency is its axis: one person, one card, one answer coming back as fast as the silicon allows. It speaks the OpenAI and the Anthropic API natively, so an agent stack written against either runs without a shim. Written entirely with Claude Code.
- ~154k lines C++23/CUDA
- NVFP4 4-bit native
- OpenAI and Anthropic API
- CUDA graphs, continuous batching
- v0.34.0, 2 Sep 2026
- MIT licensed
Qwen3.8-27B on one card
The README's worked example: a 27B multimodal model, quantized to NVFP4 with imp's own quantizer so it fits the 5090 with room for a real context. The same checkpoint loads in vLLM, which is what makes the comparison below fair.
| Single-stream decode | 102 tok/s | 128 tokens, temperature 0, imp-cli, 2026-08-31 |
|---|---|---|
| Context on 32 GB | 126 432 tokens | weights and KV cache in NVFP4; 8-bit KV stops at 86 848 |
| Decode at a 77k prompt | 74 tok/s | 100 with sparse decode on, batch 8, 2026-08-30 |
| 32 streams | 1 834 tok/s | aggregate, 300-token generations, 2026-09-02 |
| Prefill | 11 730 tok/s | pp4096, two runs 11 730 and 11 740, v0.34.0 |
| On the card | 18.3 GiB | 19.2 GiB download, about 7 GiB left for the KV cache |
tools/analysis/vllm_conc_ab.sh.
make bench-competitive.
From the labs
Official feeds, rebuilt daily: all AI newsOther people's announcements, straight from the source and unranked. Everything above is mine.
- OpenAI
How Itaú is building generative AI for its entire customer base
16 Oct 2026 - NVIDIA Developer
Code, Test, and Deploy on One Machine with NVIDIA RTX Spark
16 Oct 2026 - Hugging Face
Scaling Indic Pretraining: 2.8 Trillion Tokens and an Open Data Generation Pipeline
16 Oct 2026 - Hugging Face
Welcome Beam: a 501B open model you can own, customize, and scale
16 Oct 2026