从零实现 LLM Inference:040. CUDA Graph 加速 paged decode
decode 热路径里 kernel launch 太密?把一次 decode step 捕获成 CUDA Graph,replay 省掉大量 CPU dispatch。
decode 热路径里 kernel launch 太密?把一次 decode step 捕获成 CUDA Graph,replay 省掉大量 CPU dispatch。
把 paged-attn decode kernel 的 num_warps/num_stages 从“拍脑袋常量”变成 Triton autotune;结果在 decode 热路径里反而回退了。
paged decode 还在慢?很多时候瓶颈不在 attention,而是在每步 L*B 次的 KV 写入:做一个 batch fast-path,直接把 Python 循环砍掉。
block_table 不再每步 gather/copy:把它常驻 GPU,用 slot_mapping 让 triton kernel 直接索引,decode 吞吐更稳。
paged attention decode 每步重建 block_table 太浪费:按 session 缓存 row,只在 block 变化时更新,decode 吞吐和 TPOT 更稳。