地址:www.lmsys.org/blog/2026-08-17-advanced-cuda-graph
背景知识:大模型推理时由许多 GPU 操作连续组成。通常,CPU 需要逐个向 GPU 发起这些操作,频繁的启动和调度会成为性能瓶颈。CUDA Graph 的作用,是提前把一组 GPU 操作记录下来,后续直接整体重放,从而减少 CPU 的参与和 GPU 的等待时间。不过,CUDA Graph 更适合形状和执行流程相对固定的任务。
“CUDA Graph 承诺消除内核启动开销,但要在真实推理引擎中接近这一理想收益,就必须尽可能覆盖更多工作负载,同时不能牺牲兼容性、启动速度或内存效率。
在 SGLang 中,我们围绕统一的 Runner/Backend 接口重构了 CUDA Graph 支持,让不同捕获策略可以在多种执行路径之间复用。针对更加复杂的 prefill 阶段,SGLang 社区推出了 Breakable CUDA Graph,并率先结合 FA4 和 FlashInfer 注意力后端实现完整 CUDA Graph。这两项技术最初都作为开源推理服务方案诞生于 SGLang。
文章还将深入讨论 CUDA Graph 的内存管理,包括不同形状及不同图分段之间的内存复用;这正在成为 SGLang 整体内存管理中越来越重要的一部分。
对于 prefill,Breakable CUDA Graph 现已成为 SGLang 的默”