AMD 显卡跑 ComfyUI:Windows 不支持/DirectML 已废弃,Linux ROCm 装好了又认不到 GPU / 全站资源搜索
搜索 更新 2026-10-02
报错 097 硬件、驱动、操作系统与非 N 卡环境 含未核实说明

AMD 显卡跑 ComfyUI:Windows 不支持/DirectML 已废弃,Linux ROCm 装好了又认不到 GPU

报错原文(原样)
AssertionError: Torch not compiled with CUDA enabled
检索关键词 AMD 显卡、ROCm、torch-directml、--directml、HSA_OVERRIDE_GFX_VERSION、DirectML is deprecated、RDNA 3/4
先看这一句 AMD 显卡用户在 Windows 上按 NVIDIA 教程装完 torch 后报 Torch not compiled with CUDA enabled,换 DirectML 能跑但慢到不可用;Linux 上装完 ROCm 版 torch 后 ComfyUI 仍走 CPU 或报认不到设备。
适用版本 Windows AMD 支持截至采集时仍为实验性(experimental),仅 RDNA 3/3.5/4;Linux 走 ROCm 更成熟。官方文档给 Windows 的安装命令仍为 AMD 的 nightly 索引,属于实验通道,版本号会变,请以 AMD/ComfyUI 最新文档为准。 Linux ROCm 路线的稳定索引为 rocm7.2(会随版本推进变化);HSA_OVERRIDE_GFX_VERSION 适用于 RDNA2 及更老的卡。 · 核实日期 2026-09-26 · 状态 可能已过期,正在复核
适用环境:Windows 便携版、Linux + 云 GPU、Docker/服务器、全部主流环境

现象与触发场景

常见触发场景:

  • 照着网上“Windows 装 ComfyUI”的教程给 AMD 卡装了 CUDA 版 torch
  • 给不支持 RDNA3/3.5/4 的老 AMD 卡装了 AMD 官方的 Windows ROCm 包
  • 用了 torch-directml 跑较新的模型/插件
  • Linux 上卡太老(RDNA2 及以下 / GCN)不在 ROCm 官方支持列表内
  • Linux 上 ROCm 装好了但当前用户不在 render/video 组,或内核模块未加载,或误装了 CUDA 版 torch

