Executable programs and extensions
Last updated
RTX 3090 BF16 unlock: what opens and what stays the same
What opens is BF16 and FP16 matrix throughput; the 24 GB of VRAM and its bandwidth do not change.
gpu-unlock, published on October 18, 2026, is a Linux kernel module that writes a speed selector before the NVIDIA driver binds the card, opening BF161 throughput2 on the RTX 3090. The repository verified it on one 3090, and the 3090 Ti numbers came from a separate fork. It does not add VRAM3 or speed up decode4, and it requires a cold boot with a rollback path.
A kernel module published on October 18
gpu-unlock is a Linux kernel module that opens the blocked BF16 throughput on the RTX 3090. It is neither a UEFI app nor a patched NVIDIA driver: it writes a speed selector before the driver binds the card. The module is GPL-2.0, and the generated firmware derives from CMP unlock reference material.
The repository says it writes 0x88888888 to SS0 to select the full BF16 rate, and also writes the 4-bit SS1 value 0x8, whose effect is untested. The card must be cold-booted; warm reboots are not supported.

What opens is BF16 and FP16 matrix throughput
The maintainer answers that BF16 and F16 operations get about 40% faster. The published figures come from a separate fork tested on a 3090 Ti: at 450 W, dense 8192³ GEMM with FP325 accumulation and five-sample medians, BF16 rose from 87.50 to 157.41 TFLOPS, FP166 from 87.46 to 118.39 and TF32 from 42.58 to 82.61.
The table is for the 3090 Ti, and that test used Ubuntu kernel 7.0.0-38 with a modified 610.43.02 driver and a separate initramfs hook. A 3090 was also unlocked and passed CUDA7 checks, but no 3090 GEMM table has been published.
| Input | Before | After |
|---|---|---|
| FP16 | 87.46 TFLOPS | 118.39 TFLOPS |
| BF16 | 87.50 TFLOPS | 157.41 TFLOPS |
| TF32 | 42.58 TFLOPS | 82.61 TFLOPS |
VRAM and bandwidth do not change
The unlock touches only the compute path. The RTX 3090 keeps its 24 GB of GDDR6X, 936 GB/s bandwidth and power limit. It is unrelated to the 48 GB memory mod, and it does not let you hold larger models.
Single-token decode is bound by how fast weights are read from memory. A higher BF16 rate therefore does not raise one request's tok/s by the same ratio.
Only one machine has been verified
The repository verified one RTX 3090 at PCI address 0000:21:00.0 on CachyOS kernel 7.2.8-1 with NVIDIA 615.71.09. Another card in the same machine served as an unmodified control. The module rejects other GA102 device IDs, so the targets are the 3090 and, through that separate fork, the 3090 Ti.
On kernels at or below 6.15, the power state does not come up before the driver loads, so the unlock fails; a patch is posted as an issue. The 3090 Ti is supported only by a separate fork, and other GA102 device IDs are rejected.

Cold boot and rollback are part of the deal
The module runs only when the kernel command line carries gpu_unlock.targets=, for example gpu_unlock.targets=0000:21:00.0 or all. It must load from initramfs before nvidia, and the machine must be powered off completely and started again.
To roll back, remove the option from the kernel command line and uninstall the packages. If firmware never stops, the module keeps DMA buffers until the next power-off, so power off before retrying. If the display stays blank, delete the option in the bootloader edit screen and boot.
Who should consider testing it
It matters to people running prefill-heavy, concurrent or LoRA8 fine-tuning workloads on a 3090. For short single-request answers the expected gain is small. Try it on a test PC rather than a work machine, after recording a baseline.
When testing, fix the power limit and the model, and record prefill9 time alongside concurrent throughput. Use a GEMM to isolate matrix compute, and llama-bench for the felt result.

Terminology notes
BF16 — A 16-bit floating-point format for model values. Its exponent has the same width as FP32, giving it a similarly wide value range.
Back to the textThroughput — The amount of work processed or generated over time. Comparisons need the unit, such as tokens per second or requests per second.
Back to the textVRAM — Memory used by a graphics card’s GPU to store model weights and intermediate values.
Back to the textToken decoding — The stage that generates successive output tokens using the input and the response produced so far.
Back to the textFP32 — A 32-bit floating-point format. It uses more memory per value than BF16 and can represent values more precisely.
Back to the textFP16 — A 16-bit floating-point format. It uses the same bit width as BF16 but allocates bits differently between exponent and significand.
Back to the textCUDA — A software platform for general-purpose computing on NVIDIA GPUs.
Back to the textLoRA — A method that learns and applies small additional weights to adapt a base model. The adapter is used with the base model for purposes such as style adaptation or few-step generation.
Back to the textPrefill — The stage where an LLM reads the input prompt and computes representations for its tokens. Longer prompts contain more tokens to process.
Back to the text
Frequently asked questions
- What should you check first in this article?
- gpu-unlock, published on October 18, 2026, is a Linux kernel module that writes a speed selector before the NVIDIA driver binds the card, opening BF16 throughput on the RTX 3090. The repository verified it on one 3090, and the 3090 Ti numbers came from a separate fork. It does not add VRAM or speed up decode, and it requires a cold boot with a rollback path.
- How much memory does it need?
- The unlock touches only the compute path. The RTX 3090 keeps its 24 GB of GDDR6X, 936 GB/s bandwidth and power limit. It is unrelated to the 48 GB memory mod, and it does not let you hold larger models.
Read next
Executable programs and extensions
The RTX 3090 48 GB mod: what to verify before you accept the card
Executable programs and extensions
Two RTX 3090s with NVLink: how much it actually changes inference
Executable programs and extensions
Verifying a 3090 unlock: boot logs, GEMM and llama-bench
Purchases and Costs
I Have an RTX 3090—Should I Upgrade My Graphics Card for Local AI?
