
Flash Attention failed, using default SDPA / No module named ‘OpenGL_accelerate’
快速结论:该报错并非“No module named ‘OpenGL_accelerate’”相关,而是 ComfyUI 在调用 Flash Attention 时因参数数量不匹配而回退至 PyTorch 默认 SDPA 的警告。优先排查与确认你的 PyTorch 与 Flash Attention 安装版本是否匹配。
问题场景
用户在更新 ComfyUI 至某 commit(b481bc15afda8222b1674cea29d141c24bc7ef7e)后,运行 FLUX 模型推理时触发此警告。环境为 AMD Radeon RX 7900 XTX,使用 ROCm 与 PyTorch 2.12 nightly 版本。
报错原文
[WARNING] Flash Attention failed, using default SDPA: flash_attention::flash_attn() expected at most 5 argument(s) but received 6 argument(s). Declaration: flash_attention::flash_attn(Tensor q, Tensor k, Tensor v, float dropout_p=0., bool causal=False) -> Tensor
原因分析
可能原因:ComfyUI 内核代码尝试以 6 个参数调用 flash_attn() 函数,但当前环境中编译或安装的 Flash Attention 实现只接受最多 5 个参数。此版本不匹配通常出现在使用最新 nightly 版 ROCm 和 PyTorch(如 2.12.0a0+rocm7.13.0a20260416)的环境上,导致 ComfyUI 检测到 Flash Attention 可用,但底层 C++/Triton 绑定签名不匹配。
环境排查
- PyTorch 版本:
2.12.0a0+rocm7.13.0a20260416(nightly) - ROCm 版本:nightly_rocm7.2.4
- 显卡:AMD Radeon RX 7900 XTX
- ComfyUI 提交:
b481bc15afda8222b1674cea29d141c24bc7ef7e及之后 - Flash Attention 安装方式:通过
FLASH_ATTENTION_TRITON_AMD_ENABLE="TRUE" pip install flash-attn --no-build-isolation安装 - 自定义组件:可能启用了
comfy-kitchen、Triton 等后端;日志显示 triton 与 cuda(通过 ROCm 模拟)后端均为disabled: True
解决步骤
- 强制使用替代注意力机制:启动 ComfyUI 时添加 CLI 参数
--use-split-cross-attention或--use-pytorch-cross-attention,可消除警告并强制使用 SDPA。(可优先尝试) - 尝试使用
--use-quad-cross-attention:用户反馈此参数在 AMD 上性能接近 Flash Attention,但仍有差距。 - 安装与 PyTorch 版本完全匹配的 Flash Attention:在 ROCm 开发包(如
rocm-dev)已安装的前提下,运行pip install flash-attn --no-build-isolation,会从源码编译适配当前 PyTorch 及硬件的 Flash Attention 二进制。 - 回退或升级至稳定版 PyTorch/ROCm:如无需 nightly 特性,建议使用官方稳定版(如 ROCm 6.x 或 7.x 稳定版),可避免签名不匹配问题。
- 回退 ComfyUI 至旧 commit:用户确认回退至
69ea586可移除错误消息,但仍使用 SDPA;更老的 commit 中 Flash Attention 正常工作。
验证方法
启动 ComfyUI 并运行 FLUX 或类似大模型工作流,观察日志中不再出现 Flash Attention failed, using default SDPA 警告,或确认闪存注意力机制(Flash Attention)被成功调用。同时观察生成结果是否正常、无 VRAM 溢出或驱动挂起现象。



