Skip to main content

GeForce Tensor-Throttle Unlock: RTX 3060 12GB vs RTX 4090 for Local LLMs

The firmware hack doubles a tensor rate, but token generation is bandwidth-bound. Here is where it helps, and where it does nothing.

The GeForce tensor unlock speeds prefill, not token generation. RTX 3060 12GB and RTX 4090 bandwidth math, runtime support and the real risks, as of 2026.

Part of the RTX 3060 12GB local-LLM guide → Which models fit in 12 GB, each with its cited tok/s, and where two cards or RAM offload take over.

Where this fits: the 12 GB tier of the local-LLM GPU picks by VRAM (one card per tier, with cited tok/s). Tiers: 8 GB · 12 GB · 16 GB · 24 GB · 48 GB+ · 128 GB unified.

Quick Answer

Does the GeForce tensor-throttle unlock make local LLMs faster? Mostly in prompt prefill, barely in token generation. Per NVIDIA's Ada architecture whitepaper, the RTX 4090's FP16 tensor rate with FP32 accumulation is 165.2 TFLOPS, half the 330.3 TFLOPS it gets with FP16 accumulation. The unlock lifts that cap. Generation, though, is bound by memory bandwidth: the llama.cpp CUDA scoreboard lists the RTX 3060 12GB at 76.92 tok/s (tg128, Llama 2 7B Q4_0), and the hack leaves that limit untouched.

GeForce Tensor-Throttle Unlock: RTX 3060 12GB vs RTX 4090 for Local LLMs

Hardware at a Glance

Median generation throughput at 7–9B models (Llama 3.1 8B, Qwen 3 8B), Q4 quantization, from community-reported runs SpecPicks tracks. Each row pools runs from different sources, runtimes and models in that class, so the rows are not a matched head-to-head; where the article compares cards on the same rig, its own figures are the like-for-like result. Street price is the second-lowest listing priced within the last 24 hours at 0.5–2× launch MSRP, so no single listing sets it, and a street figure well above MSRP says so in its cell; where too few listings pass that check the cell shows a dash and the launch MSRP, which is not comparable with the street figures. Rows marked for comparison are not the cards this article is about — they are included so the throughput column has something to be read against.

