CUDA 流式 kernel 启动为何比 graph 开销大:QMD 构造与跟踪成本

mike64_t · x · 2026-10-22

针对「流上 kernel 启动为何比 CUDA graph 开销大」的讨论,作者给出底层解释:流路径下每次启动都要即时构造 QMD(队列元数据),并维护在飞 QMD 的跟踪系统,这是「即时派发」的代价——cuLaunchKernel 必须当场派发 QMD。作者认为这一设计奇怪,本可用专门的 cuStreamCommence() 替代,但未获官方解答。

他还指出,即便有假设的 cuLaunchKernel + cuCommence API,若实现不佳仍会当场构造 QMD 放入暂存缓冲或 FIFO,导致无法预知依赖 kernel;若改用另一种表示跟踪启动、把 QMD 构造成本推迟到 commence 阶段,则可优化。

所属事件:NVIDIA 老兵详解 CUDA Graphs 启动开销低于流式派发(5 条相关)→

原文链接 →

「Infra」频道最新

更多「Infra」频道 AI 资讯 →