<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: RigBase</title>
    <description>The latest articles on DEV Community by RigBase (@rigbase).</description>
    <link>https://dev.to/rigbase</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4197507%2F1a1e4b7c-9d6b-46b1-b3e1-767b68975b88.png</url>
      <title>DEV Community: RigBase</title>
      <link>https://dev.to/rigbase</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rigbase"/>
    <language>en</language>
    <item>
      <title>What GPU do you need for Qwen3.8, Qwen3.6, Gemma 4 and gpt-oss locally? (measured, Oct 2026)</title>
      <dc:creator>RigBase</dc:creator>
      <pubDate>Sat, 24 Oct 2026 19:12:56 +0000</pubDate>
      <link>https://dev.to/rigbase/what-gpu-do-you-need-for-qwen38-qwen36-gemma-4-and-gpt-oss-locally-measured-oct-2026-1eg6</link>
      <guid>https://dev.to/rigbase/what-gpu-do-you-need-for-qwen38-qwen36-gemma-4-and-gpt-oss-locally-measured-oct-2026-1eg6</guid>
      <description>&lt;p&gt;Every time a new open model comes out, people ask the same thing: &lt;em&gt;will it run on my card, and how fast?&lt;/em&gt; Spec-sheet calculators can tell you whether the weights &lt;em&gt;fit&lt;/em&gt;. They can't tell you what speed you'll actually get. So here are &lt;strong&gt;measured&lt;/strong&gt; generation speeds (decode tokens/sec) for the models people are running in October 2026, collected from public benchmarks. Every number is linked to the place it came from.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How to read the numbers&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Speeds are &lt;em&gt;generation&lt;/em&gt; (decode) tokens/sec at short context unless noted. Prompt processing is a different number and is usually much faster.&lt;/li&gt;
&lt;li&gt;Sources use different engines, quants and llama.cpp builds. Treat gaps under ~10% as noise.&lt;/li&gt;
&lt;li&gt;"llamabench community" rows are aggregated llama-bench &lt;code&gt;tg128&lt;/code&gt; runs from &lt;a href="https://llamabench.ai" rel="noopener noreferrer"&gt;llamabench.ai&lt;/a&gt;. Open the source for the exact quant and build.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;If you have…&lt;/th&gt;
&lt;th&gt;What runs well (measured)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;12 GB (RTX 3060)&lt;/td&gt;
&lt;td&gt;Gemma 4 12B at &lt;strong&gt;38.5 tok/s&lt;/strong&gt;, gpt-oss 20B at &lt;strong&gt;84 tok/s&lt;/strong&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;16 GB (RTX 5060 Ti / 5070 Ti / 5080)&lt;/td&gt;
&lt;td&gt;gpt-oss 20B at &lt;strong&gt;112 / 189 / 205 tok/s&lt;/strong&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;24 GB (RTX 3090 / 4090)&lt;/td&gt;
&lt;td&gt;Qwen3.6 35B-A3B at &lt;strong&gt;140–153 tok/s&lt;/strong&gt; on a 3090; Qwen3.8 27B at &lt;strong&gt;40.4 tok/s&lt;/strong&gt; (72.5 with MTP) on a 3090; Gemma 4 31B at &lt;strong&gt;43.8 tok/s&lt;/strong&gt; on a 4090&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;32 GB (RTX 5090)&lt;/td&gt;
&lt;td&gt;Qwen3.6 35B-A3B at &lt;strong&gt;258&lt;/strong&gt;, Qwen3.8 27B at &lt;strong&gt;75.2&lt;/strong&gt;, Gemma 4 31B at &lt;strong&gt;70 tok/s&lt;/strong&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;96 GB+ (RTX Pro 6000, Macs)&lt;/td&gt;
&lt;td&gt;gpt-oss 120B at &lt;strong&gt;196 tok/s&lt;/strong&gt; (Pro 6000) / &lt;strong&gt;79.7 tok/s&lt;/strong&gt; (M2 Ultra)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Details and sources below.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. gpt-oss 20B: the one model everyone has benchmarked
&lt;/h2&gt;

