NANO-VLLM · CUDA GRAPH LAB

先预测 batch shape 是否命中已有 graph,再观察 capture 与 replay

Graph cache 初始只保存 batch 1 与 4 的 decode shape。请为新到达的 batch 写下“命中”或“未命中”,然后观察固定形状缓冲区如何决定是直接 replay,还是先 warmup/capture。

概念模拟,不执行真实 CUDA
1设定任务
选择 incoming batch shape
2承诺预测
判断 graph cache 命中
3运行并解释
warmup/capture 或 replay

稳定 shape、静态缓冲区与执行图

Graph Cache 的 shapes1, 4
本轮 capture0
本轮 replay0

已有 Graph Cache

key = decode batch shape(本题简化)

本轮静态输入缓冲区

选择 batch 后,会固定准备 [batch, 1] 的 last_token buffer。
lookup shape
graph_cache[batch]
warmup / static buffers
input_ids [B,1]
capture 或取得图
固定 operation chain
graph.replay()
3 decode steps
任务已装载。默认 incoming batch=8,而初始 cache 只有 shape=1、4。先预测:不能仅因“都是 Decode”就假定它能够 replay。
你的解释锚点:CUDA Graph 的 capture/replay 依赖可复用的稳定执行形状与静态缓冲区。不同 batch shape 不是同一个 graph 的无条件替代品;未命中时,需要准备并捕获相应 shape。