你手里的 30 系显卡,可能从买回来那天起就没跑出过全部实力。不是驱动的问题,也不是散热的问题——是官方在固件层面把 FP16/BF16 指令的发射速率压到了专业卡的一半左右,用它和 A 系列专业卡拉开差距。
现在有个开源内核模块专治这个:它在 nvidia 驱动绑定之前动手,把这些指令的发射速率放回专业卡的水平。不用刷 vBIOS,不碰驱动文件,驱动更新之后也不用重打补丁,重启就生效。
实测数据挺硬:3090 Ti 的 BF16 从 87.5 涨到 157 TFLOPS,TF32 从 42.6 涨到 82.6;3080 10GB 在原厂 320W 功耗下,FP16/BF16 从约 65 涨到 110–113 TFLOPS。跑 vLLM 更直观——长上下文 prefill 快 33–36%,首字延迟降 25%,decode 基本不变。矩阵乘结果比特一致,INT8 那条路径不受影响,3070、3080、3090 都有人提交了复现报告。
限制也要说清楚:只支持 Linux,只支持 30 系(GA102/103/104/106),40 系暂时没戏,Secure Boot 得关。装完在启动参数里加 gpu_unlock.targets=all,重启后跑 journalctl -k | grep gpu_unlock,看到 unlocked 就成了。
项目地址在这,代码和安装说明都在仓库里:
https://github.com/Zagitta/gpu-unlock
生产环境的老卡能再榨出一截,本地跑大模型的人相当于白捡了一张半卡。你手上那张卡,敢试吗?