CUDA graph
也称为 CUDA graphs、graph capture、full-graph 模式
先用大白话
CUDA graph 把一整串芯片操作录制一次并整体回放,从而免去逐个启动它们的开销。
技术定义
CUDA graph capture 把一串 kernel 启动及其依赖关系录制成可回放的图,从而一次性提交整段序列,而不是逐个算子启动。
工程细节
一个 decode 步骤会发出许多小 kernel,在小 batch 下它们之间的启动与调度开销可以与实际运算相当。把整步录制下来即可消除这部分逐次启动的开销。代价是图是固定的:shape 必须稳定,因此引擎会按分桶分别录制,并把真正动态的部分留在图之外。
为什么重要
这更多是延迟优化而不是吞吐量优化,恰恰在 batch 很小、交互性很高的场景最有价值。它也会与一切改变 shape 的因素相互作用,因此变长的 agentic 流量可能击垮过度特化的运行时,使其几乎为每个请求重新编译。
如何在 InferenceX 中解读
graph 的使用方式取决于测试配置所固定的引擎镜像,因此它可以在硬件不变的情况下推动曲线变化。有些方案会录制稳定的算子,同时让依赖请求的注意力保持 eager 执行,这是在录制覆盖率与 shape 灵活性之间的有意折中。
参考资料
在真实基准中理解这一概念
AgentX - InferenceXv3:CUDA 护城河在 agentic 推理中还站得住吗?
开源价值 300 万美元的数据集、100 万以上上下文长度、多轮、子智能体、95%+ KVCache 命中率、GB300 NVL72、MI355X、B200
在 NVIDIA GPU 上实现超高交互性?TileRT 登陆 InferenceX
运行在 NVIDIA GPU 上的 TileRT 软件能否与 Cerebras、Groq LPU、SambaNova 竞争?批大小为 1、分离式引擎、高吞吐量预填充引擎、高交互性解码引擎
InferenceX v2:NVIDIA Blackwell 对决 AMD 与 Hopper — 前身为 InferenceMAX
GB300 NVL72、MI355X、B200、H100、分离式推理、宽专家并行、大规模混合专家、SGLang、vLLM、TRTLLM