No module named ‘OpenGL_accelerate’

用户在更新 ComfyUI 至某 commit( b481bc15afda8222b1674cea29d141c24bc7ef7e )后,运行 FLUX 模型推理时触发此警告。环境为 AMD Radeon RX 7900 XTX,使用 ROCm 与 PyTorch 2.12 nightly 版本。

No module named 'OpenGL_accelerate'

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

解决步骤

  1. 强制使用替代注意力机制:启动 ComfyUI 时添加 CLI 参数 --use-split-cross-attention--use-pytorch-cross-attention,可消除警告并强制使用 SDPA。(可优先尝试)
  2. 尝试使用 --use-quad-cross-attention用户反馈此参数在 AMD 上性能接近 Flash Attention,但仍有差距。
  3. 安装与 PyTorch 版本完全匹配的 Flash Attention:在 ROCm 开发包(如 rocm-dev)已安装的前提下,运行 pip install flash-attn --no-build-isolation,会从源码编译适配当前 PyTorch 及硬件的 Flash Attention 二进制。
  4. 回退或升级至稳定版 PyTorch/ROCm:如无需 nightly 特性,建议使用官方稳定版(如 ROCm 6.x 或 7.x 稳定版),可避免签名不匹配问题。
  5. 回退 ComfyUI 至旧 commit:用户确认回退至 69ea586 可移除错误消息,但仍使用 SDPA;更老的 commit 中 Flash Attention 正常工作。

验证方法

启动 ComfyUI 并运行 FLUX 或类似大模型工作流,观察日志中不再出现 Flash Attention failed, using default SDPA 警告,或确认闪存注意力机制(Flash Attention)被成功调用。同时观察生成结果是否正常、无 VRAM 溢出或驱动挂起现象。

参考来源

Comfy-Org/ComfyUI #14865

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

celebrityanime
celebrityanime
文章: 14514

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注