Blackwell 显卡生成在第一个注意力层失败:cuDNN Frontend error: No valid execution plans built / 全站资源搜索
搜索 更新 2026-10-02
报错 091 硬件、驱动、操作系统与非 N 卡环境 含未核实说明

Blackwell 显卡生成在第一个注意力层失败:cuDNN Frontend error: No valid execution plans built

报错原文(原样)
cuDNN Frontend error: No valid execution plans built
(官方 PR 原文对现象的描述:On these cards PyTorch's default SDPA path can select the cuDNN backend, which reports: cuDNN Frontend error: No valid execution plans built. With FLUX this fails at the first attention block in the UNet, so generation never produces an image.)
检索关键词 cuDNN Frontend error、No valid execution plans built、sm_103、sm_120、--use-split-cross-attention、Blackwell
先看这一句 在 Blackwell 代 NVIDIA 显卡上跑 FLUX 等模型时,进度条刚起步就在第一个注意力块报错,完全出不了图。
适用版本 官方文档条目以 Blackwell 的 sm_103 为例,PR 说明该问题是在 NVIDIA B300 上“hit and resolved”的,并明确把适用范围写成 Blackwell 代 NVIDIA GPU(sm_103)。sm_120(RTX 50 系消费卡,如 5060 Ti/5090)同属 Blackwell 代,理论上同样可能触发 SDPA 选中 cuDNN 后端,但官方文档与 PR 都没有点名 sm_120,[未核实] 请以本机实测为准。 · 核实日期 2026-09-26 · 状态 可能已过期,正在复核
适用环境:Windows 便携版、ComfyUI Desktop、Linux + 云 GPU、Docker/服务器、全部主流环境

现象与触发场景

常见触发场景:

  • Blackwell 架构新卡(官方文档以 sm_103 为例)上跑 Flux 类工作流
  • torch 构建的 CUDA 版本低于 12.8
  • 有人试图在 sitecustomize.py 里调用 torch.backends.cuda.enable_cudnn_sdp(False) 来绕过,结果无效

根因

  • PyTorch 默认的 scaled dot product attention(SDPA)在 Blackwell 上会选中 cuDNN 后端,而该后端没有为这个架构构建出有效的执行计划,于是直接失败。官方 PR 原文:On these cards PyTorch's default SDPA path can select the cuDNN backend, which reports: cuDNN Frontend error: No valid execution plans built。
  • 用 FLUX 时失败发生在 UNet 的第一个注意力块(first attention block in the UNet),所以完全出不了图;而报错信息本身既不指向 attention 也不指向 GPU 架构,仅看日志很难定位(PR 原文:The error message doesn't point at attention or at the GPU architecture, so it's hard to diagnose from the log alone)。
  • 官方文档另外注明:Blackwell 需要 CUDA 12.8 或更新的 pytorch 构建,针对 cu121 编译的构建在这些显卡上根本无法运行。
  • 在 CUDA 初始化之前用代码关掉 cuDNN SDPA 后端不可靠——该开关在 CUDA 初始化后不会保留,所以必须用启动参数。

解决步骤

已按「最可能有效」排序。请从上往下做,每做完一步用「验证」确认,不要一次改五处。

  1. 换用绕开 SDPA 与 cuDNN 的手写注意力实现
    官方文档给出的可靠办法是加启动参数 --use-split-cross-attention,让注意力走 ComfyUI 自带的 split cross attention 实现,而不是 PyTorch 的 SDPA。
    python main.py --use-split-cross-attention
  2. 确认 torch 的 CUDA 版本不低于 12.8
    官方文档明确 Blackwell 需要 CUDA 12.8 或更新的 pytorch 构建;如果是 cu121 等旧构建,先升级 torch,再回到上一步验证。
    python -c "import torch; print(torch.__version__, torch.version.cuda)"
  3. 不要用改代码的方式关掉 cuDNN SDPA
    官方文档特别提示:在启动前通过 sitecustomize.py 调用 torch.backends.cuda.enable_cudnn_sdp(False) 不起作用,因为该标记在 CUDA 初始化后不被保留。启动参数才是可靠解法。

验证是否修好

同样的 FLUX 工作流能正常跑过第一个注意力块并出图;日志里不再出现 cuDNN Frontend error。

补充说明

报错原文与现象描述逐字来自 Comfy-Org/docs PR #1491 (docs(troubleshooting): add Blackwell (sm_103) cuDNN SDPA failure and workaround,本采集已通过 GitHub API 核实该 PR 标题与正文)。PR 原文写明:On these cards PyTorch's default SDPA path can select the cuDNN backend … Launching with --use-split-cross-attention avoids the cuDNN path and resolves it. “How this was verified: Hit and resolved on NVIDIA B300” —— 即验证硬件是 B300(sm_103),不是消费级 50 系。官方文档另注明:在启动前通过 sitecustomize.py 调用 torch.backends.cuda.enable_cudnn_sdp(False) 不起作用,因为该标记在 CUDA 初始化后不会被保留,启动参数才是可靠解法。

来源

按可信度排列:官方 issue / 官方文档 > 节点仓库 issue > 社区帖 > 中文社区文章。 链接以纯文本给出(本站不做站外跳转),需要核对时请自行复制到浏览器打开。
  1. [6] (官方文档) How to Troubleshoot and Solve ComfyUI Issues(Blackwell GPU sm_103 一节) https://docs.comfy.org/troubleshooting/overview
  2. [214] (官方文档) Comfy-Org/docs PR #1491(新增该 Blackwell 条目) https://github.com/Comfy-Org/docs/pull/1491
  3. [215] (官方文档) GPU Troubleshooting - ComfyUI(NVIDIA 各代卡的 SDPA / precision 排障) https://mintlify.wiki/Comfy-Org/ComfyUI/guides/gpu-troubleshooting

这条报错要用到的东西

按本条报错所属的类别(硬件、驱动、操作系统与非 N 卡环境)列出站内相关的下载包与板块入口。 它们不是「必须下载才能修好」,而是这一类问题里最常要动到的东西;具体怎么做,以上面的解决步骤为准。

环境与依赖配置包依赖版本组合清单 / 环境自检脚本说明 待挂载

同一类别的其他条目

这个解法对你有效吗 记录只存在你自己的浏览器里,不需要注册账号。

返回报错库