标签 AMD GPU 下的文章

最近发现 ComfyUI 终于支持 AMD 显卡了,之前都是在 Debian 用 ROCm 跑这个,但是双系统有点麻烦,发现 ComfyUI 支持之后,就赶紧体验了一下,下载了 ComfyUI Desktop

结果跑了好几个模板工作流都不行,表现为:点击运行后,提示 disconnect,再点击运行就提示 TypeError: Failed to Fetch,日志也无法查看,此时就推测是后端崩溃了,但是 Desktop 版本不够灵活,好像没办法直接看 ComfyUI 后端,于是切换了 GitHub 上构建的 Portable 版本。

切换到 Portable 版本后,发现问题还是一样,点击运行后,确定后端崩溃,但是没有任何报错,就像程序被正常退出一样,此时就感觉有点迷惑,不知道怎么定位问题,然后就去问了下 Gemini , Gemini 的回答是 Python 是 静默崩溃 (Silent Crash)底层 C++ 库(PyTorch/ROCm)崩溃或者显卡驱动触发了保护机制(TDR)强制杀死了进程 ,要嘛是显存爆了,要嘛就是 bf16 兼容性问题,然后给了一些没啥用的解决方案。

没办法,只能老办法,去 GitHub 上看 issue ,看看有没有相同情况的人,幸运的是正好找到了差不多情况的,Confyuai AMD GPU crash - AMD Radeon RX 6650 XT: failed to run amdgpu-arch binary not found. · Issue #11524 · Comfy-Org/ComfyUI · GitHub , 看到下面有个回复说到他的 RX6600XT 用了别人构建的 ROCm 运行的很好,于是我就想到了极有可能是 Python 的 cuda 模块并不能正常运行,我就用 Portable 内嵌的 Python 环境(也就是 ComfyUI 使用的 Python 环境)进行了测试:

#ComfyUI_windows_portable\python_embeded>python.exe print(torch.cuda.is_available()) # True print(torch.cuda.get_device_name(0)) # AMD Radeon RX 6600 XT 

这么一看,好像 cuda 没有什么问题?但是当我换另外一种方法测试,就发现问题所在了:

x = torch.rand(50000, 30000).cuda() 
print(x) # 崩溃了! 

这下可以确定是 cuda 的问题了,直接用 GitHub - guinmoon/rocm7_builds: My own ROCm windows builds from TheRock repository for various architectures such as 680m, 780m, rx6600, etc. 重装 ROCm 和 torch。

#注意用 ComfyUI 内嵌的 Python 环境去安装依赖
ComfyUI_windows_portable\python_embeded\python.exe -m pip install "rocm-7.2.0.tar.gz" "rocm_sdk_libraries_custom-7.2.0-py3-none-win_amd64.whl" "rocm_sdk_devel-7.2.0-py3-none-win_amd64.whl" "rocm_sdk_core-7.2.0-py3-none-win_amd64.whl"

ComfyUI_windows_portable\python_embeded\python.exe -m pip install "torch-2.9.1+rocmsdk20251203-cp312-cp312-win_amd64.whl" "torchaudio-2.9.0+rocmsdk20251203-cp312-cp312-win_amd64.whl" "torchvision-0.24.0+rocmsdk20251203-cp312-cp312-win_amd64.whl"

安装完之后,重试一下

x = torch.rand(50000, 30000).cuda() 
print(x) # 正常输出 

完美解决,ComfyUI 也能正常生图了,不会再出现静默崩溃的情况了。


📌 转载信息
转载时间:
2026/1/14 18:31:29