应用介绍
买了张 RTX 3090 跑模型,结果 FP16 矩阵乘法只吃到一半的指令发射速率——同一颗 GA102 在专业卡上是满速的,到了 GeForce 这边被固件按在半速。以前想解开要么打补丁驱动,要么刷 UEFI,NVIDIA 一升级驱动又得重来。
gpu-unlock 是个 Linux 内核模块,在官方 NVIDIA 驱动加载之前抢先把速度选择寄存器写成满速,再做一次 PCIe 复位,之后正常的驱动照常接管。作者实测 3090 Ti 上 BF16 矩阵乘从 87.5 提升到 157.4 TFLOPS,FP16 和 TF32 也各有提升,驱动不用打补丁,升级驱动也不用重做。
它只在你明确开启时才工作:内核命令行不加 gpu_unlock.targets 就什么都不会发生,可以指定某几张卡,也可以 all。大模型预填充、扩散模型、FlashAttention 这类吃矩阵算力的任务受益,受显存带宽限制的解码和 INT8 基本不变。
驱动前解锁:在 nvidia 模块绑定显卡之前写入速度选择并复位,官方驱动保持原样,不需要每次升级驱动都重新打补丁。
覆盖 GA102 到 GA106:支持 GA102、GA103、GA104、GA106 系列,已有用户报告 3090 Ti、3090、3080、3070、3060 12GB 解锁成功,增益从 25% 到 80% 左右,和功耗墙关系很大。
按需选卡:用 gpu_unlock.targets=all 或者填完整 PCI 地址,可以只解锁其中几张,多卡机器大约一秒全部处理完,显示输出的那张卡也能用。
三种发行版打包:make install 自动识别 Arch、Debian/Ubuntu、Fedora/RHEL,生成包并写进 initramfs,固件在本机从固定哈希的 NVIDIA 输入生成。
兼容性清单:仓库里维护着用户上报的显卡兼容表,部分 OEM 版 3080 Ti 20GB 解锁完成但仍是半速,使用前值得先对照。
gpu-unlock 是个 Linux 内核模块,在官方 NVIDIA 驱动加载之前抢先把速度选择寄存器写成满速,再做一次 PCIe 复位,之后正常的驱动照常接管。作者实测 3090 Ti 上 BF16 矩阵乘从 87.5 提升到 157.4 TFLOPS,FP16 和 TF32 也各有提升,驱动不用打补丁,升级驱动也不用重做。
它只在你明确开启时才工作:内核命令行不加 gpu_unlock.targets 就什么都不会发生,可以指定某几张卡,也可以 all。大模型预填充、扩散模型、FlashAttention 这类吃矩阵算力的任务受益,受显存带宽限制的解码和 INT8 基本不变。
软件功能
驱动前解锁:在 nvidia 模块绑定显卡之前写入速度选择并复位,官方驱动保持原样,不需要每次升级驱动都重新打补丁。
覆盖 GA102 到 GA106:支持 GA102、GA103、GA104、GA106 系列,已有用户报告 3090 Ti、3090、3080、3070、3060 12GB 解锁成功,增益从 25% 到 80% 左右,和功耗墙关系很大。
按需选卡:用 gpu_unlock.targets=all 或者填完整 PCI 地址,可以只解锁其中几张,多卡机器大约一秒全部处理完,显示输出的那张卡也能用。
三种发行版打包:make install 自动识别 Arch、Debian/Ubuntu、Fedora/RHEL,生成包并写进 initramfs,固件在本机从固定哈希的 NVIDIA 输入生成。
兼容性清单:仓库里维护着用户上报的显卡兼容表,部分 OEM 版 3080 Ti 20GB 解锁完成但仍是半速,使用前值得先对照。

