中级 11 分钟图像

AMD GPU 上的 ComfyUI:使用 ROCm 逐 步操作

AMD GPU 上的 ComfyUI:使用 ROCm 逐 步操作

在 AMD 显卡上运行 ComfyUI 已不再是 Linux 专属的折腾:AMD 和 Comfy.org 如今已为 Windows 下基于 ROCm 的安装提供文档,与 Linux 下从源码安装的传统途径并列。本 ComfyUI AMD 指南介绍三种可靠的途径(ComfyUI Desktop、手动安装、Docker)、证明 Radeon 确实在执行计算的检查方法,以及最常遇到的驱动或内存错误。本指南不包含任何速度测试:只有操作步骤、其局限性以及可供查阅的资料来源。

作者: Clara M.·更新于 2026-11-06·已在 Windows、macOS 和 Linux 上测试

#ComfyUI AMD:该选择哪种安装方式

ComfyUI 依赖于 PyTorch。在 NVIDIA 显卡上,PyTorch 通过 CUDA 运行;在 Radeon 上,则通过 ROCm——AMD 的计算栈,其 HIP 层有意提供与 CUDA 相近的接口。正因如此,即使在 AMD 显卡上,ComfyUI 也会显示“cuda”:无论品牌如何,PyTorch 都沿用这个名称来指代设备。因此,全部工作就在于获得一个针对 ROCm 编译的 PyTorch 版本,以及一个允许它访问 GPU 的驱动。

Windows,新款 Radeon
带 ROCm 的 ComfyUI Desktop,这是 AMD 文档中介绍、Comfy.org 宣布的官方方式。它也是最简单的:安装程序会自动处理 Python、PyTorch 及各项依赖。
Linux
使用 Python 虚拟环境和 PyTorch ROCm wheel 包从源码安装。这是历史最久、文档最完善、支持显卡最多的方式,对于未列入支持列表的型号也可通过变通方法使用。
Linux、服务器或共享机器
基于 AMD 提供的 ROCm 镜像使用 Docker。便于将 ComfyUI 与系统其他部分隔离,出现问题时也能从头重来。
Windows,旧款 Radeon
没有官方 ROCm 方案。备选方案(DirectML,或改用 Linux)在故障排查部分介绍。

如果你是 ComfyUI 新手,请把我们的新手安装指南放在手边:界面、节点和模型存放位置在 AMD 与 NVIDIA 上完全相同。唯一不同的是硬件层,而这正是本指南要讲的内容。

#前提条件与支持的显卡

用本地 AI 创作图像的完整套件。

借助我们的经验和引导式路径,上手你的工具,在本地创作图像。

  • 在线空间,终身可用
  • PDF + 文件
  • 30 天内退款

ROCm 支持的 GPU 列表每个版本都会变化,而且 Windows 和 Linux 下的列表也不相同。不要轻信论坛或旧教程:请在安装时打开「ROCm on Radeon and Ryzen」文档中的兼容性矩阵,在当前版本的表格中查找您的显卡和系统。

架构
官方途径主要面向 RDNA 3(RX 7000)和 RDNA 4(RX 9000)Radeon 显卡,以及部分带集成显卡的 Ryzen AI 处理器。RDNA 2(RX 6000)在 Linux 下仍可使用,但通常需要设置一个绕过变量。请在兼容性矩阵中核实您的确切型号。
Windows 驱动
AMD Software Adrenalin Edition,版本不低于 AMD 安装页面标明的最低版本。版本过旧是 Windows 下安装失败的首要原因。
Linux 驱动
使用较新发行版自带的 amdgpu 内核驱动,并确保可以访问 /dev/kfd 和 /dev/dri 设备。PyTorch ROCm wheel 包已内置所需的计算库;不过安装完整的 ROCm 仍然有用,可以获得 rocminfo 等诊断工具。
Python
手动安装时,需要所选 PyTorch wheel 包支持的 Python 版本。pytorch.org 的选择器会给出说明。
磁盘
仅 PyTorch ROCm 本身就需要数 GB 空间,此外还要加上图像模型的大小,每个模型从几 GB 到十几 GB 不等。
视频内存
它决定了可以使用哪些模型,这一点与 NVIDIA 上相同。在带集成显卡的 Ryzen 处理器上,分配给 GPU 的内存大小可在 BIOS 或 AMD 软件中设置。
i
选购显卡不在本指南的讨论范围内
如果您仍在两款 Radeon 之间犹豫,我们的 RX 9070 XT 和 RX 7900 XTX 介绍页详细说明了显存、兼容性和用途。本文假定显卡已经装在机器中。

#Windows:搭配 ROCm 的 ComfyUI Desktop

