Will gpu-unlock speed up your RTX 30-series card?

A free compatibility checker for the open-source gpu-unlock Linux kernel module. Pick your GPU to see whether it can unlock its full FP/BF16 speed — and what users have actually measured.

Project: Zagitta/gpu-unlock Version: 1.1.0 GitHub stars: ~10,717 (as of Oct 27, 2026) License: GPL-2.0 (module)
Linux only — no Windows version. gpu-unlock is a Linux kernel module. There is no official Windows build, and this checker covers Linux use only. (The project FAQ notes a community Windows port exists, maintained by someone else — your mileage may vary.)

1. Pick your GPU

Tap a card. Statuses are based on the project's README and user reports — not on our own testing.

2. How it works

gpu-unlock is a Linux kernel module — not a UEFI app, and not a patched NVIDIA driver. It combines the CMP unlocker's V67/PLM technique with the UEFI approach's pre-driver timing: it runs the unlock, writes the speed selectors, and performs a function-level reset (FLR) before the unmodified NVIDIA driver binds the card.

The effect: it doubles the FP/BF16 FMA instruction issue rate on GA102, GA103, GA104 and GA106 chips — up to the level of their professional-card equivalents. Because the driver itself is untouched, you don't need to re-patch anything when NVIDIA ships a new driver.

The module lives in the initramfs and loads before the NVIDIA driver can bind a card. Loading it by hand after boot does nothing to a card the driver has already bound.

3. Install in three steps

  1. Clone and install (auto-detects Arch, Debian/Ubuntu or Fedora/RHEL):
    git clone https://github.com/Zagitta/gpu-unlock
    cd gpu-unlock
    make install
  2. Add the kernel parameter gpu_unlock.targets=all to your kernel command line (or list specific PCI addresses). GRUB: edit GRUB_CMDLINE_LINUX_DEFAULT in /etc/default/grub, then sudo update-grub. Fedora/RHEL: sudo grubby --update-kernel=ALL --args="gpu_unlock.targets=all". systemd-boot and UKI entries are covered in the README.
  3. Reboot, then verify:
    journalctl -k -b | grep gpu_unlock
    lspci -nnk

To stop unlocking, just remove gpu_unlock.targets= from the kernel command line. Removing the packages also removes the module and its initramfs setup. Full instructions: github.com/Zagitta/gpu-unlock.

4. Who benefits — and who should skip it

Your workloadExpected effect
Local LLM inference (prefill), diffusion models, FlashAttentionBenefits most — LLM prefill reported +14–36%
LLM token decoding, INT8 inferenceRoughly unchanged — decode is memory-bandwidth bound
Gaming onlyRoughly unchanged — games don't hit the locked FP/BF16 path
Windows userSkip — no official Windows version
RTX 3070 Ti, or any GA103 cardWait — untested / no user reports yet
RTX 4090 (Ada)Different project — the separate gpu-unlock-ada branch covers 40-series cards

5. The honest numbers

Every gain figure on this page comes from user reports in the project README — each from its own benchmark, so they can't be compared head-to-head, and none of them are our own measurements.

Best-documented case, RTX 3090 Ti (dense 8192³ GEMM, 450 W, five-sample medians, FP32 accumulation):

PrecisionBeforeAfter
FP1687.46 TFLOPS118.39 TFLOPS
BF1687.50 TFLOPS157.41 TFLOPS
TF3242.58 TFLOPS82.61 TFLOPS
  • Power limits matter: the lowest reported gain (+25% on a 3090) came from a 225 W power-limited card.
  • Outputs verified identical: reports comparing outputs before and after the unlock describe them as bit-identical.
  • Up to 4 cards per machine, including display cards and vfio-pci passthrough cards, have been reported working.
  • Suspend to RAM re-unlocks after resume (adds ~1 second); hibernation is not covered.
  • RTX 4090 needs the separate gpu-unlock-ada branch — its numbers are not mixed into this page.
  • Firmware remains under NVIDIA's own terms; generated firmware derives from the pinned CMP reference (see firmware/NOTICE.md in the repo).