SonicBoom:在笔记本电脑的 RTX 3050 上,解码速度达到 52 tok/s(llama.cpp:45),使用相同的量化内核,区别在于图编译器。不使用 Python。
摘要
SonicBoom v0.0.1 是一个原生 C++/CUDA 张量运行时,配备图编译器,在笔记本电脑的 RTX 3050 上,使用与 llama.cpp 相同的源自 ggml 的量化内核,实现了 52 tok/s 的解码速度,而 llama.cpp 为 45 tok/s,这表明如今的性能提升来自编译器层,而非手写内核。
我一直在开发 SonicBoom,这是一个用 C++/CUDA 编写、提供 C ABI 的原生张量运行时,整个技术栈完全没有 Python。我刚刚打了 v0.0.1 标签,首个目标是在消费级 GPU 上进行本地 LLM 推理。性能数据(在配备 RTX 3050 8 GB 的笔记本上运行 Gemma 4 E4B-it Q3_K_M,两个运行时在同一台机器上使用同一个 GGUF 文件,llama.cpp 的提交为 43fe9c64281):SonicBoom llama.cpp 解码(tg64)51.65 token/秒 45.20 token/秒 上下文深度为 2048 时的解码 47.13 token/秒 45.21 token/秒 4100 个 token 的预填充 1051 token/秒 ~1944 token/秒 首 token 延迟(TTFT),4000 个 token 的前缀 + 100 个新 token:503 毫秒(前缀复用)为什么这很重要:量化矩阵乘法内核(MMVQ/MMQ)移植自 ggml,因此与 llama.cpp 使用的是同一套内核。解码速度领先 14%,完全来自内核之上的那一层。图规划器会在模型运行前对其进行改写:激活值只量化一次并复用,归一化和激活运算与量化融合,无用计算被移除,每个解码步骤都被捕获并作为单个 CUDA Graph 重放。源自 ggml 的代码约占核心代码的 8%。其余都是运行时。前缀复用是精确的:续写结果与完整预填充后的结果逐 token 完全一致,这使得多轮聊天和编程助手工作负载的开销很低。目前还做不到的事情:预填充速度约为 llama.cpp 的一半。它采用了真正的批处理路径(int8 张量核心加 cuBLAS),但仍有差距需要缩小。已验证的模型只有一个:Gemma 4 E4B。量化格式仅支持 Q3_K、Q4_K 和 Q5_K,因此 Hugging Face 上的大多数 Q4_K_M 文件目前还无法加载,因为它们混用了 Q6_K 和 Q8_0。接下来会支持这些格式以及 Qwen。它只在 sm_86(RTX 30 系列)上经过测试,采样也仅支持贪心模式。目前它还不能直接替代 llama.cpp。v0.0.1 的意义在于证明这套架构可行:当图编译器建立在同一套内核之上后,后续的性能提升就来自编译器,而不是更多手写内核。路线图中的下一步是 MLIR GPU 代码生成、推测解码,以及更多格式。采用 GPL-3.0 许可证。基准测试条件、复现命令和模型的 sha256 都在 README 中:https://github.com/hardenedlinux/SonicBoom
相似文章
呼唤所有 GPU:帮助我们测试 SonicBoom v0.0.3 —— 一个在解码上超越 llama.cpp 的编译器优先 AI 运行时
HardenedLinux 发布开源编译器优先的 AI 推理运行时 SonicBoom v0.0.3,声称在 RTX 3050 上解码速度超过 llama.cpp,并呼吁社区贡献 GPU 基准测试结果。
GLM-5.2 UD-IQ1_M 在 llama.cpp 上的运行 — 5090 + 3090 Ti 速度测试 (~ 579 t/s 预填充 @ 8k 上下文, ~324 t/s 预填充 @ 57k 上下文, ~10.6 t/s 解码)
GLM-5.2 在 llama.cpp 上使用 RTX 5090 和 RTX 3090 Ti 运行的速度测试结果,显示在 8k 上下文中预填充速度高达 579 t/s,解码速度约为 10.6 t/s。
我测试了 llama.cpp 在 Qwen 3.6 27B 上的所有推测性解码方法:MTP ~2.7x, DFlash ~3.7x, n-gram 堆叠在真实编码中达到 ~6x。本地 AI 获胜。我在 RTX 6000 PRO 上的发现。
llama.cpp 在 Qwen 3.6 27B 上的推测性解码方法的全面基准测试表明,在 DFlash 上叠加 n-gram 堆叠在迭代编码任务中实现了高达 6 倍的加速,其中 ngram-mod 贡献了大部分增益且零 VRAM 成本。
比较 llama.cpp 行/张量分割与 ik_llama 图分割的双GPU推理速度
一位用户使用llama.cpp(行/张量切分)和ik_llama(图切分)在两张RTX 3080 20GB上对双GPU推理速度进行了基准测试,使用Qwen3.6-27B GGUF模型,比较了token生成和提示处理速度。
实验:Qwen3.8-2.4T-A95B 在 RTX 5090 + RTX 5060 Ti 上本地运行,约 0.80 tok/s
一个实验,使用 llama.cpp 在双消费级 GPU(RTX 5090 + 5060 Ti)上本地运行 Qwen3.8-2.4T-A95B MoE 模型,启用 MTP 推测解码后达到约 0.8 tok/s。