ComfyUI Desktop 是 Comfy.org 的官方安装程序。在受支持的 AMD 显卡上,它会安装兼容 ROCm 的 PyTorch 版本,无需你手动处理 pip 索引。AMD 关于在 Windows 下安装 ComfyUI 的页面以及 Comfy.org 关于官方支持 AMD ROCm 的公告是两份应当遵循的参考资料:如与本指南有出入,以它们为准。

  1. 01
    更新驱动程序
    安装 AMD 文档要求的 AMD Software Adrenalin Edition 版本,然后重启。视版本而定,Adrenalin 安装程序还会提供一些可选的 AI 组件:按照本指南操作并不需要它们。
  2. 02
    下载 ComfyUI Desktop
    请从 comfy.org 的下载页面获取 Windows 安装程序,切勿从镜像站点下载。使用您平常的用户账户运行它。
  3. 03
    选择 AMD GPU
    在选择硬件的步骤中,选择 AMD 选项。如果该选项没有出现或呈灰色不可选,说明您的安装程序版本或显卡不受支持:请先查看兼容性矩阵,再继续操作。
  4. 04
    选择数据存放位置
    请指定一个位于有足够空间的磁盘上的文件夹:模型、输出和自定义节点会很快在其中累积。如果您之前已经安装过 ComfyUI,安装向导可以沿用其中的模型。
  5. 05
    等待安装完成
    首次启动时会下载 Python、PyTorch 及其依赖项。过程耗时且体积庞大,这是正常的。在界面显示出来之前,请不要关闭窗口。
  6. 06
    检查日志
    从应用菜单中打开日志,查找“Device”一行:其中应显示您的 Radeon 显卡名称。如果显示的是处理器,说明 PyTorch 没有找到 GPU:请参阅故障排除部分。

如需无安装程序的便携版,请查看 ComfyUI GitHub 仓库的发布页面:确认当前版本是否提供面向 AMD 显卡的压缩包,并按照随附说明操作。不要将为 NVIDIA 设计的压缩包用于 AMD 显卡:其中包含的是 CUDA 版 PyTorch,永远无法识别你的 Radeon。

→
首次渲染往往较慢
首次运行某个模型时,ROCm 软件栈会编译或选择适合你显卡的计算内核,并将其缓存。首次渲染明显慢于后续渲染,并不一定意味着存在问题。请以第二次或第三次渲染来评估配置。

#Linux:从源码安装 AMD 版 ComfyUI

在 Linux 下,手动安装仍是最灵活的方式。其原理可归纳为三点:授予您的用户访问 GPU 的权限,在虚拟环境中安装 PyTorch ROCm,然后在其上安装 ComfyUI,且不覆盖该 PyTorch。

  1. 01
    授予 GPU 访问权限
    将你的用户添加到 render 和 video 组,然后注销并重新登录。否则,PyTorch 无法打开 /dev/kfd,也就识别不到任何 GPU。
  2. 02
    确认系统能识别显卡
    如果已安装 ROCm,rocminfo 应会列出一个 GPU 类型的代理(agent),并带有 gfx 标识符(例如 RX 7900 XTX 对应 gfx1100,RX 9070 XT 对应 gfx1201)。请记下这个标识符:排查故障时会用到。
  3. 03
    创建 Python 环境
    克隆 ComfyUI,在其目录中创建虚拟环境并激活。此后每次工作会话都要先执行这一激活步骤。
  4. 04
    首先安装 PyTorch ROCm
    在 pytorch.org 的 Get Started 页面上,依次选择 Linux、Pip、Python 和 ROCm:网站会显示确切的命令以及当前的 ROCm 版本。请在安装其他任何依赖项之前先安装这个 PyTorch。
  5. 05
    安装并启动 ComfyUI
    安装 ComfyUI 的依赖项,然后运行 main.py。界面默认在 http://127.0.0.1:8188 上响应。
终端 — GPU 访问权限(只需设置一次)
sudo usermod -a -G render,video $LOGNAME
# Fermez la session puis reconnectez-vous, et vérifiez :
groups
rocminfo | grep -i gfx
终端——使用 PyTorch ROCm 安装 ComfyUI
git clone https://github.com/Comfy-Org/ComfyUI.git
cd ComfyUI
python3 -m venv .venv
source .venv/bin/activate

# Remplacez rocmX.Y par la version affichée sur pytorch.org (Get Started > Linux > Pip > ROCm)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocmX.Y

pip install -r requirements.txt
python main.py

ComfyUI 的 README 还介绍了一种适用于 Windows 和 Linux 的实验性方式,使用 AMD 为部分 RDNA 3、3.5 和 4 架构发布的 PyTorch wheel 包。这一方式变化很快:如果想尝试,请直接从 README 的 AMD 部分复制命令,而不要照搬教程,因为索引地址取决于你显卡的架构。

