Animation: Radeon RX 7900 XTX, Qwen3.8-27B UD-Q4_K_XL. The same 500-token answer written nonstop at the measured pace: the typical app at 35.9 tokens per second, our engine at 114.8 tokens per second. Our engine finishes it in 4.4 s, the typical app in 13.9 s. The same measurement script on both sides.
Same hardware. Same model.Samehardware.Samemodel.Just faster.Justfaster.
Kraków is best explored without hurrying, although a single weekend is enough to catch its rhythm. Start early in the morning in Kazimierz, when the cafés are only just setting out their tables and the vendors at the Okrąglak on Plac Nowy are getting the first zapiekanki ready. Szeroka, Józefa and Miodowa streets are almost empty then, so you can take your time looking into courtyards, synagogues and small galleries before the tour groups arrive.
3.2×faster
114.8t/s
Done4.4 s
Enigma LABZAnswer 1
500 / 500 tokens
Kraków is best explored without hurrying, although a single weekend is enough to catch its rhythm. Start early in the morning in Kazimierz, when the cafés are only just setting out their tables and the vendors at the Okrąglak on Plac Nowy are getting the first zapiekanki ready. Szeroka, Józefa and Miodowa streets are almost empty then, so you can take your time looking into courtyards, synagogues and small galleries before the tour groups arrive.
Radeon RX 7900 XTX · Qwen3.8-27B UD-Q4_K_XL · the same measurement script on both sides (ABBA) · a 500-token answer, example text, measured pace
Three steps.Each one measured.
01Scan
First, we read your card.
Locally, without admin rights, without sending anything. This is what we pick the model from.
Sapphire PULSE · the card in our lab
GPUAMD Radeon RX 7900 XTXNavi 31 · gfx1100
DriverROCm 10.0 · HIP
VRAM24 GB GDDR6384-bit · 12 × 32-bit
Bandwidth960 GB/s20 Gbps × 384 bit
Power limit303 Wdriver default
Recommended modelQwen3.8-27B UD-Q4_K_XL
Done · 4/4
Scan of the card in our lab, Sapphire PULSE Radeon RX 7900 XTX: Navi 31 chip (gfx1100), ROCm 10.0 (HIP) driver, 24 GB of GDDR6 on a 384-bit bus, 960 GB/s bandwidth, default power limit 303 W. Recommended model: Qwen3.8-27B UD-Q4_K_XL.
02Pick
A model that really fits.
We count memory with context and buffers, not just the file size. A model that is too big is out straight away.
✓fitsour engine uses 22.8 GB / 24 GB
✕does not fitthe same model in Q8_0 · 29.1 GB > 24 GB
Radeon RX 7900 XTX24 GB VRAM
Qwen3.8-27BQ8_0 · 29.1 GBdoes not fit
context, KV cache and engine buffers
1.2 GB headroom
Qwen3.8-27B UD-Q4_K_XL17.6 GB · model file
04812162024
Radeon RX 7900 XTX: 24 GB VRAM. Qwen3.8-27B UD-Q4_K_XL: model file 17.6 GB, our engine uses 22.8 GB — fits.
the same model in Q8_0: 29.1 GB — does not fit.
03Accelerate
Three setups.Our engine is fastest.
Same model, same card, same measuring script. Every bar is a separate measurement.
70 t/s
42.91×
75.31.8×
93.32.2×
Typical app llama.cpp with default settings : 42.9 tokens per second
Best flags + MTP upstream llama.cpp, MTP speculation : 75.3 tokens per second, 1.8× vs the typical app
Our engine lighter draft and our own kernels : 93.3 tokens per second, 2.2× vs the typical app
2.2× faster than the typical app1.2× vs the best upstream flags Qwen3.8-27B · GeForce RTX 3090 · t/s
Every pair measured with the same script.
The typical app and our engine, on the same card with the same model file.
Best flags + MTPupstream llama.cpp with its own speculation: 60.0 t/s
Our engine, Oct 12first version
Our own kernels for RDNA3
: 74.5 t/s
Our engine, Oct 15production release
Fewer launches and fusions
A faster sampler and host
Smarter MTP speculation
: 109.0 t/s
Our engine todayOct 19
Stable PM4 command replay
Verification on the GPU
: 114.8 t/s
Same model,same quality.
Our engine changes the model’s answers as much as llama.cpp’s own noise. Changing the model format makes a difference about 310× bigger.
Underdog Saluki 27B: our engine vs llama.cpp 0.00065, llama.cpp vs itself 0.00061; Ternary Bonsai 2 27B: our engine vs llama.cpp 0.00032, llama.cpp vs itself 0.00021. a model format change (QAD-Q4_0): 0.203.
00.10.2
here, just above zero
0.203
≈ 310×bigger difference
our engine and llama.cpp noise
a model format change LFM2.5: QAD-Q4_0 vs Q8_0
×250the same spot, magnified
llama.cpp vs itselfour engine vs llama.cpp
00.00050.001
0.000610.00065 Saluki 27B
0.000210.00032 Bonsai 2 27B
How we measure it
Linear scale. Metric: KLD, how much the next-word probabilities differ (0 = identical). llama.cpp noise: the same llama.cpp with a different batch size (ubatch 256 vs 512). Saluki and Bonsai measured on the GeForce RTX 3060 12 GB; the format change is another model (LFM2.5 on the GeForce RTX 5060 Ti 16 GB), shown for scale.
Speed-ups don’t change the text
On or off, they give the same greedy text, bit for bit (md5 checks). We differ from llama.cpp only in the order of some multiplications, at noise level; hence KLD.
✓speculation
✓GPU verification
✓PM4 replay
Measured, card by card.
Every card has its own page: the models that fit, the results and the measurement conditions.
On the tiles: the card’s recommended model or, when it has no same-script comparison, the first model that does. Our engine vs the typical app; conditions are on the card pages.
See how much we can get out of it. Without changing the model.
GeForce RTX 3090, Qwen3.8-27B UD-Q4_K_XL: the same answer streams at 42.9 tokens per second without Enigma LABZ and at 93.3 tokens per second with Enigma LABZ.
Without Enigma LABZ
Typical app
42.9t/s
Hi all! I’m moving tomorrow’s team meeting from the morning to the afternoon, because a client visit came up. The room and the call link stay the same. If the new time doesn’t work for you, let me know by tonight and I’ll find another slot. Please bring a short summary of your week, two sentences each. Thanks, and see you tomorrow!
Hi all! I’m moving tomorrow’s team meeting from the morning to the afternoon, because a client visit came up. The room and the call link stay the same. If the new time doesn’t work for you, let me know by tonight and I’ll find another slot. Please bring a short summary of your week, two sentences each. Thanks, and see you tomorrow!
32 tokens
With Enigma LABZ
Our engine
93.3t/s
2.2×faster
Hi all! I’m moving tomorrow’s team meeting from the morning to the afternoon, because a client visit came up. The room and the call link stay the same. If the new time doesn’t work for you, let me know by tonight and I’ll find another slot. Please bring a short summary of your week, two sentences each. Thanks, and see you tomorrow!
Hi all! I’m moving tomorrow’s team meeting from the morning to the afternoon, because a client visit came up. The room and the call link stay the same. If the new time doesn’t work for you, let me know by tonight and I’ll find another slot. Please bring a short summary of your week, two sentences each. Thanks, and see you tomorrow!
69 tokens +37
GeForce RTX 3090 · Qwen3.8-27B UD-Q4_K_XLexample text, measured pace
No. We use the same model files (GGUF) as other apps and speed up the engine that runs them. Our output is not bit-identical to upstream, so we check quality with KLD; it stays within upstream’s own noise.
02Does it work on NVIDIA cards?
Yes. We have measurements on NVIDIA and AMD cards, each with its conditions and source. The cards with results are in the cards explorer, and more are waiting in the measurement queue.
03How much faster will it be on my computer?
It depends on the card and the model. On the GeForce RTX 3090 with Qwen3.8-27B we measured 2.2×; on weaker cards with small models the gain can be small. For cards we have not measured we show an estimate from our formula, always labelled as an estimate.
04What do you send to your servers?
Nothing by default. The scan and your chats run locally. Sharing a result with the profile database is a separate opt-in, off by default, with a data preview.
05Why tokens and not words?
Engines count tokens. In English a word is about 1.17 tokens, in Polish about 2.69, so next to answer times we also give words.
06Does it work on Windows?
We design for Windows, Linux and macOS, but today we measure on Linux. Results on Windows may differ; we will show them once we have measured them.