同样的显卡,跑 AI 只有一半速度?NVIDIA 自己锁的,有人做了个补丁(1.9 万星)
github监控器 · 2026-11-10 · 约 3124 字 · Zagitta/gpu-unlock
你买了张 GeForce 跑模型,参数一样、显存一样,就是比别人的专业卡慢一半。不是你的卡不行,是 NVIDIA 把它锁了。
NVIDIA 给 GeForce 的 FP16 / BF16 / TF32 张量核心做了半速限制(这三样恰好是几乎所有 AI 训练和未量化推理用的精度)。同一片硅做成 RTX A 系列或专业卡,就是全速。
gpu-unlock 干的事:在官方驱动加载之前,把这个限制去掉。 1.9 万星,每天涨 775 星。下面讲支持哪些卡、怎么装、怎么验证真的生效了。
一、先说结论:这是硬件锁,不是驱动锁
这点必须先搞清楚,因为它决定了方案的稳定性。
很多人以为限速是驱动里的一行判断,改驱动就行。不是。限制在硬件初始化阶段就写进去了——显卡启动时由 vBIOS 和驱动共同设定。
所以常见方案有两种,都有毛病:
gpu-unlock 走的是第三条:在驱动加载之前介入。
README 的原话是"removes that cap at boot, before the stock NVIDIA driver loads"。这意味着:不用改驱动,不用刷固件,NVIDIA 发新驱动也不用重做。

二、能拿到多少:官方给的数字
它自己列的收益:
注意"最多 2 倍"是理论上限,实际提升取决于你的负载是不是吃满张量核心。
prefill 和 decode 的差别在这里体现得很清楚:prefill 是矩阵运算密集,吃张量核心,收益大;decode 是访存密集,收益小。
所以"我跑推理能快一倍吗"——生成阶段不会,预填充阶段会。
三、支持哪些卡
README 有 Supported GPUs 表,按代际分。已知覆盖的是 Ampere(RTX 30 系列)以及后续几代,具体型号以 README 表里标"支持"的为准。
装之前必须先查两件事:
- 你的卡在不在支持列表里。 不在就别折腾;
- 你是 Linux。 它是启动阶段介入,走的是 Linux 的驱动加载流程,Windows 不在支持范围。
第二条卡掉了一大半人。这是个 Linux 工具,Windows 用户看到这里可以关了。
四、装:三种方式,按发行版选
从源码编:
git clone https://github.com/Zagitta/gpu-unlock
cd gpu-unlock
make installmake install 会自动识别发行版并选对应的安装器。你也可以强制指定:
make install # 自动检测发行版并选择安装器
make install-arch # makepkg -sif
make install-deb # apt-get build-dep + dpkg-buildpackage + apt-get install
make install-rpm # dnf builddep + rpmbuild + dnf install四条命令对应四类系统。不确定就用第一条,它会自己判断。
注意 install-deb 那行里的 apt-get build-dep——它要装编译依赖,所以第一次跑会拉一堆包。别在流量紧张的时候做。
五、配:只对哪些卡生效
装完之后,你可以精确控制它作用在哪些卡上。参数是内核启动参数 gpu_unlock.targets:
# 所有支持的卡都解
gpu_unlock.targets=all
# 只解指定的卡(用 PCI 地址)
gpu_unlock.targets=0000:21:00.0
# 多张卡,逗号分隔
gpu_unlock.targets=0000:21:00.0,0000:22:00.0这个设计很实用:多卡机器上,你可能只想解其中一张。
PCI 地址怎么查?
lspci -nnk -s 0000:[ID]:00.0或者直接 lspci | grep -i vga 先看总线号。

六、验证:三步确认真的生效
这一步很多人跳过,然后"感觉快了"就当成功了。别这样。
第一步:看内核日志。
journalctl -k -b | grep gpu_unlock有输出说明它在启动阶段介入了。没有输出 = 没生效。
第二步:看设备信息。
lspci -nnk -s 0000:[ID]:00.0确认驱动绑定正常。如果这里显示异常,说明解锁影响了驱动加载,要回退。
第三步:跑基准。 用你自己的负载跑一遍前后对比。别看"感觉",看数字——prefill 吞吐、微调一步的耗时、出图时间。
三步缺一不可。第一步证明"它跑了",第二步证明"系统没坏",第三步证明"确实有用"。只做第一步的人,经常在第二步发现问题时已经晚了。
七、六个坑
- Windows 用户。 不支持,别试;
- 卡不在列表里。 装了也没效果,白折腾;
- 没验证就上生产。 解锁影响驱动加载,出问题可能开不了机(有回退手段但要会);
- 驱动更新后不检查。 它号称"驱动更新不用重做",但更新后仍要跑一遍第一步验证;
- 以为 decode 也快一倍。 不会,收益主要在 prefill 和训练;
- 多卡机器全局开。 有些卡可能是你不想动的(比如接显示器的输出卡),用
targets精确指定。
第三条要认真对待。这是启动阶段干预,最坏情况是进不了图形界面。装之前确保你会进 recovery 模式改内核参数。
八、合法性和保修:必须说清的部分
这类工具都有同一个问题:它改的是厂商的产品分级策略。
第三行是技术判断:解锁的是"被禁用的功能",不是"超频"。所以它不会让卡更热、更费电——只是让它把本来就有的算力用出来。
第四行是现实判断:公司机器上装这个,法务那边过不去。
九、为什么会有这种锁
这不是阴谋,是标准的产品分级。同一片晶圆,按测试结果和功能开关分成不同价位卖——这是半导体行业的常规做法。
GeForce 锁半速张量核心,是为了让"要跑 AI 的人"去买更贵的卡。逻辑上无可指摘,对买了 GeForce 又想跑 AI 的人就很难受。
gpu-unlock 这类项目,本质是在厂商的分级线上凿了一个洞。它不会消失,因为需求一直在。
十、谁该用
十一、先测再装:一个便宜的判断方法
不确定值不值得折腾?先花十分钟做这件事:
- 在你现在的环境下,跑一次 prefill 密集的负载(长 prompt、短输出),记下吞吐;
- 再跑一次 decode 密集的负载(短 prompt、长输出),记下吞吐;
- 对比两者。如果 prefill 占比高,解锁收益就大;反之可以跳过。
这个判断不用装任何东西,只要你会看自己的耗时分布。
十二、版本与地址
git clone 后 make install | |
journalctl -k -b \| grep gpu_unlock | |
gpu_unlock.targets | |
形态: Linux 内核模块 / 启动阶段干预
平台: 仅 Linux
支持: Ampere(RTX 30)及后续代际,具体见 README
收益: 最多 2× 张量吞吐;prefill +25~55%
风险: 启动阶段干预,需会回退最后一句:这个项目最值得学的地方不是"白嫖算力",而是它示范了一件事——当你把"性能从哪来"追到启动流程,很多"硬件限制"其实是开关。
AI 实战导师 / 企业 AI 落地顾问 / 智能体工程师,17 年跨界、15,000+ 小时 AI 实操、20+ 套已交付工作流。 看完整履历海报 → skills 实验室 →
发表评论: