gpu-unlock:用 Linux 内核模块解开 RTX 30 系显卡的 FP16/BF16 限速,社区实测提升 25%–81%
01它解决什么问题
按项目说明,GeForce RTX 30 系(GA102、GA103、GA104、GA106 芯片)的 FP16/BF16 张量运算在带 FP32 累加时,被固件限制在专业卡速率的一半左右,而硬件本身相同,差别在速度选择器寄存器。项目沿用早期 CMP 矿卡解锁的思路,把解锁时机放到驱动加载之前。它既不是 UEFI 程序,也不是打补丁的 NVIDIA 驱动,所以 NVIDIA 出新驱动时不必重新打补丁。
02提升有多大
以下数字均为项目 README 的自述或用户在 GitHub issue 里提交的报告,本站未实测,各人的功耗上限和测试方法不同,不能直接横向比较。
| 卡型 | 输入类型 | 解锁前 | 解锁后 |
|---|---|---|---|
| RTX 3090 Ti(450 W,8192³ GEMM) | FP16 | 87.46 TFLOPS | 118.39 TFLOPS |
| RTX 3090 Ti(同上) | BF16 | 87.50 TFLOPS | 157.41 TFLOPS |
| RTX 3090 Ti(同上) | TF32 | 42.58 TFLOPS | 82.61 TFLOPS |
README 汇总的用户报告显示,BF16 矩阵乘法的提升在 +25% 到 +81% 之间,功耗被限制在 225 W 的卡提升最低。大模型推理中,受计算限制的 prefill 阶段有 14%–36% 的提升,扩散模型和 FlashAttention 也受益;受显存带宽限制的解码和 INT8 基本不变。有报告称解锁前后输出逐位一致。
03使用条件与风险
- 仅限 Linux;需要自行编译安装内核模块,并在内核启动参数加入 gpu_unlock.targets=all(或指定 PCI 地址)。
- 模块未签名,需关闭 Secure Boot,内核会被标记为 tainted。
- 显示卡在解锁复位期间会黑屏,直到 nvidia-drm 接管。
- 挂起恢复后会自动重新解锁;休眠(hibernate)不在支持范围内。
- README 列出的测试中,RTX 3080 Ti 20GB(OEM)解锁完成但 BF16 仍是半速,GA103 暂无报告。
- 它修改显卡底层寄存器,属于非官方做法,出问题 NVIDIA 不会提供支持;使用前请自行评估风险。
04怎么装
git clone https://github.com/Zagitta/gpu-unlock cd gpu-unlock make install
以上命令摘自项目 README,本站未实际运行。装完后按发行版(GRUB、systemd-boot 等)把 gpu_unlock.targets=all 加进内核参数并重启,再用 journalctl -k -b | grep gpu_unlock 查看是否显示 unlocked。想停用,删掉该参数即可。
许可方面:内核模块和打包脚本为 GPL-2.0-only,生成的固件载荷源自 CMP 参考实现,NVIDIA 固件仍适用其自身条款。


DeepSeek
Claude Code
Timestral