根因

  • AMD 卡不能走 CUDA。Windows 上官方支持的是 AMD 的多架构 PyTorch 包(ROCm 10.0 / gfx 设备包),且仅限 RDNA 3、3.5、4(RX 7000、RX 9000、Strix Halo 等);更老的卡不在支持范围内。
  • 官方 GPU 排障文档明确把 DirectML 列为“不推荐、已弃用、可能被移除”,原话是 DirectML 非常慢、一年多没更新、勉强能用(DirectML is very slow, hasn't been updated in over a year, and barely works)。
  • 老 AMD 卡(RDNA2 及以下、GCN)在 Linux 上需要 HSA_OVERRIDE_GFX_VERSION 伪造架构版本才能被识别。
  • ROCm 只对特定 GFX 架构提供 kernel;不在列表里的卡需要用 HSA_OVERRIDE_GFX_VERSION 伪造架构版本才能被识别。
  • torch 的 ROCm 版与 CUDA 版是不同 wheel,必须用 --index-url https://download.pytorch.org/whl/rocmX.Y 安装;光装 ROCm 驱动不会让 CUDA 版 torch 认卡。

解决步骤

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

  1. 先确认你的卡是否在支持列表里
    Windows 仅支持 RDNA 3(RX 7000)、RDNA 3.5(Strix Halo / Ryzen AI Max+ 365)、RDNA 4(RX 9000)。RX 580/6600 这类 RDNA2 及以下的卡在 Windows 上不适用这些包,应改用 Linux + ROCm,或接受 CPU 模式。
    python -c "import torch; print(torch.version.hip, torch.cuda.is_available())"
  2. 按架构装 AMD 的多架构 PyTorch 包(Windows)
    官方文档给的做法是用 AMD 的 multi-architecture PyTorch 包,device-* extra 会自动带上你 GPU 的 kernel 和匹配的 ROCm runtime,不需要另外装 HIP SDK。要求 Windows 11、较新的 AMD 显卡驱动、64 位 Python 3.13。可用替换成具体架构:RX 9070/XT 与 Radeon AI PRO R9700 用 device-gfx1201,RX 9060/XT 用 device-gfx1200,RX 7900 XT/XTX 用 device-gfx1100,RX 7700/7800 XT 用 device-gfx1101。
    pip install --index-url https://stable.repo.amd.com/rocm/whl-next/ "torch[device-all]==2.13.0+rocm10.0.0" "torchvision[device-all]==0.28.0+rocm10.0.0" "torchaudio==2.11.0.2+rocm10.0.0"
  3. Linux 上用 ROCm 版 torch;老卡加 HSA_OVERRIDE_GFX_VERSION
    Linux 是 AMD 的推荐路径:按官方 README 用 rocm7.2 索引安装 torch。若卡不被 ROCm 默认识别(RDNA2 及以下如 RX 6700/6600),用 HSA_OVERRIDE_GFX_VERSION=10.3.0;RDNA3 的 RX 7600 用 11.0.0。另外可开实验性 memory efficient attention 与 TunableOp 改善性能。
    pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm7.2
    HSA_OVERRIDE_GFX_VERSION=10.3.0 python main.py
    HSA_OVERRIDE_GFX_VERSION=11.0.0 python main.py
    TORCH_ROCM_AOTRITON_ENABLE_EXPERIMENTAL=1 python main.py --use-pytorch-cross-attention
    PYTORCH_TUNABLEOP_ENABLED=1 python main.py
  4. 只有在别无选择时才退到 DirectML,并优先考虑 CPU 模式
    官方文档把 DirectML 标为弃用:pip install torch-directml 后用 --directml <index> 指定设备(-1 表示默认设备)。同时官方给出更好的替代:直接用 CPU 模式(python main.py --cpu),或在有 NVIDIA 卡时走 WSL2 + CUDA。
    pip install torch-directml
    python main.py --directml 0
    python main.py --cpu
  5. 确认装的是 ROCm 版 torch,并检查 HIP 版本
    在 ComfyUI 的 Python 环境里打印 torch.version.hip(ROCm 版的 torch 里 cuda 命名空间沿用,is_available() 也会为 True)。如果 torch.version.hip 是 None,说明装的是 CPU 或 CUDA 版,需要按 ROCm 索引重装。
    python -c "import torch; print(torch.version.hip); print(torch.cuda.is_available())"
    pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm7.2
  6. 对不受支持的卡设置 HSA_OVERRIDE_GFX_VERSION
    官方文档给出的对照:RDNA2 及以下(RX 6700、6600 等)用 10.3.0;RDNA3 的 RX 7600 用 11.0.0。设置在启动 ComfyUI 的环境变量里。
    HSA_OVERRIDE_GFX_VERSION=10.3.0 python main.py
    HSA_OVERRIDE_GFX_VERSION=11.0.0 python main.py
  7. 开 ROCm 的性能与内存优化选项
    官方文档建议:RDNA3+ 开启 PyTorch cross attention 与实验性 AOTriton;TunableOp 首次运行慢、之后更快。RDNA2 及更老若要恢复 cuDNN(MIOPEN)路径可设 COMFYUI_ENABLE_MIOPEN=1。
    TORCH_ROCM_AOTRITON_ENABLE_EXPERIMENTAL=1 python main.py --use-pytorch-cross-attention
    PYTORCH_TUNABLEOP_ENABLED=1 python main.py
    COMFYUI_ENABLE_MIOPEN=1 python main.py

验证是否修好

python -c "import torch; print(torch.version.hip)" 能打印 ROCm 版本号且 torch.cuda.is_available() 为 True(ROCm 在 torch 里沿用 cuda 命名空间);ComfyUI 启动日志的 Device 显示你的 AMD 卡。 Linux 侧另验证:python -c "import torch; print(torch.version.hip)" 能打印 ROCm 版本且 torch.cuda.is_available() 为 True(ROCm 在 torch 里沿用 cuda 命名空间)。

补充说明

DirectML 的官方定性原话(very slow / deprecated / barely works)与 --directml 用法逐字来自 ComfyUI 官方 GPU Troubleshooting 文档。Windows AMD 的 device-gfxXXXX 版本号(ROCm 10.0.0 / torch 2.13.0)来自 ComfyUI README 的当前版本,属会随时间变化的实验通道。AssertionError: Torch not compiled with CUDA enabled 是 AMD 用户在按 NVIDIA 教程安装后最常看到的报错。 Linux 侧本轮未找到逐字的 HIP 报错原文(GitHub API 限流未抓取 ROCm 相关 issue 正文),故未引用 HIP 报错字符串,[未核实] 常见社区表述为 HIP error / no device。

来源

按可信度排列:官方 issue / 官方文档 > 节点仓库 issue > 社区帖 > 中文社区文章。 链接以纯文本给出(本站不做站外跳转),需要核对时请自行复制到浏览器打开。
  1. [220] (官方文档) ComfyUI README(AMD GPUs Windows/Linux 与 Intel GPUs 安装章节) https://raw.githubusercontent.com/comfyanonymous/ComfyUI/master/README.md
  2. [215] (官方文档) GPU Troubleshooting - ComfyUI(AMD GPU Issues 与 DirectML 弃用说明) https://mintlify.wiki/Comfy-Org/ComfyUI/guides/gpu-troubleshooting
  3. [219] (官方文档) Hardware Support - ComfyUI(AMD Windows Experimental 支持范围) https://mintlify.wiki/Comfy-Org/ComfyUI/configuration/hardware-support
本条的可靠性边界 下面这些位置带 [未核实] 标记,是采集时没找到一手来源的部分,请自行验证:
  • 补充说明

这条报错要用到的东西

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

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

同一类别的其他条目

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

返回报错库