跳到文章正文
开源项目 编辑推荐

老显卡白捡六成算力:开源项目 GPU Unlock 解锁 RTX 30 系被藏起来的张量性能

一张三年前买的 RTX 3080,跑本地图像模型时风扇已经拉满,出图速度却始终卡在一个别扭的数字…

一张三年前买的 RTX 3080,跑本地图像模型时风扇已经拉满,出图速度却始终卡在一个别扭的数字上。很多人以为是显存不够、驱动太旧,或者模型量化没做好,却很少有人想到:这张卡的一部分张量核心吞吐,可能从一开始就被硬件之外的开关限制住了。

一分钟速览

  • GitHub 上出现开源项目 GPU Unlock,通过 Linux 内核模块在驱动加载前改写显卡的速度选择寄存器,解除消费级安培显卡在 FP16/BF16 张量核心运算中的指令发射速率限制。
  • 不需要修改英伟达驱动,也不要求永久刷写 VBIOS;更新驱动后无需重新打补丁。
  • 开发者标注支持 GA102、GA103、GA104、GA106,覆盖 RTX 30 系列的大部分型号,但不保证每一张卡都能兼容或获得提升。
  • 实测数据显示,RTX 3080 Ti 的 BF16 吞吐从 71.59 TFLOPS 提升到 113.98 TFLOPS,RTX 3080 10GB 从约 65 TFLOPS 提升到 110 至 113 TFLOPS。
  • 在 ComfyUI 的图像生成负载中,BF16 精度下提升约 56% 至 59%;但在大语言模型推理里,提示词处理提升约 33%,逐词生成速度几乎不变。

它到底改了什么

GPU Unlock 针对的是一项非常具体的限制:在使用 FP32 累加的 FP16/BF16 张量核心运算中,消费级安培显卡的指令发射速率低于同架构专业卡。换句话说,芯片里那部分计算单元并没有消失,只是被一个更低的速率上限约束住了。

项目本身建立在早前针对英伟达 CMP 加密货币挖矿显卡的研究之上。它把 CMP 项目的固件解锁思路和一套预初始化方案结合起来,依靠一个 Linux 内核模块,在英伟达显卡驱动加载之前完成操作。模块修改对应的硬件速度选择寄存器,执行一次功能级重置,随后原版驱动照常初始化显卡。整个过程不触碰驱动文件,因此驱动升级不会把改动覆盖掉,也不需要用户反复打补丁。

开发者给出的兼容清单是 GA102、GA103、GA104、GA106 四个核心型号。这几乎覆盖了 RTX 30 系列的主力产品线,但清单只代表“可能可用”,而不是“必然提速”。社区里已经出现过反例:一份 RTX 3080 Ti 20GB 的反馈显示,解锁流程执行成功,BF16 性能却没有出现预期提升。

跑分与真实负载之间的差距

从公开的基准测试看,提升幅度确实可观。一块功耗上限设在 450W 的 RTX 3090 Ti,在使用 FP32 累加的稠密矩阵乘法测试中拿到了明显高于默认状态的成绩。RTX 3080 Ti 在 315W 功耗限制下,BF16 从 71.59 TFLOPS 升到 113.98 TFLOPS,TF32 从 35.65 TFLOPS 升到 65.28 TFLOPS,接近翻倍。

更接近实际使用场景的数据来自 ComfyUI。一位 RTX 3090 Ti 用户测得,MOSS-Image SFT 在 BF16 下吞吐提升 58.6%,Qwen-Image 2.1 Turbo 提升 57.2%,Z-Image Turbo 提升 56.1%。同一组测试里,INT8 精度的收益几乎为零,MOSS-Image SFT 的 INT8 提升只有 0.3%。测试者还确认,默认状态与解锁后生成的图片解码结果完全一致,画质没有变化。

大语言模型推理的情况更复杂。一份 RTX 3090 的报告显示,vLLM 的提示词处理与整体推理吞吐提升约 33%,但逐词生成速度基本没有变化。原因并不难理解:解码阶段的瓶颈通常在显存带宽,而不是张量核心的原始计算吞吐。GPU Unlock 不增加显存带宽,也不解锁额外的 CUDA 核心,因此它只能帮助那些真正受限于指令发射速率的负载。

Windows 用户还有一个实验性选择。项目记录了一套基于 UEFI 的实现,不再依赖 Linux 内核模块,在 RTX 3090 上取得过 BF16 吞吐提升约 82.5% 的结果。但这个版本只适配特定硬件,属于实验性质,距离通用可用还有距离。

为什么消费级显卡总被“留一手”

同一代架构被切成消费级和专业级,是 GPU 行业长期存在的产品分层方式。除了核心数量、显存容量和 ECC 支持之外,固件层面的速率限制同样是分层工具。专业卡卖的是稳定性、认证和售后,消费卡卖的是性价比,两者之间需要一条不容易被跨过的界线。

GPU Unlock 的意义不在于“破解”,而在于提醒市场:硬件的能力边界和产品的功能边界并不完全重合。对把显卡用于本地推理、图像生成和微调的个人开发者来说,这类工具直接改变了每 TFLOPS 的持有成本。一张二手 RTX 3090 如果能多释放五成以上的 BF16 吞吐,它在本地部署里的性价比会被重新计算。

风险与边界

这类改动并非没有代价。它工作在驱动加载之前的底层,涉及寄存器改写和功能级重置,稳定性、功耗行为和长期可靠性都缺少大规模验证。厂商保修条款通常不覆盖此类操作,企业环境更不适合在生产力设备上直接尝试。项目本身也明确表示不保证兼容性,用户需要自行承担试错成本。

另一个容易被忽略的点是:跑分上涨不等于体验同步上涨。游戏里的 DLSS 同样调用张量核心,但目前没有可靠证据表明解锁后帧率会提升,因为游戏负载的瓶颈往往在别处。只有当任务本身大量调用受影响的指令和累加模式时,收益才会显现。

趋势:本地算力进入“榨干存量”阶段

过去两年,本地 AI 的讨论焦点从“买哪张新卡”逐渐转向“如何把手里这张卡用满”。量化、算子融合、显存卸载、推理框架调度,再到如今的固件层解锁,优化正在一层层往下沉。当新卡价格高企、供给紧张时,存量硬件的每一分潜力都会被社区重新审视。

这也给厂商提了个问题:人为分层带来的产品区隔,正在被开源工具持续侵蚀。未来的竞争可能不在于谁藏得更多,而在于谁能在同样的硅片上提供更透明的性能释放路径。对普通用户来说,GPU Unlock 目前仍是一个值得关注但需要谨慎对待的实验项目,先在小规模、非关键任务上验证,再考虑是否长期使用,是更稳妥的做法。

本文地址:https://www.163264.com/17956