GPU-unlock: FP/BF16 instruction issue rate on Nvidia 3000's cards
This project unveils a clever Linux kernel module that unlocks the full FP/BF16 performance of Nvidia's 3000 series GPUs, essentially upgrading consumer cards to professional-grade compute power. By manipulating boot-time driver loading, it bypasses Nvidia's artificial segmentation, offering a substantial TFLOPS boost. It's an instant hit on Hacker News for its technical ingenuity, performance optimization, and defiance of hardware limitations.
The Lowdown
The gpu-unlock project introduces a highly technical solution for extracting more compute performance from Nvidia's consumer-grade 3000 series GPUs. It specifically targets the FP/BF16 instruction issue rate, bringing cards like the GA102, GA103, GA104, and GA106 closer to the capabilities of their professional counterparts.
- Core Functionality: The tool is a Linux kernel module that operates early in the boot process, leveraging a V67/PLM technique combined with pre-driver timing. It writes specific speed selectors (SS0 and SS1) and performs an FLR before the standard NVIDIA driver takes over.
- Performance Impact: The primary effect is a doubling of the instruction issuing speed for FP/BF16 FMA operations into FP32. For instance, a 3090 Ti saw BF16 performance jump from 87.50 TFLOPS to 157.41 TFLOPS in dense GEMM benchmarks.
- Installation & Usage: Installation involves cloning the GitHub repository, running
make install, and appendinggpu_unlock.targets=all(or specific PCI IDs) to the kernel command line to activate the module. - Boot & Resume Integration: The module integrates into the initramfs, ensuring it loads before the official NVIDIA driver binds to the GPU. It also handles re-unlocking cards after a suspend-to-RAM event to maintain performance.
- Licensing: The kernel module and local packaging are licensed under GPL-2.0-only, while NVIDIA firmware components retain their original terms.
This project provides a significant, software-driven performance upgrade for owners of eligible Nvidia GPUs, making high-end AI and scientific computing more accessible without requiring hardware modifications.