Builds / NVIDIA TITAN RTX
TITAN RTX 24 GB (Turing, Ryzen 7 5800X3D): Qwen3.6 35B-A3B at 113.4 tok/s (176.4 with MTP), Qwen3.8 27B Q4_K_M at 30.2 (llama.cpp CUDA)
Last updated:
- GPU(s)
- NVIDIA TITAN RTX
Amazon Β· eBay (used) Β· Newegg - VRAM / unified memory (GB)
- 24
- CPU
- AMD Ryzen 7 5800X3D (8C/16T)
Amazon Β· eBay (used) Β· Newegg - Motherboard
- not stated
- RAM
- 62 GB
Amazon Β· eBay (used) Β· Newegg - PSU
- not stated
- Other
- TITAN RTX 24 GB (compute capability 7.5), stock blower replaced by a Morpheus II air cooler + 2x Noctua slim 120 mm fans, NR200 case; Arch Linux, kernel 7.2.9; NVIDIA driver 615.78.08; llama.cpp 0.5.0-dev build 11222 (a97cce86a), CUDA arch 75, GGML_CUDA_FA=ON
- Reported total cost
- not stated
- Power
- not stated
Measured speed (generation tokens/sec)
| Model | Quant | Engine | tok/s | Prompt processing (tok/s) | Details |
|---|---|---|---|---|---|
| Qwen3.6 35B-A3B | Unsloth UD-Q4_K_M with embedded MTP head (21.1 GiB), q8_0 KV, 65k context | llama.cpp b11222 (CUDA) | 113.4 | 2,180 @ 512-token prompt est. TTFT @8k β 3.8 s (calculated from measured prefill) | context: 65,536 context, q8_0 KV, -b/-ub 2048, 8 threadsπ llama-bench pp512/tg128 at low context depth, fully GPU-offloaded (-ngl 99), flash attention on, GPU checked idle first; MTP rows use the llama-server request method (coding + DNS prompts x2, 128 tokens, temp 0, seed 42, ignore EOS, no prompt cache; mean per-request), because llama-bench in b11222 has no speculative-decoding support; measured 2026-10-14; plain UD-Q4_K_M file without the MTP head: 115.3 tok/s tg128, 2,140 pp512 |
| Qwen3.6 35B-A3B | Unsloth UD-Q4_K_M with embedded MTP head (21.1 GiB), q8_0 KV, 65k context | llama.cpp b11222 (CUDA), llama-server, MTP draft 2 | 176.4 | not stated | β‘ spec-decode (MTP)context: 65,536 context, q8_0 KVπ llama-bench pp512/tg128 at low context depth, fully GPU-offloaded (-ngl 99), flash attention on, GPU checked idle first; MTP rows use the llama-server request method (coding + DNS prompts x2, 128 tokens, temp 0, seed 42, ignore EOS, no prompt cache; mean per-request), because llama-bench in b11222 has no speculative-decoding support; measured 2026-10-14; +58% over the same file without drafting; code 186.7, prose 166.2; draft 3 averaged 177.8 but 159 on prose; 23.4 GiB peak |
| Qwen3.8 27B | Q4_K_M | llama.cpp b11222 (CUDA) | 30.2 | 768 @ 512-token prompt est. TTFT @8k β 10.7 s (calculated from measured prefill) | context: llama-bench tg128, low depthπ llama-bench pp512/tg128 at low context depth, fully GPU-offloaded (-ngl 99), flash attention on, GPU checked idle first; MTP rows use the llama-server request method (coding + DNS prompts x2, 128 tokens, temp 0, seed 42, ignore EOS, no prompt cache; mean per-request), because llama-bench in b11222 has no speculative-decoding support; re-baselined 2026-10-10 on driver 615.78.08 / b11222 (earlier install: 30.3); at 8K depth tg64 29.2, pp2048 711.2 |
| Qwen3.8 27B | Unsloth UD-Q4_K_XL, q8_0 KV, 65k context (19.5 GiB) | llama.cpp b11222 (CUDA), llama-server, MTP draft 2 | 49.0 | not stated | β‘ spec-decode (MTP)context: 65,536 context, q8_0 KV, -b/-ub 2048, 8 threadsπ llama-bench pp512/tg128 at low context depth, fully GPU-offloaded (-ngl 99), flash attention on, GPU checked idle first; MTP rows use the llama-server request method (coding + DNS prompts x2, 128 tokens, temp 0, seed 42, ignore EOS, no prompt cache; mean per-request), because llama-bench in b11222 has no speculative-decoding support; measured 2026-10-14; +74% over 28.2 without drafting (llama-bench tg128 28.16 at the same settings); code 54.1, prose 44.0; 20.8 GiB |
| LFM2.5 24B-A2B | Unsloth UD-Q4_K_XL | llama.cpp b11222 (CUDA) | 190.7 | 3,408 @ 512-token prompt est. TTFT @8k β 2.4 s (calculated from measured prefill) | context: llama-bench tg128, low depth; 8 threads, -ub 2048π llama-bench pp512/tg128 at low context depth, fully GPU-offloaded (-ngl 99), flash attention on, GPU checked idle first; MTP rows use the llama-server request method (coding + DNS prompts x2, 128 tokens, temp 0, seed 42, ignore EOS, no prompt cache; mean per-request), because llama-bench in b11222 has no speculative-decoding support; measured 2026-10-14; at 130k depth tg512 101.1 with f16 KV vs 68.3 with q8_0 KV. The author benched it but rejected it for poor outputs on real agent work |
| Gemma 4 26B-A4B | Unsloth UD-IQ4_XS | llama.cpp b11222 (CUDA) | 96.6 | 2,674 @ 512-token prompt est. TTFT @8k β 3.1 s (calculated from measured prefill) | context: llama-bench tg128, low depthπ llama-bench pp512/tg128 at low context depth, fully GPU-offloaded (-ngl 99), flash attention on, GPU checked idle first; MTP rows use the llama-server request method (coding + DNS prompts x2, 128 tokens, temp 0, seed 42, ignore EOS, no prompt cache; mean per-request), because llama-bench in b11222 has no speculative-decoding support; 89.8 tok/s at 8K depth |
| Nemotron 3.5 Lightning 30B-A3B | Unsloth UD-Q4_K_M | llama.cpp b11222 (CUDA) | 132.7 | 2,422 @ 512-token prompt est. TTFT @8k β 3.4 s (calculated from measured prefill) | context: llama-bench tg128, low depth; 16 threadsπ llama-bench pp512/tg128 at low context depth, fully GPU-offloaded (-ngl 99), flash attention on, GPU checked idle first; MTP rows use the llama-server request method (coding + DNS prompts x2, 128 tokens, temp 0, seed 42, ignore EOS, no prompt cache; mean per-request), because llama-bench in b11222 has no speculative-decoding support |
Prompt processing = prefill speed (how fast the prompt is read) as reported by the source, with the prompt length it was measured at; blank = the source does not report it. est. TTFT @8k is calculated from the measured prefill speed (8,192 Γ· prefill tok/s), shown only when prefill was measured on a prompt of 512+ tokens. It is not a measurement and ignores load time and caching. measured TTFT is the source's own time-to-first-token. Why prefill matters for coding assistants.
Bryan Lurer's llm-bench write-up (bryanlurer.com, posted 1 Nov 2026; code at github.com/blurer/llm-bench), 'titan' host. A 2018 Turing card: the oldest NVIDIA generation on RigBase with current models. Measurement dates are as the author gives them (Oct 2026 re-baseline and 14 Oct MTP runs). Not listed: gpt-oss 20B (142 tok/s, 'from ranking table only', no quant or method) and the uncensored Qwen3.8 27B MTP row (fine-tune, not the stock model).
Blank fields = not stated in the source. We never estimate build data; GPU street prices above are separately sourced and dated.
Speculative-decoding rows on this page are not like-for-like with plain decode. See how much MTP and DFlash really speed things up (measured pairs).