!
不要让 pip 替换 PyTorch ROCm
如果您在安装 PyTorch 之前就安装了 requirements.txt,或者某个自定义节点要求其他版本的 torch,pip 可能会从 PyPI 下载 CUDA 版 PyTorch 来替换您已安装的版本。此时 ComfyUI 会在 CPU 上启动,且不会给出明确的错误信息。每次安装节点后,请重新执行下文介绍的 torch.version.hip 检查。

#使用 ROCm 镜像的 Docker

AMD 在 Docker Hub 上发布了 rocm/pytorch 镜像,其中包含 ROCm 以及已针对其编译的 PyTorch。据我们所知,目前并没有面向 AMD 的官方 ComfyUI 镜像:最干净的做法是以 AMD 的镜像为基础,在其中安装 ComfyUI。宿主机只需具备 amdgpu 驱动;容器通过 /dev/kfd 和 /dev/dri 设备获得 GPU 访问权限。

终端 — 启动可访问 GPU 的 ROCm 容器
mkdir -p $HOME/comfyui-docker

docker run -it \
  --name comfyui-rocm \
  --device=/dev/kfd --device=/dev/dri \
  --group-add video --ipc=host \
  --security-opt seccomp=unconfined \
  -p 127.0.0.1:8188:8188 \
  -v $HOME/comfyui-docker:/workspace \
  rocm/pytorch:latest
在容器内——安装并启动 ComfyUI
cd /workspace
git clone https://github.com/Comfy-Org/ComfyUI.git
cd ComfyUI
pip install -r requirements.txt
python3 main.py --listen 0.0.0.0 --port 8188
镜像标签
latest 会随每个 ROCm 版本而变化。如果希望安装可复现,请记下所用的具体标签并重复使用,但事先要确认它支持你的显卡。
数量
挂载到 /workspace 的目录会在容器被删除后保留 ComfyUI、模型及输出文件。没有它,一切都要从头开始。
Exposition
端口发布在 127.0.0.1 上:只有宿主机可以访问界面。请勿将 ComfyUI 暴露在开放网络上:它默认没有身份验证,而且自定义节点会执行代码。
Relance
docker start -ai comfyui-rocm rouvre le même conteneur, sans réinstaller.

与手动安装相同的注意事项同样适用:执行 pip install 后,请确认容器中的 PyTorch 仍是 AMD 提供的版本。

#确认 AMD GPU 确实在工作

安装后能启动并不能说明任何问题:ComfyUI 会自动回退到 CPU 运行。只需做两项检查。第一项是在运行 ComfyUI 的环境中直接查询 PyTorch。

终端 — 检查 PyTorch
python -c 'import torch; print(torch.__version__); print(torch.version.hip); print(torch.cuda.is_available()); print(torch.cuda.get_device_name(0))'
torch.version.hip
应显示一个版本号。None 表示该 PyTorch 并非针对 ROCm 编译:这几乎总是因为误装了 CUDA 版或 CPU 版的 PyTorch。
torch.cuda.is_available()
应显示 True。在 AMD 上出现 cuda 字样是正常的:PyTorch 为 HIP 复用了这一接口。
get_device_name(0)
应显示您的 Radeon 显卡名称。如果显示的是处理器的集成显卡,请参阅故障排除部分中关于选错 GPU 的说明。

第二项检查在渲染过程中进行:在 Linux 下,rocm-smi 或 amd-smi 会显示 GPU 的占用率和已用显存;在 Windows 下,任务管理器或 Adrenalin 软件会显示显卡负载。如果处理器占用升至 100 %,而 GPU 仍处于空闲状态,说明计算并没有经过 Radeon。


#常见的驱动与检测错误