&lt;p&gt;gpt-oss 20B runs in its native MXFP4 format, so these numbers compare well across cards. These are llama-bench &lt;code&gt;tg128&lt;/code&gt; results from the official llama.cpp gpt-oss guide (&lt;a href="https://github.com/ggml-org/llama.cpp/discussions/15396" rel="noopener noreferrer"&gt;discussion #15396&lt;/a&gt;), plus Apple results:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Hardware&lt;/th&gt;
&lt;th&gt;Memory&lt;/th&gt;
&lt;th&gt;gpt-oss 20B tok/s&lt;/th&gt;
&lt;th&gt;Source&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;RTX Pro 6000 (Blackwell)&lt;/td&gt;
&lt;td&gt;96 GB&lt;/td&gt;
&lt;td&gt;286.91&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/ggml-org/llama.cpp/discussions/15396" rel="noopener noreferrer"&gt;llama.cpp #15396&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RTX 5090&lt;/td&gt;
&lt;td&gt;32 GB&lt;/td&gt;
&lt;td&gt;282.51&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/ggml-org/llama.cpp/discussions/15396" rel="noopener noreferrer"&gt;llama.cpp #15396&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RTX 5080&lt;/td&gt;
&lt;td&gt;16 GB&lt;/td&gt;
&lt;td&gt;204.85&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/ggml-org/llama.cpp/discussions/15396" rel="noopener noreferrer"&gt;llama.cpp #15396&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RTX 5070 Ti&lt;/td&gt;
&lt;td&gt;16 GB&lt;/td&gt;
&lt;td&gt;189.45&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/ggml-org/llama.cpp/discussions/15396" rel="noopener noreferrer"&gt;llama.cpp #15396&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RTX 3090&lt;/td&gt;
&lt;td&gt;24 GB&lt;/td&gt;
&lt;td&gt;161.77&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/ggml-org/llama.cpp/discussions/15396" rel="noopener noreferrer"&gt;llama.cpp #15396&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Apple M2 Ultra (76-core GPU)&lt;/td&gt;
&lt;td&gt;192 GB&lt;/td&gt;
&lt;td&gt;116.08&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/ggml-org/llama.cpp/discussions/4167" rel="noopener noreferrer"&gt;llama.cpp #4167&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Apple M3 Ultra&lt;/td&gt;
&lt;td&gt;512 GB&lt;/td&gt;
&lt;td&gt;115.52&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/ggml-org/llama.cpp/discussions/15396" rel="noopener noreferrer"&gt;llama.cpp #15396&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RTX 5060 Ti 16GB&lt;/td&gt;
&lt;td&gt;16 GB&lt;/td&gt;
&lt;td&gt;111.51&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/ggml-org/llama.cpp/discussions/15396" rel="noopener noreferrer"&gt;llama.cpp #15396&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Apple M4 Max (MacBook)&lt;/td&gt;
&lt;td&gt;36 GB&lt;/td&gt;
&lt;td&gt;92.36&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/ggml-org/llama.cpp/discussions/15396" rel="noopener noreferrer"&gt;llama.cpp #15396&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Apple M1 Max&lt;/td&gt;
&lt;td&gt;64 GB&lt;/td&gt;
&lt;td&gt;75.15&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/ggml-org/llama.cpp/discussions/15396" rel="noopener noreferrer"&gt;llama.cpp #15396&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Takeaway: a &lt;strong&gt;16 GB card is enough&lt;/strong&gt; for gpt-oss 20B. Even the 5060 Ti does over 100 tok/s, which is far faster than you can read.&lt;/p&gt;

&lt;h3&gt;
  
  
  Speed &lt;em&gt;and&lt;/em&gt; power: whole-system measurements
&lt;/h3&gt;

&lt;p&gt;Jeff Geerling's &lt;a href="https://github.com/geerlingguy/ai-benchmarks" rel="noopener noreferrer"&gt;ai-benchmarks&lt;/a&gt; records peak &lt;strong&gt;whole-system&lt;/strong&gt; power during each run. That data is rare. (His summary table doesn't state the quant.)&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;System&lt;/th&gt;
&lt;th&gt;gpt-oss 20B tok/s&lt;/th&gt;
&lt;th&gt;Peak system power&lt;/th&gt;
&lt;th&gt;tok/s per W &lt;em&gt;(arithmetic)&lt;/em&gt;
&lt;/th&gt;
&lt;th&gt;Source&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Core Ultra 265K + RTX 4090&lt;/td&gt;
&lt;td&gt;279.65&lt;/td&gt;
&lt;td&gt;509.1 W&lt;/td&gt;
&lt;td&gt;0.55&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/geerlingguy/ai-benchmarks/issues/43" rel="noopener noreferrer"&gt;#43&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Core Ultra 265K + Radeon AI Pro R9700 (32 GB)&lt;/td&gt;
&lt;td&gt;163.26&lt;/td&gt;
&lt;td&gt;332.9 W&lt;/td&gt;
&lt;td&gt;0.49&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/geerlingguy/ai-benchmarks/issues/35" rel="noopener noreferrer"&gt;#35&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Core Ultra 265K + RTX 4070 Ti&lt;/td&gt;
&lt;td&gt;163.14&lt;/td&gt;
&lt;td&gt;298.7 W&lt;/td&gt;
&lt;td&gt;0.55&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/geerlingguy/ai-benchmarks/issues/45" rel="noopener noreferrer"&gt;#45&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Mac Studio M3 Ultra 512 GB&lt;/td&gt;
&lt;td&gt;115.29&lt;/td&gt;
&lt;td&gt;227 W&lt;/td&gt;
&lt;td&gt;0.51&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/geerlingguy/ai-benchmarks/issues/42" rel="noopener noreferrer"&gt;#42&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Core Ultra 265K + RTX A4000&lt;/td&gt;
&lt;td&gt;93.55&lt;/td&gt;
&lt;td&gt;199.4 W&lt;/td&gt;
&lt;td&gt;0.47&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/geerlingguy/ai-benchmarks/issues/36" rel="noopener noreferrer"&gt;#36&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Dell Pro Max GB10 (DGX Spark)&lt;/td&gt;
&lt;td&gt;87.97&lt;/td&gt;
&lt;td&gt;122.8 W&lt;/td&gt;
&lt;td&gt;0.72&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/geerlingguy/ai-benchmarks/issues/34" rel="noopener noreferrer"&gt;#34&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Core Ultra 265K + RTX 3060&lt;/td&gt;
&lt;td&gt;83.96&lt;/td&gt;
&lt;td&gt;229.3 W&lt;/td&gt;
&lt;td&gt;0.37&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/geerlingguy/ai-benchmarks/issues/40" rel="noopener noreferrer"&gt;#40&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The DGX Spark is the slowest box here on raw speed, but it gets the most tokens per watt. The 4090 is the fastest, at about 4× the Spark's peak draw.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. gpt-oss 120B: you need ~96 GB of fast memory
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Hardware&lt;/th&gt;
&lt;th&gt;gpt-oss 120B tok/s&lt;/th&gt;
&lt;th&gt;Source&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;RTX Pro 6000 (Blackwell, 96 GB)&lt;/td&gt;
&lt;td&gt;196.31&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/ggml-org/llama.cpp/discussions/15396" rel="noopener noreferrer"&gt;llama.cpp #15396&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Apple M2 Ultra 192 GB&lt;/td&gt;
&lt;td&gt;79.68&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/ggml-org/llama.cpp/discussions/4167" rel="noopener noreferrer"&gt;llama.cpp #4167&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  3. Qwen3.6 35B-A3B: the 24 GB sweet spot
&lt;/h2&gt;