GPUVRAM Llama-3-8B class, Q4Street price Sources
NVIDIA GeForce RTX 4090 24 GB 129.2 tok/s8 runs · 7 sources —too few current listings for a street figure · launch MSRP was $1,599 SpecPicks median of 8 runs; sources: GPU-Benchmarks-on-LLM-Inference…, Awesome Agents LLM Leaderboard, Database Mart, Hardware Corner +3 more
NVIDIA GeForce RTX 3060 12 GB 12 GB 55 tok/s23 runs · 9 sources —too few current listings for a street figure · launch MSRP was $329 SpecPicks median of 23 runs; sources: TYO Lab blog, Hardware Corner, llama.cpp GitHub (CUDA performanc…, Ajit Singh / Hardware-Corner +5 more
NVIDIA GeForce RTX 3090for comparison 24 GB 93.9 tok/s6 runs · 5 sources $1,980street, all listings · 1.3× the $1,499 launch MSRP SpecPicks median of 6 runs; sources: Hardware Corner, GitHub XiongjieDai/GPU-Benchmarks…, kunalganglani.com LLM Benchmarks, LocalScore (Mozilla Builders) +1 more
GeForce RTX 4070for comparison 12 GB 77.2 tok/s8 runs · 6 sources $1,089street, all listings · 1.8× the $599 launch MSRP SpecPicks median of 8 runs; sources: Hardware Corner, llama.cpp GitHub (Vulkan…, knightli.com llama.cpp GPU…, kunalganglani.com LLM Benchmarks +2 more

Which models fit on an RTX 4090?

RTX 4090 carries 24 GB of VRAM. The weights column is the range of real Q4_K_M files on Hugging Face for the models in each size class (about 0.6 GB per billion parameters), and the runtime plus a usable context window wants about 2 GB on top; every tokens-per-second figure is a median over community-reported Q4 runs SpecPicks tracks for this card, with the run count and the source beside it.

Model size Weights at Q4 Fits in 24 GB? Measured Left for context Source
3B (Llama 3.2 3B, Qwen 3 4B)Runs on almost anything with a discrete GPU, and usably on modern integrated graphics. about 2 GB Fits: weights and a usable context window Nothing on file → ~21 GBfor runtime and KV cache —
7-9B (Llama 3.1 8B, Qwen 3 8B)The mainstream local model. An 8 GB card fits it; a 12 GB card fits it with real context. 4.4–5.8 GB Fits: weights and a usable context window 129.2 tok/s8 runs · 7 sources ~18 GBfor runtime and KV cache Database Mart
12-14B (Qwen 3 14B, Phi-4)Where 8 GB stops being enough. 12 GB is the smallest card that holds it with a usable context window. 7.3–9.1 GB Fits: weights and a usable context window 68.6 tok/s7 runs · 4 sources ~14 GBfor runtime and KV cache Database Mart
20-27B (Gemma 3 27B, Mistral Small)A 27B Q4_K_M file (about 16.7 GB) is more than a 16 GB card holds, so 16 GB means a Q3 quant or partial CPU offload; a 24B loads with a short context. 20 GB holds the class with a usable context window, 24 GB with a long one. 14.3–16.7 GB Fits: weights and a usable context window Nothing on file → ~7 GBfor runtime and KV cache —
30-35B (Qwen 3 32B, QwQ 32B)The step change. A 24 GB card holds this entirely in VRAM; below that it is CPU offload. about 19.9 GB Fits: weights and a usable context window 34.3 tok/s6 runs · 4 sources ~4 GBfor runtime and KV cache Database Mart
70B+ (Llama 3.3 70B, Qwen 2.5 72B)One 48 GB card or two 24 GB cards. A 32 GB card runs it only with layers in system RAM. about 42.5 GB No: spills to system RAM — system-RAM bandwidth sets the speed 13.3 tok/s4 runs · 4 sources none Awesome Agents LLM Leaderboard

Every RTX 4090 benchmark run, with its source → GPU picks for local LLM — the same table across every card we track How we source these numbers

Introduction

In late October 2026, Tom's Hardware reported that a firmware exploit removes a half-speed AI throttle on GeForce RTX 20, 30 and 40-series cards. Its headline claims it "doubles RTX 4090's peak tensor rate" and lifts RTX 3090 Ti matrix math "up to 80%". Those two figures belong to that report and the community projects behind it. Nothing below re-measures them.

The throttle is not a secret. NVIDIA's own whitepapers list two FP16 tensor rates for every GeForce card: one with FP16 accumulation and one with FP32 accumulation, and on GeForce the second is half the first. The workstation and datacenter parts built on the same silicon run both at full speed, and that gap is part of how NVIDIA segments its product lines. The rate is set by a speed-select register that the normal driver cannot write.

Per Hardware Busters' write-up, the Ada tool is an open-source Linux kernel module, gpu-unlock-ada. It runs a firmware transaction that changes the speed-select setting, resets the card and hands it back to the stock NVIDIA driver. Ampere support comes from the upstream Zagitta/gpu-unlock project. Neither one flashes the VBIOS, and both are Linux-only for now.

This synthesis is for people who already run local LLMs on an RTX 3060 12GB or an RTX 4090, or who are about to buy one, and want to know whether the hack changes their tokens per second. The short answer is that it depends on how long your prompts are and which runtime you use, and for the most common setup (llama.cpp with a quantized GGUF) it may change nothing at all.

Key Takeaways

  • Prefill is compute-bound; generation is bandwidth-bound. The unlock raises one compute rate. It does not add a single GB/s of memory bandwidth, and bandwidth sets the generation ceiling.
  • llama.cpp mostly sidesteps the throttled path already. Per the llama.cpp build docs, quantized models use its MMQ kernels by default on GPUs with INT8 tensor cores, and cuBLAS runs with "speed-optimized compute types". The unlock does not touch INT8 rates.
  • The published gains are issue rates, not app speedups. The gpu-unlock-ada README calls its figures "register-resident issue rates, not application GEMM or inference speedups". One owner's cuBLAS FP16 GEMM gained 12-34%, not 100%.
  • It is not risk-free. The module must load before anything else touches the GPU, multi-GPU setups are unvalidated, and NVIDIA could close the hole in a later driver or firmware revision.
  • Nothing in the report measures LLM tok/s on a 3060. The one published LLM serving test on a modified 4090 found no gain (0.983× at 8K prefill).

What exactly does NVIDIA throttle on GeForce cards?

The rows below come from NVIDIA's whitepapers where NVIDIA publishes the figure, and are derived from tensor-core count × boost clock where it does not. Dense rates only (no sparsity).

CardMemory bandwidthFP16 tensor (FP16 accumulate)FP16 tensor (FP32 accumulate)VRAM
RTX 3060 12GB360 GB/s~51 TFLOPS (derived)~25.5 TFLOPS (derived)12 GB GDDR6
RTX 3090936 GB/s142 TFLOPS71 TFLOPS24 GB GDDR6X
RTX 4070504 GB/s~117 TFLOPS (derived)~58 TFLOPS (derived)12 GB GDDR6X
RTX 40901,008 GB/s330.3 TFLOPS165.2 TFLOPS24 GB GDDR6X

Sources: RTX 3090 from Table 9 of NVIDIA's Ampere GA102 whitepaper; RTX 4090 from Appendix A of the Ada whitepaper. The RTX 3060 12GB and RTX 4070 are not in either whitepaper. Their rows use the whitepapers' per-tensor-core rate (256 FP16 FLOPs per tensor core per clock, the rate implied by the 3090 and 4090 rows) multiplied by the tensor-core counts and boost clocks on TechPowerUp's RTX 3060 12GB spec page and RTX 4070 page (112 cores at 1,777 MHz; 184 cores at 2,475 MHz). Treat them as estimates.

Two things stand out. First, the same Ampere whitepaper lists the older TITAN RTX at 130.5 TFLOPS with either accumulator, so the half rate on GeForce is a product choice, not a silicon limit. Second, the bandwidth column spans almost 3× between the 3060 and the 4090, while the throttled compute column spans more than 6×. That difference matters below.

Why does generation speed barely move?

During generation, a dense model produces one token per forward pass, and each pass has to read every weight from VRAM. So the tok/s ceiling is roughly memory bandwidth divided by the bytes of weights read per token. Tensor math per token is small by comparison; the cores spend most of their time waiting on memory.

Worked example using the model the llama.cpp scoreboard standardizes on, Llama 2 7B at Q4_0 (llama-bench reports it as 3.56 GiB, about 3.8 GB). For an 8B model at Q4_K_M (about 4.9 GB), scale each ceiling down by roughly a fifth.

CardBandwidth (spec table above)Theoretical ceiling (bandwidth ÷ 3.8 GB)Published generation, Llama 2 7B Q4_0
RTX 3060 12GB360 GB/s~95 tok/s76.92 tok/s (~81% of ceiling)
RTX 4070504 GB/s~133 tok/svaries by build
RTX 3090936 GB/s~246 tok/ssee /benchmarks/nvidia-rtx-3090
RTX 40901,008 GB/s~265 tok/s188.96 tok/s (~71% of ceiling)

Generation figures: llama.cpp CUDA scoreboard, tg128, flash attention on. Ceilings are this synthesis's arithmetic and ignore the KV cache and activations, which also have to be read.

Neither card hits its theoretical ceiling, but the gap is mostly kernel-launch overhead, synchronization and KV-cache reads, not tensor math. At batch size 1, generation multiplies a vector by each weight matrix, and llama.cpp runs those quantized matrix-vector products in its own dequantize-and-dot kernels rather than in FP16 tensor-core GEMMs. Doubling the FP32-accumulate tensor rate cannot push either card past a memory limit. At best it trims a small slice of each token's time. Expect low single digits, if anything, and no one has published a measured number for it yet.

Where would the unlock show up: prefill and long-context ingestion?

Prefill is different. The whole prompt goes through the model in large batches, so the weights are read once per batch and reused across hundreds of tokens. That turns the workload into a large matrix multiply, and big matrix multiplies are compute-bound. This is where a doubled tensor rate could appear.

Published llama-bench numbers from the same scoreboard, one build per card:

CardModelpp512 (prefill, tok/s)tg128 (generation, tok/s)Source
RTX 3060 12GBLlama 2 7B Q4_02,407.6776.92llama.cpp CUDA scoreboard, FA on
RTX 3060 12GBLlama 2 7B Q4_02,137.5075.57same scoreboard, FA off
RTX 4090Llama 2 7B Q4_014,770.63188.96same scoreboard, FA on
RTX 4090Qwen3 32B Q4_K_XL2,39338.89Hardware Corner RTX 4090 benchmarks, 4K ctx

Prefill on the 4090 is 6.1× the 3060's, close to the 6.5× gap in throttled tensor rate. Generation is 2.5×, close to the 2.8× bandwidth gap. The two phases track two different specs, which is the whole argument in one table.

Across every published run on the SpecPicks benchmark pages, the RTX 4090 generates at a median of about 128 tok/s on 7-9B models and about 38 tok/s on 27-35B models, and the RTX 3060 12GB at a median near 60 tok/s on 7-9B models. Those medians mix runtimes and quants, so treat them as a range rather than a spec.

How much prefill gains depends on the runtime. Hardware Busters reports prefill "reportedly picks up 14 to 36%" with the unlock, and the gpu-unlock-ada README cites one owner's cuBLAS FP16 GEMM gaining 12-34% at two matrix shapes and nothing at 4096³. Neither is a llama.cpp GGUF measurement.

Which runtimes even use FP32 accumulation?

The unlock only helps if your runtime sends work down the FP16/BF16-with-FP32-accumulate path. Here is how the common stacks look, described conditionally because no runtime-by-runtime measurement of the unlock exists yet:

  • llama.cpp (CUDA). Per its build docs, "MMQ kernels are enabled by default on GPUs with int8 tensor core support". Every RTX 20/30/40 card has those, so quantized GGUF prefill runs on INT8 tensor math, which the gpu-unlock-ada README says did not change. The cuBLAS fallback uses speed-optimized compute types by default. An FP16 or BF16 GGUF, or a build forced to cuBLAS with FP32 compute, is where a gain is plausible. Likely effect for typical Q4 users: little to none.
  • vLLM. vLLM serves FP16/BF16 weights through PyTorch and custom kernels, and PyTorch's CUDA GEMMs accumulate in FP32 by default per its CUDA semantics notes. Batched serving of unquantized models is the most likely LLM winner. Quantized formats (AWQ, GPTQ, FP8) vary by kernel; the one published serving test, a quantized MoE on a modified 4090, saw 0.983×.
  • ExLlamaV2. ExLlamaV2 uses its own CUDA kernels for EXL2 quants. Whether its prefill GEMMs hit the throttled path varies by kernel and build, and nobody has published unlocked numbers.
  • Image generation (ComfyUI, SDXL, Flux). Diffusion models run BF16/FP16 convolutions and attention through PyTorch, which is compute-bound. Per Hardware Busters, a ComfyUI BF16 job on an RTX 3090 Ti dropped from 72 to 45 seconds. That is the strongest application-level result so far, and it is not an LLM.
  • LoRA fine-tuning. Training is compute-heavy and runs in BF16 with FP32 accumulation in PyTorch, so it is a plausible beneficiary. Varies by trainer; no published measurement.

Does context length change the picture?

Yes. The longer the prompt, the bigger prefill's share of total wait time, and the more a prefill speedup is worth. Hardware Corner's RTX 3060 12GB benchmarks list Qwen3 8B at three context sizes. Using those rates and a 500-token answer:

Prompt lengthPrefill rate (tok/s)Prefill timeGeneration rate (tok/s)500-token answerPrefill share of wait
4K1,696.8~2.4 s55.2~9.1 s~21%
16K1,119.2~14.6 s42.0~11.9 s~55%
32K764.7~42.9 s31.9~15.7 s~73%

Times are this synthesis's arithmetic (prompt tokens ÷ prefill rate, 500 ÷ generation rate) on the cited rates. Real runs vary with batch size and flash-attention settings.

Now apply the upper end of the reported prefill gain, 36%, and assume the runtime actually uses the throttled path. A 4K chat turn drops from about 11.5 s to 10.9 s, a 6% saving you would struggle to feel. A 32K RAG query drops from about 58.6 s to 47.2 s, roughly 19% faster. At 128K context, prefill would dominate even more, but no published RTX 3060 12GB run at 128K exists: the KV cache for an 8B model at that length does not fit beside the weights in 12 GB without heavy cache quantization. On a 4090 the same logic holds with every number scaled up.

So the people who could notice the unlock are coding-agent and RAG users who paste whole repositories or long PDFs into every request. Chat users mostly cannot.

Is it worth flashing?

Strictly, there is nothing to flash. Per the gpu-unlock-ada README, it is "not a VBIOS flash": a kernel module runs the unlock at boot, before the NVIDIA driver binds the card, and a stock boot entry undoes it. That lowers the brick risk compared with a ROM flash, but the risks are real:

  1. Warranty and terms. Per the gpu-unlock-ada README, the method depends on a published payload and decrypted debug-booter analysis, and NVIDIA firmware stays under NVIDIA's terms, and a board maker would be within its rights to refuse a claim on a card used this way.
  2. Boot-order fragility. The module refuses to run on a card that NVIDIA's driver has already bound. Loading nvidia-smi, CUDA or NVML first, or a kernel upgrade that changes the boot entry, means no unlock. The README advises a full power-off for the first attempt.
  3. Driver and firmware updates. Per Hardware Busters, NVIDIA could close the bypass in a later driver or firmware revision. Pinning a driver to keep the unlock means skipping fixes.
  4. Stability and heat. The Zagitta FAQ says damage is "very unlikely" and that the card's thermal and power limits stay in force, but it may run hotter doing more compute. One unlocked 4090 drew 346 W peak versus 313 W stock in the gpu-unlock-ada notes. Long-term stability testing has not been published.
  5. Unverified hardware. Results come from one or a few cards per device ID. GA106 (RTX 3060) is on the supported list upstream, but no published RTX 3060 12GB result exists. Multi-GPU rigs and the display card itself are unvalidated.

It's the right call when you batch long prompts every day on a Linux box you can afford to troubleshoot, ideally a secondary card out of warranty. It is not worth it for chat-length prompts, for Windows-only setups, or on the only GPU you own.

Perf-per-dollar and perf-per-watt: RTX 3060 12GB vs RTX 4090

Using launch MSRP ($329 for the RTX 3060 12GB, $1,599 for the RTX 4090, per NVIDIA's launch pricing) and rated board power (170 W vs 450 W), with the stock scoreboard numbers from above:

MetricRTX 3060 12GBRTX 4090Winner
Generation tok/s per $100 MSRP (tg128)~23.4~11.8RTX 3060 12GB, about 2×
Prefill tok/s per $100 MSRP (pp512)~732~924RTX 4090, about 26%
Generation tok/s per rated watt~0.45~0.42roughly even
Prefill tok/s per rated watt~14.2~32.8RTX 4090, about 2.3×

Arithmetic on the llama.cpp CUDA scoreboard Llama 2 7B Q4_0 figures. Rated board power is a ceiling, not measured draw. Street prices differ from MSRP; the live price buttons on each product card carry current pricing.

The 4090 already wins prefill value at stock, and any real unlock gain widens that lead. The 3060's advantage is cheap generation on models that fit in 12 GB, and the unlock does not change that. Neither card's VRAM changes, and VRAM still decides which models you can run at all.

Verdict matrix

Get the RTX 3060 12GB if…Get the RTX 4090 if…Consider a used RTX 3090 if…
You chat with 7-14B models and prompts stay under 8KYou run 27-35B models or 32K+ prompts every dayYou need 24 GB for 30B-class models on a budget
You want the most generation tok/s per dollarPrefill time is your bottleneck (RAG, coding agents)Generation speed matters more than prefill
You will not run experimental kernel modulesYou want headroom whether or not the unlock holds upYou accept older Ampere compute and higher idle power

Recommended pick for the long-context RAG reader: the RTX 4090. Its stock prefill is about 6× the 3060's on the scoreboard, its 24 GB holds a 32B model at Q4 with room for context, and if the unlock matures it gains on exactly the phase that dominates a 32K-token request. A 3060 owner chasing the same workload gets more from a smaller model, a better quant or KV-cache quantization than from the hack.

Hardware to complete the build

Live price comparison

Compare current prices and specs side by side: RTX 3060 12GB vs RTX 4090.

Citations and sources

All accessed 2026-10-27.

This piece is editorial synthesis based on publicly available information. No independent first-party benchmarking is reported.

Products mentioned in this article

Amazon & eBay listings, plus full specs and alternatives on each product page.

As an Amazon Associate, SpecPicks earns from qualifying purchases; we also earn on qualifying eBay purchases via the eBay Partner Network. Prices shown were last tracked at crawl time and may vary — check the listing for the current price.

Watch a review

MSI RTX 4090 Suprim X vs. RTX 4090 Gaming X Trio, Thermals, Power & Overclocking — Hardware Unboxed on YouTube

Frequently asked questions

Will the tensor-throttle unlock raise my tokens per second in chat?
Probably only slightly. Token generation is limited mainly by memory bandwidth, because every new token has to stream the full weights from VRAM, and the unlock does not change bandwidth. The reported gain is in FP16 tensor math with FP32 accumulation, which matters most during prompt prefill, not while tokens are being generated one at a time.
Which workloads could actually benefit?
The candidates are workloads where compute dominates: long-prompt prefill for RAG and coding agents, batched serving in vLLM, LoRA fine-tuning, and diffusion image generation in ComfyUI. Even there, the gain depends on whether your runtime uses FP32 accumulation on that path at all. Per its build docs, llama.cpp runs quantized models on INT8 MMQ kernels by default, which the unlock does not change.
Is running the unlock safe?
It carries real risk, though it is not a VBIOS flash. The gpu-unlock projects are Linux kernel modules that run a firmware transaction at boot before the NVIDIA driver binds the card. The module can fail if anything touches the GPU first, multi-GPU setups are unvalidated, a board maker may refuse warranty claims, and NVIDIA could close the bypass in a later driver or firmware update.
Does this make a used RTX 3090 a better buy than an RTX 4090?
For generation speed it changes little, because the RTX 3090 and RTX 4090 both have 24 GB of VRAM and similar memory bandwidth (936 GB/s vs 1,008 GB/s per NVIDIA's whitepapers). The RTX 4090 keeps a large compute lead for prefill whether or not the hack is applied. The used 3090's case is still about the cost of 24 GB of VRAM, not tensor throughput.
Should an RTX 3060 12GB owner bother?
For typical chat with 7-9B models, published runs put the RTX 3060 12GB at roughly 55-77 tok/s for generation, and that figure is bandwidth-bound. An owner who feeds it 32K-token documents could see faster prompt ingestion, but no published LLM measurement of the unlock on a 3060 exists yet. Most owners would get more from a better quant or a bigger KV-cache budget.

— Mike Perry · Updated 2026-10-27

Parts this article names

Amazon Associate — prices tracked 2026-10-27, may vary.