gfx1201 (RX 9070/9070 XT, RDNA4) incorrectly matched by AMD_RDNA2_AND_OLDER_ARCH — disables cudnn perf optimization, ~5x slower VAE decode

该问题在 ComfyUI (v0.27.0) 中,使用 AMD Radeon RX 9070 (gfx1201) 显卡,配合 ROCm 7.2.4 和 PyTorch 2.10.0+rocm7.2.4 运行 Wan2.2 Ti2V-5B 图像到视频工作流(17 帧 @ 832x480,fp16 UN

gfx1201 (RX 9070/9070 XT, RDNA4) incorrectly matched by AMD_RDNA2_AND_OLDER_ARCH — disables cudnn perf optimization, ~5x slower VAE decode

gfx1201 (RX 9070/9070 XT, RDNA4) incorrectly matched by AMD_RDNA2_AND_OLDER_ARCH — disables cudnn perf optimization, ~5x slower VAE decode

快速结论:该报错可能发生在 AMD Radeon RX 9070 / RX 9070 XT (gfx1201) 用户在 ComfyUI 中运行需要 VAE 解码的工作流(如 Wan2.2 视频生成、FLUX/SD 图像生成)时,由于 `gfx1201` 被错误地包含在 `AMD_RDNA2_AND_OLDER_ARCH` 列表中,导致本该为 AMD 显卡关闭 cudnn 的优化被跳过,从而造成约 5 倍的性能下降。优先检查 `comfy/model_management.py` 中 `AMD_RDNA2_AND_OLDER_ARCH` 列表是否包含 `”gfx1201″`。

问题场景

该问题在 ComfyUI (v0.27.0) 中,使用 AMD Radeon RX 9070 (gfx1201) 显卡,配合 ROCm 7.2.4 和 PyTorch 2.10.0+rocm7.2.4 运行 Wan2.2 Ti2V-5B 图像到视频工作流(17 帧 @ 832×480,fp16 UNet + Turbo LoRA (4-step),fp16 VAE)时被发现。任何涉及非平凡 VAE 解码负载的工作流(包括但不限于视频模型和图像模型如 FLUX/SD)都可能受到影响。

报错原文

# 问题并非由显示错误触发,而是由性能瓶颈揭示。
# 直接检查 cudnn 状态的方法:
import torch
print(torch.backends.cudnn.enabled)  # 在受影响的配置下会输出 True (默认值), 表示优化被跳过

# 对比移除 gfx1201 后的状态:
import comfy.model_management as mm
print(torch.backends.cudnn.enabled)  # 在修复后输出 False, 表示优化被正确应用

原因分析

原因在于 ComfyUI 的 comfy/model_management.py 中,AMD_RDNA2_AND_OLDER_ARCH 列表错误地包含了 "gfx1201"。此列表用于判断是否为较旧的 AMD 架构(RDNA2 及更早),以便决定是否关闭 torch.backends.cudnn.enabled = False 来获得更好的性能。

gfx1201RDNA4 架构(RX 9070 / RX 9070 XT)的 GFX 版本,它比 RDNA2 新得多。由于其被包含在了旧架构列表中,ComfyUI 的逻辑错误地认为不需要为这张新卡关闭 cudnn,导致优化被跳过。在被 Issue 报告的 ComfyUI 0.27.0 版本中,该列表包含 "gfx1201";但在 Issue 关闭时(关联 PR 合并后),主分支代码中已移除了 "gfx1201"。因此,如果你使用的是受影响版本,问题即源于此。

环境排查

  • 显卡:确认显卡是否为 AMD Radeon RX 9070 或 RX 9070 XT (gfx1201 RDNA4 架构)。
  • 软件版本:确认 ComfyUI 版本(特别是早期版本如 0.27.0)及 ROCm 版本(如 7.2.4)和 PyTorch 版本(如 2.10.0+rocm7.2.4)。
  • 性能对比:运行一个已知的 VAE 解码密集型工作流(如视频生成),并记录总耗时。

解决步骤

  1. 打开 comfy/model_management.py 文件。
  2. 搜索 AMD_RDNA2_AND_OLDER_ARCH 列表,该列表通常包含 ["gfx1201", "gfx1030", "gfx1031", "gfx1010", "gfx1011", "gfx1012", "gfx906", "gfx900", "gfx803"]
  3. 从该列表中移除 "gfx1201"。修改后的列表应如:["gfx1030", "gfx1031", "gfx1010", "gfx1011", "gfx1012", "gfx906", "gfx900", "gfx803"]
  4. 保存文件并重新启动 ComfyUI。

注意:该修复已作为核心修复合并到 ComfyUI 主分支。如果你使用的是较新版本,可能已经无需手动修改。但如果你遇到性能问题,建议先检查此列表。

验证方法

1. 重启 ComfyUI 后,立即运行之前受影响的工作流(如 Wan2.2 视频生成)。
2. 对比修复前后的总耗时。根据 Issue 报告,修复后性能可获得约 4.9 倍的提升(例如从约 1200 秒降至约 240 秒)。
3. 或者,在 Python 环境中直接验证:
import torch; print(torch.backends.cudnn.enabled) 应在 ComfyUI 加载后输出 False,表明优化已正确应用。

参考来源

Comfy-Org/ComfyUI #14895

GamsGo AI

AI 工具推荐

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

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

了解 GamsGo AI

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

celebrityanime
celebrityanime
文章: 13244

发表回复

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