&lt;p&gt;It's a mixture-of-experts model with only ~3B active parameters, so it runs very fast once it fits.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Hardware&lt;/th&gt;
&lt;th&gt;Setup&lt;/th&gt;
&lt;th&gt;tok/s&lt;/th&gt;
&lt;th&gt;Source&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;RTX 5090 (32 GB)&lt;/td&gt;
&lt;td&gt;llama-bench tg128&lt;/td&gt;
&lt;td&gt;258&lt;/td&gt;
&lt;td&gt;&lt;a href="https://llamabench.ai/browse/rtx5090" rel="noopener noreferrer"&gt;llamabench.ai&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4× RTX 3090 (using 2)&lt;/td&gt;
&lt;td&gt;vLLM, AWQ-INT4, TP=2 + MTP-3 speculative decoding&lt;/td&gt;
&lt;td&gt;225–231&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/tfriedel/qwen3.6-rtx3090-lab" rel="noopener noreferrer"&gt;tfriedel/qwen3.6-rtx3090-lab&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4× RTX 3090 (using 2)&lt;/td&gt;
&lt;td&gt;vLLM, AWQ-INT4, TP=2&lt;/td&gt;
&lt;td&gt;149&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/tfriedel/qwen3.6-rtx3090-lab" rel="noopener noreferrer"&gt;same&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RTX 3090 (24 GB)&lt;/td&gt;
&lt;td&gt;llama-bench tg128&lt;/td&gt;
&lt;td&gt;146–153&lt;/td&gt;
&lt;td&gt;&lt;a href="https://llamabench.ai/browse/rtx3090" rel="noopener noreferrer"&gt;llamabench.ai&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RTX 3090 (24 GB)&lt;/td&gt;
&lt;td&gt;Q4 GGUF, all layers on GPU, ~90K context&lt;/td&gt;
&lt;td&gt;139.6&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.gilesthomas.com/2026/07/benchmarking-qwen-3-6-35b-moe-rtx-3090" rel="noopener noreferrer"&gt;Giles Thomas&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RTX 3090 (24 GB)&lt;/td&gt;
&lt;td&gt;llama.cpp, IQ4_XS, 1 GPU&lt;/td&gt;
&lt;td&gt;115–133&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/tfriedel/qwen3.6-rtx3090-lab" rel="noopener noreferrer"&gt;tfriedel lab&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RTX 4090 (24 GB)&lt;/td&gt;
&lt;td&gt;llama.cpp, Q4_K_M&lt;/td&gt;
&lt;td&gt;160.6&lt;/td&gt;
&lt;td&gt;&lt;a href="https://llm-speed.com/r/r_m6j1zxwvp-f" rel="noopener noreferrer"&gt;llm-speed&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Apple M5 Max (36 GB)&lt;/td&gt;
&lt;td&gt;oMLX, 4-bit MLX&lt;/td&gt;
&lt;td&gt;145.8&lt;/td&gt;
&lt;td&gt;&lt;a href="https://rapidmlx.com/compare" rel="noopener noreferrer"&gt;Rapid-MLX compare&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Intel Arc Pro B70 (32 GB)&lt;/td&gt;
&lt;td&gt;vLLM XPU, GPTQ Int4, no MTP&lt;/td&gt;
&lt;td&gt;120&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/riceharvest/b70-qwen38-cookbook" rel="noopener noreferrer"&gt;riceharvest cookbook&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DGX Spark (GB10)&lt;/td&gt;
&lt;td&gt;vLLM, NVFP4, 128K ctx, no spec. decoding&lt;/td&gt;
&lt;td&gt;78.1&lt;/td&gt;
&lt;td&gt;&lt;a href="https://ctala.github.io/local-llm-agentic-workflows/benchmarks/" rel="noopener noreferrer"&gt;Cristian Tala&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Strix Halo (Radeon 8060S, 96 GB)&lt;/td&gt;
&lt;td&gt;llama-bench tg128&lt;/td&gt;
&lt;td&gt;50.2–62.4&lt;/td&gt;
&lt;td&gt;&lt;a href="https://llamabench.ai/browse/radeon8060s" rel="noopener noreferrer"&gt;llamabench.ai&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Two things stand out:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;One used RTX 3090 is enough.&lt;/strong&gt; Giles Thomas got 139.6 tok/s while keeping ~90K tokens of context on the GPU. At the full 262K context, with 12 layers of FFNs moved to the CPU, he still got about 66 tok/s (&lt;a href="https://www.gilesthomas.com/2026/07/benchmarking-qwen-3-6-35b-moe-rtx-3090" rel="noopener noreferrer"&gt;source&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A second 3090 helps through vLLM, not llama.cpp.&lt;/strong&gt; Tensor parallel with AWQ went from 115–133 to 149 tok/s, and adding MTP speculative decoding pushed it to 225–231.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  4. Qwen3.8 27B: the new default dense model
&lt;/h2&gt;

&lt;p&gt;Qwen3.8 27B replaced Qwen3.6 27B and is now the most-benchmarked model in RigBase (50 results). It's dense, so every token reads all ~27B weights, and speed follows memory bandwidth. These are plain decode numbers, without speculative decoding:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Hardware&lt;/th&gt;
&lt;th&gt;Setup&lt;/th&gt;
&lt;th&gt;tok/s&lt;/th&gt;
&lt;th&gt;Source&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;RTX 5090 (32 GB)&lt;/td&gt;
&lt;td&gt;llama.cpp, Q4_K_M&lt;/td&gt;
&lt;td&gt;75.2&lt;/td&gt;
&lt;td&gt;&lt;a href="https://llm-speed.com/r/r_dwp5fgdapmw" rel="noopener noreferrer"&gt;llm-speed&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RTX 3090 (24 GB)&lt;/td&gt;
&lt;td&gt;OpenJet megakernel, Q4_K_M&lt;/td&gt;
&lt;td&gt;42.9&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/L-Forster/open-jet/tree/master/megakernel" rel="noopener noreferrer"&gt;OpenJet&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RTX 3090 (24 GB)&lt;/td&gt;
&lt;td&gt;llama.cpp, Q4_K_M&lt;/td&gt;
&lt;td&gt;40.4&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/L-Forster/open-jet/tree/master/megakernel" rel="noopener noreferrer"&gt;OpenJet&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Apple M5 Max (128 GB)&lt;/td&gt;
&lt;td&gt;MLX 4-bit&lt;/td&gt;
&lt;td&gt;31&lt;/td&gt;
&lt;td&gt;&lt;a href="https://baobabtech.ai/posts/local-moe-m5-max-qwen-gemma-speed" rel="noopener noreferrer"&gt;Baobab Tech&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Radeon AI Pro R9700 (32 GB)&lt;/td&gt;
&lt;td&gt;Ollama, Q4_K_M (includes hidden reasoning tokens)&lt;/td&gt;
&lt;td&gt;30&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.vaditaslim.com/blog/ai/qwen3.8-27b-two-rigs" rel="noopener noreferrer"&gt;vaditaslim&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RTX 5060 Ti 16GB&lt;/td&gt;
&lt;td&gt;llama.cpp, UD-IQ4_XS, 8K ctx&lt;/td&gt;
&lt;td&gt;28.0&lt;/td&gt;
&lt;td&gt;&lt;a href="https://jesvs.com/posts/llama-cpp-dual-gpu-optimization/" rel="noopener noreferrer"&gt;JESVS&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Intel Arc Pro B70 (32 GB)&lt;/td&gt;
&lt;td&gt;llama.cpp SYCL, Q4_K_M&lt;/td&gt;
&lt;td&gt;27.8&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/steveseguin/b70-optimization-lab" rel="noopener noreferrer"&gt;b70-optimization-lab&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Strix Halo (Radeon 8060S)&lt;/td&gt;
&lt;td&gt;llama.cpp ROCm, Q4_K_M&lt;/td&gt;
&lt;td&gt;12.6&lt;/td&gt;
&lt;td&gt;&lt;a href="https://akitaonrails.github.io/en/2026/10/22/llm-benchmark-v4-consumer-open-source-rtx5090-strix-halo-strata/" rel="noopener noreferrer"&gt;AkitaOnRails&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DGX Spark (GB10)&lt;/td&gt;
&lt;td&gt;vLLM, 128K ctx&lt;/td&gt;
&lt;td&gt;11.0&lt;/td&gt;
&lt;td&gt;&lt;a href="https://ctala.github.io/local-llm-agentic-workflows/benchmarks/" rel="noopener noreferrer"&gt;Cristian Tala&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RTX 3060 12GB&lt;/td&gt;
&lt;td&gt;llama-bench (doesn't fit, offloads)&lt;/td&gt;
&lt;td&gt;5.2–6.7&lt;/td&gt;
&lt;td&gt;&lt;a href="https://llamabench.ai/browse/rtx3060" rel="noopener noreferrer"&gt;llamabench.ai&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Turn on MTP.&lt;/strong&gt; Qwen3.8 supports multi-token-prediction (MTP) drafting, and in same-hardware tests it helps a lot. On the RTX 3090 it took llama.cpp from 40.4 to 72.5 tok/s on a code prompt (50.9 on a reasoning prompt) (&lt;a href="https://github.com/L-Forster/open-jet/tree/master/megakernel" rel="noopener noreferrer"&gt;OpenJet&lt;/a&gt;). On Strix Halo it took Vulkan Q6_K from 9.59 to 18.01 (&lt;a href="https://sleepingrobots.com/dreams/qwen38-mtp-strix-halo/" rel="noopener noreferrer"&gt;Sleeping Robots&lt;/a&gt;), and on the DGX Spark it took vLLM from 11.0 to 19.0 (&lt;a href="https://ctala.github.io/local-llm-agentic-workflows/benchmarks/" rel="noopener noreferrer"&gt;Cristian Tala&lt;/a&gt;).&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Gemma 4 and Qwen3.6 27B: dense models, where bandwidth wins
&lt;/h2&gt;

&lt;p&gt;Dense models read every weight for every token, so speed follows memory bandwidth. Here are llamabench community &lt;code&gt;tg128&lt;/code&gt; results:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Model&lt;/th&gt;
&lt;th&gt;RTX 5090&lt;/th&gt;
&lt;th&gt;RTX 4090&lt;/th&gt;
&lt;th&gt;5090 ÷ 4090 &lt;em&gt;(arithmetic)&lt;/em&gt;
&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Gemma 4 31B&lt;/td&gt;
&lt;td&gt;70.0&lt;/td&gt;
&lt;td&gt;43.8&lt;/td&gt;
&lt;td&gt;1.60×&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Qwen3.6 27B &lt;em&gt;(legacy, now Qwen3.8 27B)&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;75.7&lt;/td&gt;
&lt;td&gt;47.0&lt;/td&gt;
&lt;td&gt;1.61×&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Gemma 4 26B-A4B (MoE)&lt;/td&gt;
&lt;td&gt;235&lt;/td&gt;
&lt;td&gt;164&lt;/td&gt;
&lt;td&gt;1.43×&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Gemma 4 12B&lt;/td&gt;
&lt;td&gt;142&lt;/td&gt;
&lt;td&gt;98.1&lt;/td&gt;
&lt;td&gt;1.45×&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;gpt-oss 20B&lt;/td&gt;
&lt;td&gt;313&lt;/td&gt;
&lt;td&gt;203&lt;/td&gt;
&lt;td&gt;1.54×&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Sources: &lt;a href="https://llamabench.ai/browse/rtx5090" rel="noopener noreferrer"&gt;RTX 5090&lt;/a&gt;, &lt;a href="https://llamabench.ai/browse/rtx4090" rel="noopener noreferrer"&gt;RTX 4090&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;On dense ~30B models, the 5090 is about &lt;strong&gt;1.6× faster&lt;/strong&gt; than the 4090. On the MoE models the gap is smaller.&lt;/p&gt;

&lt;p&gt;For the RTX 3090, llamabench lists &lt;strong&gt;40.2 tok/s&lt;/strong&gt; on Qwen3.6 27B (&lt;a href="https://llamabench.ai/browse/rtx3090" rel="noopener noreferrer"&gt;source&lt;/a&gt;). That row includes some runs with speculative decoding, so don't compare it directly with the table above.&lt;/p&gt;

&lt;p&gt;Gemma 4 12B on smaller cards (llamabench community):&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Card&lt;/th&gt;
&lt;th&gt;Gemma 4 12B tok/s&lt;/th&gt;
&lt;th&gt;Source&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;RTX 5070 Ti (16 GB)&lt;/td&gt;
&lt;td&gt;87.6&lt;/td&gt;
&lt;td&gt;&lt;a href="https://llamabench.ai/browse/rtx5070ti" rel="noopener noreferrer"&gt;llamabench.ai&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RTX 3060 (12 GB)&lt;/td&gt;
&lt;td&gt;38.5&lt;/td&gt;
&lt;td&gt;&lt;a href="https://llamabench.ai/browse/rtx3060" rel="noopener noreferrer"&gt;llamabench.ai&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  So what should you buy?
&lt;/h2&gt;

&lt;p&gt;Based only on the numbers above:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;gpt-oss 20B / Gemma 4 12B:&lt;/strong&gt; any 16 GB card works. A 12 GB RTX 3060 runs both at usable speeds.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Qwen3.6 35B-A3B:&lt;/strong&gt; a single 24 GB card. A used RTX 3090 does 140–153 tok/s.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dense ~30B (Qwen3.8 27B, Gemma 4 31B):&lt;/strong&gt; 24 GB fits them at Q4. A used 3090 does ~40 tok/s on Qwen3.8 27B (≈72 with MTP); the RTX 5090 does 75.2 and is ~1.6× faster than a 4090 on Gemma 4 31B.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;gpt-oss 120B:&lt;/strong&gt; a 96 GB GPU or a big-memory Mac.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Lowest power:&lt;/strong&gt; the DGX Spark had the best tokens-per-watt on gpt-oss 20B in Geerling's tests, though it was the slowest box.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Missing your card?
&lt;/h2&gt;

&lt;p&gt;The full dataset has 117 builds and 298 measured results, with parts lists, power draw and a link to every source: &lt;strong&gt;&lt;a href="https://getrigbase.com" rel="noopener noreferrer"&gt;RigBase&lt;/a&gt;&lt;/strong&gt;. Browse &lt;a href="https://getrigbase.com/gpus/" rel="noopener noreferrer"&gt;by GPU&lt;/a&gt; or &lt;a href="https://getrigbase.com/best/" rel="noopener noreferrer"&gt;by VRAM size&lt;/a&gt;, check fit on the &lt;a href="https://getrigbase.com/can-it-run/" rel="noopener noreferrer"&gt;Can it run? calculator&lt;/a&gt;, or download it all free as &lt;a href="https://getrigbase.com/data/" rel="noopener noreferrer"&gt;CSV/JSON (CC BY 4.0)&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you've run llama-bench on a current model, &lt;a href="https://getrigbase.com/submit/" rel="noopener noreferrer"&gt;submit it&lt;/a&gt;. It needs a proof link, and that's the only way a number gets in.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Data snapshot: RigBase builds.json, first published 19 Oct 2026, updated 24 Oct 2026. Corrections welcome. Every row links to its source, so check there first.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>llm</category>
      <category>ai</category>
      <category>hardware</category>
      <category>machinelearning</category>
    </item>
  </channel>
</rss>
