软件栈
Kernel 融合
也称为 kernel fusion、算子融合
先用大白话
Kernel 融合把多个小的芯片操作合并成一个,中间数据留在快速内存里而不是反复经过 HBM。
技术定义
Kernel 融合把多个连续操作合并为单次 kernel 启动,中间结果保留在寄存器或片上内存中,而不是在步骤之间写回主存。
工程细节
未融合的矩阵乘法、偏置加法、激活函数序列,每一步都把中间张量写入 HBM 再读回。融合成一个 kernel 就消除了这些往返和中间的启动开销。融合可以在库里手工实现,可以通过 CUTLASS 式的模板尾部实现,也可以由 torch.compile 和基于 Triton 的栈自动完成。FlashAttention 是这一思想最著名的单个例子。
为什么重要
在访存受限的推理中,消除中间流量比提升原始算术能力更值钱,因此融合是引擎手中最可靠的杠杆之一。引擎版本间的提速,很大一部分可以归结为更激进或更精准的融合。
如何在 InferenceX 中解读
InferenceX 配置钉住的引擎镜像在不同版本和硬件后端上的融合库存不同,这是逐日追踪中硬件不变而曲线移动的常见原因:面向新模型和新精度的融合 kernel 落地了。
参考资料
在真实基准中理解这一概念
AMD MI355X Kimi K2.5 推理:vLLM 25 天内吞吐量提升 7.7 倍、交互性最高提升 15 倍
vLLM PR #35850 修复了 MI355X CDNA4 上的 AITER MLA 分发路径,解锁 TP=8 下的 Kimi K2.5 推理性能,随 vLLM 0.18 一同发布
SGLang 0.5.6 在 B200 DeepSeek R1 FP4 上的表现:低并发下最高提升 1.8 倍
针对 DeepSeek V3 的分段 CUDA graph、统一事件循环和 JIT 内核将 8k/1k 吞吐量从 508 提升至 907 tok/s/GPU,使用相同的 16 GPU B200 资源池