ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

ROCm GPU 识别失败怎么办?ComfyUI 报 No HIP GPUs 的 5 步排查与修复指南

2026/8/15 15:56:43 拓冰建站 浏览量
ROCm GPU 识别失败怎么办?ComfyUI 报 No HIP GPUs 的 5 步排查与修复指南 ROCm GPU 识别失败怎么办ComfyUI 报 No HIP GPUs 的 5 步排查与修复指南【免费下载链接】ROCmAMD ROCm™ Software - GitHub Home项目地址: https://gitcode.com/GitHub_Trending/ro/ROCm晚上十点你终于把 ROCm 装完rocminfo里清清楚楚列着显卡型号可一启动 ComfyUI界面直接弹出一行红字RuntimeError: No HIP GPUs are available。这种 AMD GPU 识别失败最折磨人的地方在于——系统层看着一切正常应用层就是死活不认账。别急着重装系统也别急着换发行版这篇文章带你按层拆解5 步找出问题到底出在哪一层并给出可以直接复制执行的修复命令让你今晚就能用上 GPU 跑图。别急着重装先按这张速查表定位问题在哪一层ROCm 软件栈是分层的报错往往来自某一层掉了链子。排查顺序只有一个原则从下往上哪层不过就修哪层千万不要一上来就sudo apt remove --purge rocm。层级负责什么一句话快速判断对应命令① 硬件层显卡是否被系统认出rocminfo能看到显卡型号和 gfx 编号rocminfo② 驱动层amdgpu 驱动是否在跑rocm-smi能读到温度、利用率rocm-smi --showtemp --showuse③ 运行时层HIP 运行时库能否加载ldd能找到libhsa-runtime64.soldd/echo $LD_LIBRARY_PATH④ 框架层PyTorch 是否是 ROCm 版torch.version.hip有版本号而非 Nonepython -c import torch⑤ 应用层环境变量是否生效HIP_VISIBLE_DEVICES、HSA_OVERRIDE_GFX_VERSION已导出echo $HIP_VISIBLE_DEVICES按这张表从 ① 到 ⑤ 过一遍大多数问题在 ③ 和 ④ 就能找到答案。下面先花一分钟弄懂 ROCm 认卡这件事本身再动手你就不容易瞎折腾。先弄懂 ROCm 是怎么认出GPU 的一次快递运输的比喻把GPU 被识别这件事想成一次快递派送会好理解得多GPU 是仓库硬件本身负责收货发货计算。amdgpu 驱动是仓库门口的装卸工没有装卸工仓库再大也进不去货。ROCm 运行时libhsa-runtime64.so是分拣中心把包裹按收件人分好类。PyTorch 是收件人它只认写着自己名字的包裹。ComfyUI 是最终客户客户收到货界面才会显示 GPU 可用。于是系统正常、应用报错就说得通了装卸工驱动和仓库GPU都在但收件人PyTorch拿到的包裹上写的是 CUDA 而不是 HIP分拣中心运行时地址又没对上最后客户ComfyUI自然收不到货。你看到的No HIP GPUs are available本质就是框架层和运行时层断联而不是显卡坏了。上图是 GPU 内部的计算单元CU结构——调度器、LDS、SIMD 单元协同工作。理解这个结构有助于你后面调优但排查识别问题时只需要记住它认识 GPU 不需要你做任何事问题永远出在软件中间人身上。5 步实操从 rocminfo 到 ComfyUI 跑通的完整检查流程下面每一步都给出了命令、预期结果和失败时的处理办法请按顺序执行。第 1 步用 rocminfo 确认硬件层认出 AMD GPUrocminfo | grep -E Marketing Name|gfx预期结果输出里能看到显卡名称和类似gfx1100的架构编号。如果失败说明驱动层没起来优先查内核模块lsmod | grep amdgpu或者确认安装的 ROCm 版本是否支持你的显卡型号可对照项目里的硬件支持表docs/about/include/hardware-support-table.md核对。第 2 步用 rocm-smi 确认驱动真的在干活rocm-smi --showtemp --showuse预期结果能读到 GPU 温度和利用率而不是No devices found。如果你有多张卡还可以顺手看一下卡间拓扑这对后续多卡场景很有用上图的rocm-smi --showtopo输出会显示 GPU 间的权重、跳数和链路类型如 XGMI排查多卡通信问题时它是第一手证据。第 3 步检查运行时库是否被正确加载识别问题的重灾区在这一层两个动作必做ls /opt/rocm/lib/libhsa-runtime64.so* # 运行时库是否存在 echo $LD_LIBRARY_PATH # 是否包含 /opt/rocm/lib预期结果文件存在且LD_LIBRARY_PATH里能看到/opt/rocm/lib。如果失败在~/.bashrc里补上下面两行再source ~/.bashrcexport ROCM_PATH/opt/rocm export LD_LIBRARY_PATH/opt/rocm/lib:$LD_LIBRARY_PATH注意用 apt 安装的 ROCm 组件版本必须和 PyTorch 要求的 ROCm 版本大体对齐比如 PyTorch 要求 rocm6.4就尽量用 6.x 的运行时版本跨度太大会在这一层直接失败。第 4 步在干净的虚拟环境里换装 ROCm 版 PyTorch这是最关键的一步大多数No HIP GPUs都是因为 PyTorch 装成了 CUDA 版。推荐在独立虚拟环境里操作避免污染系统 Pythonpython3 -m venv comfy-env source comfy-env/bin/activate pip install --upgrade pip setuptools wheel ninja然后卸载可能存在的标准版 PyTorch再装 ROCm 版pip uninstall -y torch torchvision torchaudio pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm6.4装完立刻验证这一步的预期结果非常明确python -c import torch; print(HIP:, torch.version.hip); print(CUDA可用:, torch.cuda.is_available())预期结果第一行打印出类似6.4的 HIP 版本号第二行打印True。如果第一行是None说明装错源了回到上一条命令重新装。第 5 步启动 ComfyUI 前补上环境变量并确认对于较新的显卡gfx 架构被官方支持第 4 步通过后直接启动即可git clone https://gitcode.com/GitHub_Trending/ro/ROCm # 参考项目结构理解 ROCm 的安装与配置不过对部分老显卡还需要显式告诉运行时用哪个架构可以临时设置export HSA_OVERRIDE_GFX_VERSION10.3.0 # 按你的 gfx 编号填写老卡常用 10.3.0 export HIP_VISIBLE_DEVICES0启动 ComfyUI 后在启动日志里看到类似device: cuda或ROCm: True的字样就说明AMD GPU 识别问题已经解决。如果你使用的是 runfile 离线安装包安装时的设备选择界面可以帮你确认架构与驱动是否匹配最容易踩的 6 个坑常见报错与解决办法速查表把实战中最高频的报错整理成一张表遇到问题直接对号入座报错/现象大概率原因验证方法解决办法No HIP GPUs are availablePyTorch 是 CUDA 版或装错源torch.version.hip为 None卸载后用--index-url .../whl/rocm6.x重装hipErrorNoDevice驱动未加载或架构未指定rocm-smi无输出检查 amdgpu 内核模块老卡补HSA_OVERRIDE_GFX_VERSIONlibhsa-runtime64.so.1: cannot openLD_LIBRARY_PATH没配置echo $LD_LIBRARY_PATH在~/.bashrc加入/opt/rocm/libgpu not supported by ROCm显卡架构过老/未被当前版本支持rocminfo看 gfx 编号对照硬件支持表或使用HSA_OVERRIDE_GFX_VERSIONComfyUI 能启动但只有 CPU环境变量未 export 到启动进程echo $HIP_VISIBLE_DEVICES用export而不是临时赋值重启终端再启动多卡只识别到一张未指定设备或拓扑问题rocm-smi --showtopo用HIP_VISIBLE_DEVICES0,1,2,3显式列出几个常用的诊断命令可以收藏备用rocminfo查看 GPU 型号、gfx 架构、内存属性rocm-smi --showuse --showtemp实时监控利用率与温度python -c import torch; print(torch.version.hip)确认 PyTorch 是否为 ROCm 版ldd /opt/rocm/lib/librocblas.so*检查运行时库依赖是否完整关于版本对照官方兼容性信息可以参考项目内的docs/release/versions.rst安装前先确认 ROCm 与 PyTorch 的版本对应关系能省掉一大半的排查时间。跑通之后验证多卡通信与性能基线单卡跑通只是第一步。如果你用的是多卡机器建议用 RCCL 自带的测试工具确认卡间通信正常再开始训练或跑图否则分布式任务会在通信环节悄悄变慢上图中的 RCCL 测试输出展示了不同数据规模下的带宽与耗时可以作为后续性能优化的基线。通信正常后再参考项目里的系统优化文档docs/reference/system-optimization/做内存与调度层面的调优。写在最后一句话总结AMD GPU 识别失败九成是软件中间人的问题而不是显卡的问题。按硬件 → 驱动 → 运行时 → 框架 → 应用的顺序从下往上排查重点检查 PyTorch 是否真的装成了 ROCm 版、LD_LIBRARY_PATH是否指向/opt/rocm/lib、环境变量是否 export 到了启动进程——这三处过了ComfyUI 大概率就能正常调用 GPU。下一步建议把验证命令整理成一个检查脚本下次换机器、升级 ROCm 时一键跑完如果遇到本文没覆盖的报错把rocminfo的输出和报错原文一起记录下来配合官方版本对照表逐项比对问题基本都能定位。祝你今晚顺利跑出第一张图。【免费下载链接】ROCmAMD ROCm™ Software - GitHub Home项目地址: https://gitcode.com/GitHub_Trending/ro/ROCm创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考