10 月 25 日消息,英伟达已经上市一段时间的 GeForce RTX 30 系列(代号安培,Ampere)显卡,显然还有大量尚未释放的计算潜力。GitHub 用户扎吉塔(Zagitta)开发了一款名为 GPU Unlock 的开源新项目,可以解除安培架构显卡上部分人为设置的性能限制,在特定负载下,张量核心的计算吞吐量几乎可以翻倍,而且不需要修改英伟达驱动,也不用永久刷写显卡的 VBIOS。
这个项目专门针对一项指令发射速率限制:在使用 FP32 累加的 FP16/BF16 张量核心运算中,消费级安培显卡的运行速率相比专业卡更低。解除这项限制之后,工具就能释放显卡硬件本身就具备的额外计算性能。
有意思的是,GPU Unlock 建立在早前针对英伟达 CMP 加密货币挖矿显卡的相关研究之上。它把 CMP 项目的固件解锁技术和一套提前初始化方案结合起来,依靠一个 Linux 内核模块,在英伟达显卡驱动加载之前执行操作。该模块修改对应的硬件速度选择寄存器,执行一次功能级重置(FLR),之后原版驱动就可以正常初始化显卡。 这也意味着用户每次更新驱动新版本时,都不用再给驱动打补丁。开发者目前标注支持 GA102、GA103、GA104、GA106 型号 GPU,覆盖了 RTX 30 系列里的大部分型号,不过并不是每一张显卡都一定能兼容,也不保证都能获得性能提升。
这类提升并不只出现在 RTX 3090 Ti 上。一位 RTX 3080 Ti 用户反馈,在显卡功耗限制为 315W 的条件下,BF16 吞吐量从 71.59 TFLOPS 提升至 113.98 TFLOPS,TF32 性能从 35.65 TFLOPS 提升至 65.28 TFLOPS。还有一份 RTX 3080 10GB 的兼容报告显示,在显卡原厂 320W 功耗上限下,FP16/BF16 性能从大约 65 TFLOPS 提升到 110–113 TFLOPS。这些测试结果也在 X 平台上被广泛讨论。 那在实际应用里的表现如何?好在社区用户已经开始在真实 AI 负载下测试这项解锁功能,初步结果比较乐观。 Reddit 上一位 RTX 3090 Ti 用户在 ComfyUI 中做了跑分测试,MOSS-Image SFT BF16 吞吐量提升 58.6%,Qwen-Image 2.1 Turbo BF16 提升 57.2%,Z-Image Turbo BF16 提升 56.1%。而 INT8 精度模式下提升幅度很小,MOSS-Image SFT INT8 仅提升 0.3%。测试者同时表示,默认状态和解锁后生成的图片解码结果完全一致。 大语言模型(LLM)推理也是潜在受益场景,不过提升效果高度取决于负载类型。例如一份 RTX 3090 的兼容报告显示,vLLM 的提示词处理与推理吞吐量提升 33%,但词元(token)生成速度基本没有变化。这也很好理解,大语言模型解码环节的瓶颈往往是显存带宽,而不是张量核心的原始计算吞吐量。 还有一项值得关注的进展是实验版 Windows 实现方案,它不再使用原先的 Linux 内核模块,而是基于 UEFI 的方式。开发者记录了 RTX 3090 的成功案例,BF16 计算吞吐量提升约 82.5%。但这个版本仍然属于实验性质,只适配特定硬件,并不是通用可用的 Windows 正式版本。 该方案同样存在明显局限。GPU Unlock 不会提高显存带宽,不会解锁更多 CUDA 核心,也无法让所有负载自动提速。至少有一份 RTX 3080 Ti 20GB 的反馈显示,解锁流程执行成功,但 BF16 性能没有出现预期提升,说明效果并不通用。 游戏方面,英伟达的 DLSS 技术同样会用到张量核心,但目前没有可靠证据证明 GPU Unlock 可以提升游戏帧率或是缩短 DLSS 的运行耗时。只有当任务本身调用了这些受影响的指令和累加模式时,才有可能获得收益。所以,这些亮眼的计算跑分,不能等同于游戏帧数会同步上涨。 即便如此,对于 RTX 30 系列显卡持有者来说,GPU Unlock 仍是一个很有吸引力的新尝试,尤其是那些把显卡用于本地 AI 推理、图像生成以及其他高计算负载场景的用户。这个项目目前还处在实验阶段,但不用永久改动硬件,就能从现有显卡里挖出可观的额外性能,确实很有吸引力。
|