这个项目有什么用
NVIDIA 在消费级 GeForce 显卡上把 tensor core 的 FP16、BF16、TF32(FP32 累加)算力限制到了大约一半,而同样的芯片做成 RTX A 系列或专业卡就以全速运行。gpu-unlock 在启动阶段、官方 NVIDIA 驱动加载之前移除这一限制,从而让 20/30/40 系列 GeForce 卡在 AI 训练与非量化推理中获得更高的张量吞吐。
它替代的是「刷修改版驱动」或「刷 VBIOS」这类老办法:不需要打补丁的驱动,不需要刷 VBIOS,NVIDIA 发布新驱动后也不用重做。README 给出的收益区间为:最高 2× 的 FP16 / BF16 / TF32 张量吞吐、+25–55% 的 LLM prefill、+25–50% 的微调速度、+30–55% 的图像生成速度。
典型使用场景
- 在单张 GeForce 卡上跑大语言模型推理,prefill 阶段偏慢的情况。
- 做模型微调,希望缩短每轮训练时间。
- 跑 Stable Diffusion 一类的图像生成任务。
适合愿意折腾 Linux 启动配置的个人开发者和小团队;不适合只使用 Windows 的用户,也不适合 RTX 50(Blackwell)用户。
核心特性
- 启动阶段解锁,不碰驱动:以内核模块形式在 initramfs 中加载,赶在未修改的 NVIDIA 驱动绑定显卡之前完成解锁,因此不依赖特定驱动版本,换驱动无需重做。
- 输出结果不变,只变速度:README 明确说明解锁前后输出逐位一致(bit-identical),改变的只是速度。
- 写入速率选择器并执行 FLR:启动时写入 SS0
0x88888888(选择完整 BF16 速率)与 4 位 SS10x8(IMLA4),随后执行一次 FLR。它既不是 UEFI 应用,也不是打过补丁的 NVIDIA 驱动。 - 打包进 initramfs:安装包会把模块与固件放进 initramfs,并针对 mkinitcpio、initramfs-tools、dracut 分别提供配置片段,安装时自动重建镜像。
- 多发行版安装目标:提供 Arch、Debian/Ubuntu、Fedora/RHEL/CentOS 的安装目标,
make install会读取/etc/os-release自动选择。
怎么安装
前提条件:仅支持 Linux;需要能编译内核模块(安装目标会自动处理构建依赖);构建过程会通过 HTTPS 下载 NVIDIA/CachyOS 的输入文件,因此需要联网。README 未说明具体的语言或内核版本要求。
- 克隆仓库并执行安装(会要求输入 sudo 密码):
git clone https://github.com/Zagitta/gpu-unlock cd gpu-unlock make install - 也可以按发行版显式选择安装目标:
make install # detect the distribution and select an installer make install-arch # makepkg -sif make install-deb # apt-get build-dep, dpkg-buildpackage, apt-get install make install-rpm # dnf builddep, rpmbuild, dnf installRPM 安装器需要 DNF;其他发行版请选择兼容的显式目标。
- 在内核命令行追加
gpu_unlock.targets=all,并保留已有选项。GRUB(Debian/Ubuntu/Mint)需写入/etc/default/grub的GRUB_CMDLINE_LINUX_DEFAULT,然后执行:sudo update-grub - GRUB(Arch/CachyOS)同样编辑后执行:
sudo grub-mkconfig -o /boot/grub/grub.cfg - Fedora/RHEL 使用 grubby:
sudo grubby --update-kernel=ALL --args="gpu_unlock.targets=all" - systemd-boot 用户把该参数追加到启动项(boot entry)的
options行,位置可用bootctl status查看。 - 使用 UKI 或自动生成启动项的用户,把参数写入
/etc/kernel/cmdline并重新生成启动镜像,例如 mkinitcpio 场景:sudo mkinitcpio -P
只想构建而不安装时,可用 make arch、make deb、make rpm,Debian 与 RPM 包输出到 build/deb 与 build/rpm。NVIDIA 输入会缓存在 ~/.cache/gpu-unlock/inputs(make inputs,可用 INPUTS= 覆盖)。在 sbuild、pbuilder 这类干净 chroot 中构建时,需要把 GPU_UNLOCK_INPUTS 指向该缓存。
怎么使用
安装并添加内核参数后重启即可,没有额外的运行时命令。README 未提供单独的使用示例,最基本的「用法」就是上面安装流程中的两次操作:
make install
gpu_unlock.targets=all
进阶配置方面,笔记本用户需要注意:只有当独显不被完全断电时解锁才会保持,很多笔记本空闲时会关闭独显,从而静默重置解锁。可以在 /etc/modprobe.d/ 中关闭运行时电源管理:
options nvidia NVreg_DynamicPowerManagement=0x00
README 说明这「对部分型号有帮助,但结果可能参差不齐」。另外,mkinitcpio 场景下模块顺序由 /etc/mkinitcpio.conf.d/zz-gpu-unlock.conf 控制,把 gpu_unlock 插在 nvidia 之前;若镜像使用 -c 或预设的 _config 构建,mkinitcpio 会忽略 drop-in,需要自行在对应配置的 MODULES 中把 gpu_unlock 放在 nvidia 前面。
适用场景与注意事项
- 适合:Linux 上使用 20/30/40 系列 GeForce 卡做 FP16/BF16/TF32 矩阵运算的开发者;希望不刷驱动、不刷 VBIOS 就获得提升的人。
- 不适合:Windows 用户(作者不维护 Windows,README 提到第三方移植 Windows-GPU-UNLOCK,效果自负);RTX 50(Blackwell)不受支持,且作者认为「不太可能实现」。
- 收益取决于负载:实际提升取决于工作负载中 FP16/BF16/TF32 矩阵运算的占比,以及显卡是否有足够功耗余量。README 特别指出 RTX 4090 在默认功耗限制下会先撞功耗墙,大 GEMM 的收益远低于峰值速率所暗示的水平。
- 笔记本结果不稳定:独显被断电会重置解锁,如上文所述可用
NVreg_DynamicPowerManagement=0x00尝试缓解。 - 关于安全性:作者认为对显卡造成损害的可能性很低,解锁后 GPU 可能略微发热,但标准降频与功耗管理机制完全保留。
- 驱动版本:虽然能看到
610.43.03被固定,但作者说明驱动只是被拉取来提取解锁所需的固件,并不依赖特定驱动版本。 - 来源辨识:作者声明没有网站、代币或安装器,市面上流传的 Windows 安装器需格外谨慎。
- 许可证:仓库信息中未提供开源协议,README 也未说明,使用前请自行确认授权情况。
项目地址
仓库地址:https://github.com/Zagitta/gpu-unlock
作者/组织:Zagitta
Star 数:12372,Fork 数:1216,主语言 C,最近更新 2026-10-28。
这是一个针对 NVIDIA 消费级显卡张量算力限制的 Linux 内核模块方案,思路清晰、不修改驱动,但实际收益高度依赖具体负载与显卡功耗余量,笔记本与 Windows 场景需谨慎评估。
















cqlbgzs@163.com 1年前0
d好879445037@qq.com 2年前0
购买了 无法下载Alexcc 3年前0
强大Alexcc 3年前0
看不了教程Alexcc 3年前0
雷刺下载Alexcc 3年前0
下载Alexcc 3年前0
下载dsa456159 3年前0
下载