Experimental · Open-source kernel module · Linux · RTX 30 series

For AI math, your RTX 3090 runs at half the rate of the same silicon sold to pros.

NVIDIA caps the FP16/BF16 instruction rate on GeForce cards at half the rate of the professional cards built on the same chips. gpu-unlock — a small open-source Linux kernel module — removes that cap before the stock driver even loads. No patched driver, no vBIOS flash.

BF16 · RTX 3090 Ti
87.50→157.41 TFLOPS
+80%
Dense 8192³ GEMM at 450 W, five-sample median, FP32 accumulation.
FP16 · RTX 3090 Ti
87.46→118.39 TFLOPS
+35%
Same benchmark run, same card, same power cap — only the lock removed.
TF32 · RTX 3090 Ti
42.58→82.61 TFLOPS
+94%
Project-reported figures from the gpu-unlock README, linked in full on the benchmarks page.

All three figures: RTX 3090 Ti at 450 W, dense GEMM, from the gpu-unlock project's own published benchmark (README, commit af28cbb). This site has not independently verified them — see the benchmarks page for the full evidence table.

What it actually does

Three moving parts, all of them running before the NVIDIA driver gets a chance to bind your card.

Step 1 · Early boot

Loads in the initramfs

The module and its generated firmware are packed into the initramfs, so the unlock runs at the one moment it can work: after the card's firmware is fresh, before the unmodified NVIDIA driver binds it.

Step 2 · Speed selectors

Writes SS0 / SS1

It writes the speed selectors — SS0 0x88888888 selects the full BF16 rate, SS1 0x8 covers IMLA4 — then performs a PCIe function-level reset (FLR). The technique combines the CMP unlocker's V67/PLM work with the pre-driver timing of the UEFI approach.

Step 3 · Hand-off

Stock driver takes over

The regular, unpatched NVIDIA driver then binds the card as usual — now running FP/BF16 FMA at twice the issue rate. Because nothing about the driver is patched, you don't re-patch after every driver release.

Opt-in by design

The module does nothing unless you add gpu_unlock.targets= to your kernel command line. Remove that one parameter and the unlock is gone on the next boot — that is also the entire rollback procedure.

Compatibility quick-check

Pick your card. Answers come straight from the project's tested-cards list — "tested" means a user has actually reported an unlock on that card, not just that the chip should work.

PCI lookup covers the IDs in the project's documented tested/accepted list (lspci -nn shows yours). IDs not in that list get an honest "not documented" — coverage is decided by chip, not by this lookup.

Coverage is by chip: the module accepts GA102, GA103, GA104 and GA106 cards. One known exception — the OEM RTX 3080 Ti 20 GB (GA102-250) unlocks without its BF16 rate rising. Details on the compatibility page.

What speeds up — and what doesn't

The unlock raises one specific ceiling: the FP/BF16 FMA issue rate. Workloads that were pressing against it get faster; workloads limited by something else don't move. From the project's user reports:

Gets faster

Matrix-heavy compute

Dense GEMM throughput (up to roughly double on tested cards), LLM prefill (+14–36% in user reports), diffusion image generation (one user’s RTX 3090 Ti ComfyUI test: +47–59% on BF16 image models) and FlashAttention. In the reports that compared outputs, they were bit-identical before and after.

Stays the same

Bandwidth-bound work

LLM decode is limited by memory bandwidth, not issue rate — no improvement has been reported. INT8 throughput did not improve in the reported tests either; the selectors this module writes govern FP/BF16 rates. And there is currently no verified gaming FPS data: the gains on record are compute benchmarks, not frame rates.

Read this before you install

gpu-unlock is an experimental, unofficial project. It is not affiliated with or endorsed by NVIDIA, it modifies how your hardware is initialised at boot, and it comes with no guarantees — if the card's firmware ever fails to stop during the sequence, the module logs it and you must power off before retrying. This site lays out the reported results and the risks so you can decide with both in view.