gpu-unlock removes the software BF16 cap on RTX 20/30/40 — up to +100% in tensor cores
The gpu-unlock project removes an artificial tensor core speed limit on consumer RTX 20/30/40 cards. It is a Linux kernel module: it loads before the NVIDIA driver, changes the speed registers and resets the card, while the stock driver is left untouched. According to the README, pure BF16 matmul speeds up by 65–100%, but these are the author's claims, not an independent benchmark.
AI-processed from Habr AI; edited by Hamidun News
Imagine this: you bought an RTX 3090 or 4080, and part of its compute power for AI is locked not by the hardware, but by a setting in the firmware. That is exactly the case described by the gpu-unlock project from developer Zagitta. A caveat up front: I have not tested the module. What follows is a review of the repository and README, and all figures are claims by the author and the community, not my own measurements.
What the problem is
NVIDIA separates its lineup into gaming GeForce and professional cards by more than just price. On consumer cards, tensor core throughput in FP16/BF16/TF32 modes with FP32 accumulation is artificially cut, most often to half of the rated peak. In games this is unnoticeable. But in local LLMs, fine-tuning, and image and video generation, this very math takes up most of the training time and of prefill, that is, processing of the input prompt.
How gpu-unlock works
It is a Linux kernel module. It is built into the initramfs and fires before the nvidia driver binds to the card. The module writes speed selector registers into the card (SS0 = 0x88888888 for full BF16 speed and SS1 = 0x8), then performs a Function-Level Reset and releases the device. After that, the original NVIDIA driver picks up the card as usual. The driver itself is not patched and the VBIOS is not flashed. The driver archive is needed only to extract the firmware on which the unlock depends. The author claims the computation results are bit-for-bit identical, and only the speed changes.
Support looks like this: Ampere (RTX 30, including mobile 3070/3080) is stable. Ada Lovelace (RTX 40) and Turing (RTX 20) are experimental. Blackwell (RTX 50) is not supported, and the author believes it will not be. Pascal, including the GTX 1070, is not suitable at all: it lacks the necessary tensor cores.
What the numbers promise
According to the README, pure BF16 matmul at stock power limits: RTX 3060 — from 27 to 51 TFLOPS (+87%), RTX 3080 — from 65 to 113 (+73%), RTX 3090 — from 75 to 125 (+65%), RTX 4080 — from 104 to 193 (+87%), RTX 4090 — from 165 to 329 (+100% at peak). For the 4090 the author himself warns that the card will hit the power limit before the tensor core ceiling, so on large GEMMs the gain will be smaller.
On real workloads, according to community reports, the picture is more modest: LLM prefill +25–55%, LoRA and full BF16 fine-tuning +25–50%, image generation +30–55%, video (Wan 2.2) +15–20%, FlashAttention/SDPA +50–60%. For llama.cpp and Ollama with GGUF — 0–15%.
Where it won't help
The main limitation for home LLMs: decode is bound by memory bandwidth, not by compute. INT8/FP8/INT4 models, games and FP32 CUDA are not accelerated either. If you run a quantized model for generation speed, you may get nothing.
Installation and risks
Installation: git clone, then make install (there are install-arch, install-deb and install-rpm targets), after which gpu_unlock.targets=all or specific PCI addresses is added to the kernel parameters. Verify with journalctl -k -b | grep gpu_unlock. To roll back, remove the parameter or uninstall the package.
Caveats. On laptops, the unlock is lost when the discrete GPU is fully powered off. After suspend, the module unlocks the card again, with a delay of about a second; hibernation is not supported. If the firmware hangs, you need to actually power off, not reboot. The card will run hotter. The author does not support Windows, and third-party installers should be treated with extreme caution: the project has no cryptocurrency and no websites, only a GitHub repository. The module is licensed GPL-2.0-only, while NVIDIA firmware remains under its own license.
Practical takeaway
If you have an RTX 20/30/40, work with FP16/BF16 and mostly train, fine-tune or generate images, the project is worth trying: it is free and can be rolled back with a single parameter. First, honestly compare your workload profile against the "where it won't help" list. And do not install it on your only working machine without testing on a separate rig: the figures here are relayed from the README, not independently measured.
- Nov 9, 2026Nvidia GR00T 2 Teaches Robots Fine Motor Skills From Video: 95% Success With Five Demonstrations
- Nov 9, 2026Google launches TPU 8i Max and 8tx: chips for agents and sensitive data
- Nov 9, 2026Nvidia launches investigation involving Huang as AI chip supplies face questions
- Nov 9, 2026OOOSplat turns smartphone video into a 3D scene locally, in one click
Key Questions Answered
What the problem is?
NVIDIA separates its lineup into gaming GeForce and professional cards by more than just price. On consumer cards, tensor core throughput in FP16/BF16/TF32 modes with FP32 accumulation is artificially cut, most often to half of the rated peak. In games this is unnoticeable. But in local LLMs, fine-tuning, and image and video generation, this very math takes up most of the training time and of prefill, that is, processing of the input prompt.
How gpu-unlock works?
It is a Linux kernel module. It is built into the initramfs and fires before the nvidia driver binds to the card. The module writes speed selector registers into the card (SS0 = 0x88888888 for full BF16 speed and SS1 = 0x8), then performs a Function-Level Reset and releases the device. After that, the original NVIDIA driver picks up the card as usual. The driver itself is not patched and the VBIOS is not flashed. The driver archive is needed only to extract the firmware on which the unlock depends.
What the numbers promise?
According to the README, pure BF16 matmul at stock power limits: RTX 3060 — from 27 to 51 TFLOPS (+87%), RTX 3080 — from 65 to 113 (+73%), RTX 3090 — from 75 to 125 (+65%), RTX 4080 — from 104 to 193 (+87%), RTX 4090 — from 165 to 329 (+100% at peak). For the 4090 the author himself warns that the card will hit the power limit before the tensor core ceiling, so on large GEMMs the gain will be smaller.
Test Frontier LLMs & Autonomous Agents in One Workspace
Run Claude Opus 5.5, GPT-6, Gemini 3.1, and DeepSeek side-by-side in Nomad AI (nomadnet.ai) — unified model routing, deep research, and multimodal workflows under one subscription.
The AI world, distilled — once a week
Seven stories that actually mattered, hand-picked. No noise, no reposts, no press releases.
Done! Check your inbox for a confirmation.