实验性 · 开源内核模块 · Linux · RTX 30 系列

你的 RTX 3090 的 FP16/BF16 张量速率被限制在半速率,只有用同一颗芯片的专业卡的一半。这个模块能解除这道限制。

NVIDIA 把 GeForce 显卡的 FP16/BF16 指令速率限制在用同一颗芯片的专业卡的一半。gpu-unlock——一个小巧的开源 Linux 内核模块——会在原厂驱动加载之前就解除这道限制。不用给驱动打补丁,不用刷 vBIOS。

BF16 · RTX 3090 Ti
87.50→157.41 TFLOPS
+80%
稠密 8192³ GEMM,450 W,五次采样中位数,FP32 累加。
FP16 · RTX 3090 Ti
87.46→118.39 TFLOPS
+35%
同一次基准测试运行、同一张卡、同样的功耗上限——唯一的区别是解除了速率锁。
TF32 · RTX 3090 Ti
42.58→82.61 TFLOPS
+94%
项目方报告的数据,来自 gpu-unlock README,完整内容见基准测试页。

三个数字均为:RTX 3090 Ti,450 W,稠密 GEMM,来自 gpu-unlock 项目自己发布的基准测试(README,commit af28cbb)。本站尚未独立验证这些数据——完整证据表见基准测试页。

它到底做了什么

三个活动部件,全部在 NVIDIA 驱动绑定你的显卡之前运行。

第 1 步 · 启动早期

在 initramfs 中加载

模块和它生成的固件会被打包进 initramfs,所以解锁能在唯一能生效的时刻运行:显卡固件刚刷新完、未经修改的 NVIDIA 驱动绑定它之前。

第 2 步 · 速率选择器

写入 SS0 / SS1

它写入速率选择器——SS0 0x88888888 选择完整的 BF16 速率,SS1 0x8 覆盖 IMLA4——然后执行一次 PCIe 功能级复位(FLR)。这项技术把 CMP 解锁器的 V67/PLM 成果与 UEFI 方案的驱动前时机结合在了一起。

第 3 步 · 交接

原厂驱动接管

然后,常规的、未打补丁的 NVIDIA 驱动会像往常一样绑定显卡——此时 FP/BF16 融合乘加(FMA)已经以两倍的指令发射率运行。因为驱动本身没有被打补丁,你不用在每次驱动发布后重新打补丁。

设计上需手动启用

模块什么都不会做,除非你把 gpu_unlock.targets= 加到内核命令行里。删掉这一个参数再重启,解锁就没了——这就是常规的回滚方式。唯一的例外是固件在整个序列中始终没有停下来的显卡:那种状态需要先完全关机(见安装指南)。

兼容性速查

选你的显卡。答案直接来自项目的已实测显卡列表——“已实测”指真的有用户报告过在这张卡上解锁成功,而不只是芯片理论上应该能行。

PCI 查询覆盖项目已记录的已实测/已接受列表中的 ID(用 lspci -nn 查看你的)。不在该列表中的 ID 会得到诚实的“未记录”答复——是否支持按芯片决定,不由这次查询决定。

是否支持按芯片划分:模块接受 GA102、GA103、GA104 和 GA106 显卡。一个已知例外——OEM RTX 3080 Ti 20 GB(GA102-250)能解锁,但它的 BF16 速率不会上升。详情见兼容性页。

什么会变快——什么不会

解锁抬高的是一个特定的上限:FP/BF16 融合乘加(FMA)指令发射率。之前顶着这个上限的工作负载会变快;受其他因素限制的工作负载不会变。来自项目的用户报告:

会变快

矩阵密集型计算

稠密 GEMM 吞吐量(在已实测显卡上最高接近翻倍)、LLM 预填充(prefill)(用户报告 +14–36%)、扩散模型出图(一位用户的 RTX 3090 Ti ComfyUI 实测:BF16 图像模型 +47–59%)以及 FlashAttention。在对比过输出的报告中,解锁前后的输出逐位一致。在那次 ComfyUI 运行中,对比的 150 对图像逐像素一致、6 对音频也一致;其视频帧并非完全一致,不过普通重跑本身也有差异,所以不能把这一点归因于解锁。

保持不变

带宽受限的工作

LLM 解码(decode)受显存带宽限制,不受指令发射率限制——尚未有改善的报告。已报告的测试中 INT8 指令速率也没有改善——本模块写入的选择器管的是 FP/BF16 速率。(应用层结果另当别论:下面 ComfyUI 报告里一个标为 FP8 的检查点提升了 +54.6%,但那个检查点内部是用 BF16 计算的——标签不等于实际的数学运算。)而且目前没有已验证的游戏帧率数据:有记录的提升都是计算基准测试,不是帧率。

安装前先读这段

gpu-unlock 是一个实验性的、非官方的项目。它与 NVIDIA 无任何关联(亦未经其认可),它会修改你的硬件在启动时的初始化方式,且不提供任何保证——如果显卡的固件在序列中始终没能停下来,模块会记录下来,你必须先关机再重试。本站把报告的结果和风险都摆出来,让你两边都看清再做决定。