据 VideoCardz 报道,修改者发现了一种利用固件漏洞的方法,能够移除 Nvidia RTX 20、30 和 40 系列 GPU 上施加的半速 AI 性能限制。在解除限制后,RTX 4090 可实现其峰值张量核心算力的两倍,RTX 3090 Ti 上的矩阵数学运算性能提升幅度可达 80%,其他型号的增益则有所不同。值得注意的是,实际工作负载的增长明显低于理论峰值翻倍水平;例如聊天机器人的代币生成速度保持不变,因为该场景下的性能主要取决于内存带宽而非计算吞吐。

Nvidia 针对所有受影响的 GeForce 世代设置了一项限制:根据官方发布的规格,当运行 FP32 累加数学时,每张卡的 FP16 累加速率被设定为全速的一半。这一限制不适用于 Turing 架构(RTX 20系列)和 Ampere 架构(RTX 30系列)的部分特定情况或早期型号,但普遍存在于较新的驱动策略中。解锁此限制将把本地矩阵数学吞吐量归还给显卡所有者,从而可能加速数据处理和图像生成任务。
目前有三个独立项目提供不同世代的解锁支持,每个项目均包含非官方的 Linux 模块,而 Windows 试验版本则采用了不同的实现方法。各项目的覆盖范围因显卡世代而异:
- gpu-unlock:主要处理 Ampere 架构,列出 GA102/GA103/GA104/GA106 系列 ID。
- gpu-unlock-ada:Ada Lovelace 架构分支,覆盖 RTX 4090、RTX 4090 D、RTX 4070 Ti Super 以及 16GB 显存版本的 RTX 4060 Ti。
- turing-unlock:基于 gpu-unlock 改编,已确认可与 RTX 2080 Ti 配合工作。
| 世代 | 项目名称 | 报告结果的卡片 | 状态/备注 |
|---|---|---|---|
| RTX 20 (Turing) | turing-unlock | RTX 2080 Ti (22GB 显存改装版) | 其他 Turing GPU 未经测试;仅支持 FP16,因为 Turing 架构缺乏 BF16 硬件支持。 |
| RTX 30 (Ampere) | gpu-unlock | RTX 3090 Ti, 3090, 3080 10GB, 3080 20GB (显存改装版), 3070, 3060 12GB | RTX 3070 Ti 及 GA103 卡未测试;一款 RTX 3080 Ti 20GB OEM 卡处于半速使用费状态且未测试。 |
| RTX 40 (Ada Lovelace) | gpu-unlock-ada | RTX 4090 | RTX 4090 D, 4070 Ti Super, 4060 Ti 16GB 为实验性支持(每款仅一张卡测试)。 |
| RTX 50 (Blackwell) | 无 | — | 不支持。gpu-unlock 开发者称 Blackwell 不在该项目范围内。 |
性能提升实测数据
所谓“峰值翻倍”指的是张量核心算力。在 Ada 分支开发者的测试中,RTX 4090 在 FP16 精度下从 165.6 TFLOPS 提升至 331.6 TFLOPS,在 BF16 精度下从 165.5 TFLOPS 提升至 330.6 TFLOPS。gpu-unlock-ada 的 README 指出,在一位独立用户的矩阵乘法基准测试中,cuBLAS GEMM 的中位数性能提升分别为 12–34% 和最高 20%。另一个数据点显示,在 Windows 系统上的 RTX 4070 Ti 实现了更大的矩阵乘法性能增益,FP16 和 BF16 分别提升 +80.1% 和 +76.4%,这种差异可能由功耗限制导致。
在矩阵乘法基准测试中,一名用户使用修改版 Nvidia 驱动对 RTX 3090 Ti 进行测试,结果显示 FP16 性能提升 +35%,BF16 提升 +80%,TF32 提升 +94%。gpu-unlock 的 README 列出了来自用户报告的 BF16 矩阵乘法性能增益:RTX 3090 为 +25–67%,RTX 3080 10GB 为 +70–73%,显存改装后的 20GB 版本为 +56–59%,RTX 3070 为 +73–81%,RTX 3060 12GB 约为 +80%。需要注意的是,这些数据无法直接比较,因为功耗限制“影响巨大”:最低的 +25% 增幅来自限制在 225 W 的显卡。对于 Ampere 架构,LLM 预填充性能提升了 14–36%,扩散模型和 FlashAttention 速度加快,但 LLM 解码和 INT8 性能“基本持平”。
针对 Turing 架构,一个配备 22GB 内存模块、功耗限制在 250W 的戴尔 OEM 版 RTX 2080 Ti,在不同矩阵大小下出现了 +36% 到 +64% 的 FP16 矩阵乘法改进;由于 Turing 没有 BF16 硬件,因此 BF16 不受影响。用户使用的 260W 功率限制的变种卡有 59% 的改善。另一个单独的项目 KohakUnlock 在 Leadtek 2080 Ti 22GB 上,在指令速率测试中得到了 85% 的改进,最佳矩阵乘法中位数为 +53%(相对于同型号的第二个锁定卡)。
据 KohakUnlock 的 README 报道,没有任何关于应用程序或游戏速度加快的说法。下表汇总了所有三代显卡的具体性能数据:
| 显卡型号 | 精度格式 | 性能增益 | 测试环境/来源 |
|---|---|---|---|
| RTX 4090 | FP16 / BF16 | +12–34% / 最高 +20% | 单一拥有者,Linux,450W |
| RTX 4070 Ti (MSI) | FP16 / BF16 | +80.1% / +76.4% | 单独的 Windows 端口,单卡测试 |
| RTX 3090 Ti | FP16 / BF16 / TF32 | +35% / +80% / +94% | 单一用户,修改 Nvidia 驱动器,450W |
| RTX 3090 | BF16 | +25–67% | 用户报告;最低增益出现在 225W 限制下 |
| RTX 3080 10GB | BF16 | +70–73% | 用户报告 |
| RTX 3080 20GB (改装) | BF16 | +56–59% | 用户报告 |
| RTX 3070 | BF16 | +73–81% | 用户报告 |
| RTX 3060 12GB | BF16 | 约 +80% | 用户报告 |
| RTX 2080 Ti 22GB (Dell OEM) | FP16 | +36–64% | turing-unlock 开发者,250W,依矩阵大小而定 |
| RTX 2080 Ti 22GB (改装) | FP16 | +59% | 单一用户,260W |
| RTX 2080 Ti 22GB (Leadtek) | FP16 | +53% | KohakUnlock 工具;与另一张锁定卡对比的最佳中位数 |
| RTX 2080 Ti 11GB (ASUS 现货) | FP16 | +77% | 预启动加载器 |
漏洞原理与技术细节
gpu-unlock 的解释者指出,速率限制存储在两个主机驱动程序无法写入的“速度选择器”寄存器中。然而,Nvidia 签名的 SEC2“启动器”固件存在堆缓冲区溢出漏洞,攻击者可利用该漏洞以“重安全”模式运行代码。这一漏洞是在 Nvidia 发布了一个使用已知公开测试密钥加密的调试启动器后被发现的。通过 V67 有效载荷进行单个 4 字节的写入,可以打开特权掩码,使主机能够设置全速率,随后模块会在 Nvidia 驱动程序绑定之前重置显卡。
底层漏洞的技术细节描述在 Jon Pry 于六月发表在 Zenodo 上的论文《A Canary in the Crypto Mine: Defeating Stack Protection in a GPU Secure Coprocessor》中。堆栈溢出最初是在 Heavy Secure Falcon 中的 CMP 170HX 上发现的,V67 常量源自 WildFlash1st/cmp90hx-unlock。gpu-unlock 使用的驱动前时序似乎来自 WildFlash1st 独立的 Windows EFI 引导加载程序 cmp90hx-unlock-for-windows,而该漏洞最广为人知的应用是用于 CMP 170HX 的 CMP Unlocker。gpu-unlock 维护者 Zagitta 在 Hacker News 上表示,该项目是他们的工作成果,但“这些漏洞……绝非我的想法”,并补充说解锁过程“只是翻转所需的 2 个比特”。
Zagitta 表示,RTX 40 系列的支持正在进行中,且已有分支项目开始解锁这些显卡。他补充说,Hopper 和 Blackwell 架构的显卡“至少在此方法的范围之外”。gpu-unlock-ada 分支声明其他主板“仍未验证”,且共享固件“并不确立对未测试显卡的支持”。同样,turing-unlock 项目也列出了一份未经测试的 Turing ID 列表。GA103 以及大多数 Ada 和 Turing 显卡仍存在支持空白。目前各项目均未公布路线图,但数据正在收集阶段,gpu-unlock 正在向 GPU 所有者征集兼容性报告。





