llama.cpp 修复旧卡MTP崩溃
TheSpicyBoi123 · reddit · 2026-07-15
作者给 **llama.cpp** 的 CUDA 后端打了补丁,修复了 **pre-Ampere GPU** 在 MTP(multi token prediction)下可能触发的 BF16 选择错误。 ### 问题 旧架构显卡(如 Kepler / Maxwell / Pascal / Turing)不支持 BF16 时,原实现可能走到错误的 BF16 路径,导致 **cuBLAS 崩溃**。测试里 Kepler 卡就能复现。 ### 修复思路 - 支持 BF16 的 GPU:继续用 BF16 - 不支持 BF16 但 FP16 快:回退到 FP16 - 更老的 GPU(如 Kepler):回退到 FP32 ### 效果 在 Tesla K40c 上测试: - stock llama.cpp:约 **22 tok/s** - 关闭 MTP:约 **17.5 tok/s** - 开启 MTP(2 tokens):约 **25 tok/s** 这意味着旧卡也能更稳地用上 MTP,而且还能保住速度收益。