“hipErrorNoBinaryForGpu”或“Unable to find code object”
已安装的 PyTorch 不包含适用于你显卡架构的代码。在 Linux 下,对于架构接近受支持架构的显卡,ComfyUI 的 README 给出了 HSA_OVERRIDE_GFX_VERSION 变量:RDNA 2 显卡(如 RX 6700 或 6600)设为 10.3.0,RDNA 3 显卡(如 RX 7600)设为 11.0.0。这是一种变通方法,AMD 并不提供保证。
Linux 下未检测到 GPU
重新登录后,检查用户是否属于 render 和 video 组(使用 groups 命令),再确认 /dev/kfd 是否存在。在 Docker 中,请确认已正确传入 --device 选项。
选错了 GPU
在同时配备 AMD 集成显卡和 Radeon 的机器上,PyTorch 可能会识别到两个设备。请参考 rocminfo 显示的顺序,使用 HIP_VISIBLE_DEVICES 将其限定为独立显卡。
ComfyUI Desktop 中没有 AMD 选项
驱动过旧、安装程序版本早于 ROCm 支持,或显卡不在兼容性矩阵中。请更新 Adrenalin 和安装程序,然后重新检查兼容性。
添加节点后 ComfyUI 改在 CPU 上运行
某个节点重新安装了 torch。请使用 pytorch.org 提供的命令重新安装 PyTorch ROCm,然后检查 torch.version.hip。
Windows 下的旧款 Radeon
ComfyUI 支持配合 torch-directml 包使用 --directml 选项。但 README 称其支持有限:请仅将其用于故障排查。若要在 RX 6000 上长期使用,Linux 仍是最可靠的方案。
终端——绕过变量示例(Linux)
# Carte RDNA 2 non listée (ex. RX 6700 XT), selon le README de ComfyUI
HSA_OVERRIDE_GFX_VERSION=10.3.0 python main.py

# Carte RDNA 3 non listée (ex. RX 7600)
HSA_OVERRIDE_GFX_VERSION=11.0.0 python main.py

# N'utiliser que le premier GPU listé
HIP_VISIBLE_DEVICES=0 python main.py

#显存不足:实用设置

在 AMD 上,显存不足表现为“HIP out of memory”之类的错误,而不是“CUDA out of memory”。解决办法与 NVIDIA 上相同:首先调整 ComfyUI 的启动选项,其次是选择合适的模型和分辨率。

--lowvram
将模型拆分并分块加载。速度较慢,但可以容纳更大的模型。
--novram
在 --lowvram 仍不够用时,进一步降低显存占用。
--reserve-vram
预留一定量的内存(以 GB 为单位),ComfyUI 不会占用这部分。当显示器、浏览器或其他程序共用同一张显卡时很有用。
--cpu-vae
将 VAE 解码转移到处理器上进行。VAE Decode (Tiled) 节点是另一种方案,它以分块方式继续在 GPU 上运行。
分辨率与批次
在更换模型之前,先降低图像尺寸或每批次的图像数量:解码过程中占用的内存会随之增加。
量化模型
多个大型图像模型都有精简版本(FP8,或通过专用节点使用的 GGUF)。在依赖它们之前,请确认你的 PyTorch ROCm 版本支持该格式。
PYTORCH_HIP_ALLOC_CONF
相当于 AMD 版的 PYTORCH_CUDA_ALLOC_CONF。设为 expandable_segments:True 可能会减少显存碎片;实际效果取决于 PyTorch 版本。
终端——节省内存的启动方式
python main.py --lowvram --reserve-vram 1

# Variante : allocation moins fragmentée
PYTORCH_HIP_ALLOC_CONF=expandable_segments:True python main.py --lowvram

ComfyUI 的 README 还提到一个环境变量 TORCH_ROCM_AOTRITON_ENABLE_EXPERIMENTAL=1,需与 --use-pytorch-cross-attention 配合使用,可在部分 AMD 显卡上启用更节省显存的注意力机制。该功能仍属实验性质;如果引发错误,请先移除它,再排查其他原因。

!
带集成显卡的 Ryzen:请检查分配的内存
在带集成 GPU 的 Ryzen 处理器上,ComfyUI 可见的内存取决于 BIOS 或 AMD 软件中为显卡预留的份额。默认值过低时,即使机器内存充足,也会引发内存错误。在怪罪模型之前,请先检查这项设置。

#本指南不承诺的内容

本指南未进行任何速度测试,因此您在这里既找不到渲染时间,也找不到与 NVIDIA 显卡的对比。ComfyUI 在 AMD 上的性能取决于显卡、ROCm 版本、PyTorch 版本、模型以及注意力选项:缺少这些信息的孤立数字对您毫无参考价值。上文的命令依据 AMD 和 PyTorch 的文档以及 ComfyUI 的 README 编写;至于版本号,则有意留给您到这些来源中自行查看,因为它们的变化速度比指南更新快。

还要记住,自定义节点大多是为 CUDA 编写的。其中一些会调用 NVIDIA 专有的库,即使 ComfyUI 本身运行正常,它们在 Radeon 上也会失败。在安装复杂的工作流之前,请在每个节点的代码仓库中确认是否提及 ROCm 或 AMD。

#深入了解

当 ComfyUI 在您的 Radeon 上正常运行后,以下指南可作为安装后的延伸:界面入门、如果您还想运行 LLM,可参考针对 Ollama 的同类 ROCm 配置工作,以及最常见 AMD 显卡的介绍页。

这份指南对您有帮助吗?

有反馈、发现了错误,或想补充说明?请告诉我们,让这份指南对每个人都更有帮助。