개요
범위: Windows + AMD Radeon GPU 에 ComfyUI 를 ZLUDA 경유로 깔고, 첫 이미지가 떨어지는 지점까지. 커스텀 노드 작성·워크플로 설계는 다른 글에서.
대상: 로컬 이미지 생성 AI 를 돌리고 싶은데 NVIDIA GPU 가 없는 사람. AMD GPU 로 처음 세팅하거나, DirectML / WSL ROCm 에 실망하고 대안을 찾는 사람.
전제: git · PowerShell · Python venv 기본. CUDA 내부는 몰라도 됨. HIP / ROCm 은 이름만 들어봤으면 충분.
이 글이 기준으로 잡는 실기 환경.
| 항목 | 값 |
|---|---|
| OS | Windows 11 Pro |
| GPU | AMD Radeon RX 9070 XT (RDNA 4, gfx1201, 16GB VRAM) |
| Python | 3.12.10 (py -3.12 명시 호출) |
| HIP SDK | 6.4.2 (ROCm 6) |
| ZLUDA | nightly rocm6 빌드 |
| 포크 | patientx/ComfyUI-Zluda |
다른 AMD GPU 라도 RDNA 2 / 3 / 4 계열이면 같은 경로로 작동. HIP SDK · ZLUDA 조합은 ZLUDA 릴리즈 노트에서 확인.
배경
ComfyUI
ComfyUI 는 노드 기반 파이프라인 에디터다. 같은 그래프를 JSON 으로 저장·공유할 수 있어서 프롬프트만 공유하는 것보다 재현 가능성이 훨씬 높다. 커스텀 노드로 외부 API 호출 · LoRA 체이닝 · ControlNet 같은 걸 필요한 만큼 붙일 수 있다. Automatic1111 · SD.Next 의 버튼·슬라이더 UI 에 비해 첫 러닝 커브는 가파르지만, 익숙해지면 버튼 UI 로 돌아가기 어려워지는 쪽.
AMD GPU 에서 PyTorch 돌리는 경로
| 경로 | 속도 | 호환성 | 특징 |
|---|---|---|---|
| DirectML | 네이티브의 1/3 ~ 1/2 | 높음 | Microsoft · AMD 공식. 일부 연산자 누락 |
| WSL ROCm | 네이티브 근접 | 중간 | Linux 호출. Windows ↔ WSL 경계로 모델 · VRAM 공유 번거로움 |
| ZLUDA | 네이티브 수준 | 높음 | CUDA API → HIP 번역. CUDA 전용 라이브러리를 거의 수정 없이 돌림 |
ComfyUI 커스텀 노드 생태계는 CUDA 특정 코드를 많이 포함한다. ZLUDA 는 그 코드를 AMD GPU 용으로 재빌드할 필요 없이 그대로 굴려 줘서 커스텀 노드 호환 폭이 가장 넓다. ComfyUI · AMD · ZLUDA 조합을 쓰는 실질적 이유.
설치 방법
7 단계. 12 는 시스템 준비, 3 이 핵심 설치, 46 이 마무리, 7 은 설치 후 유지 규칙.
1. 사전 준비
Windows Defender 폴더 예외 등록. ZLUDA 의 일부 DLL 이 Trojan:Win32/Pomal!rfn 로 오탐된다. 예외 없이 진행하면 설치 중간에 DLL 이 조용히 격리되고, 끝났을 때 어디서 어긋났는지 단서가 없다.
관리자 PowerShell:
Add-MpPreference -ExclusionPath "C:\path\to\ComfyUI"왜: ZLUDA DLL 이 격리되면 디버그 단서가 없어서.
HIP SDK 6.4.2 설치. AMD 공식 다운로드 페이지에서 6.4.2 만 받는다. 7.x 는 금지 — ZLUDA 가 ROCm 6 전용이다 (2026-04 기준). 잘못 올리면 GPU 자체를 못 찾는 상태가 된다.
Python 3.12. 시스템 기본 py 가 3.14 여도 상관없음. py -3.12 로 명시 호출만 되면 됨. AI 생태계 휠(wheel)은 3.14 용이 아직 거의 없다.
체크포인트: py -3.12 -V 가 Python 3.12.x 출력하면 통과.
2. 클론 + venv 사전 생성
git clone https://github.com/patientx/ComfyUI-Zluda C:\path\to\ComfyUI
cd C:\path\to\ComfyUI
py -3.12 -m venv venv왜: venv 를 먼저 만들어 두는 게 결정적이라서. install-n.bat 은 venv 가 없으면 자체 생성하는데 그때 시스템 python.exe(=3.14)를 쓴다. 이후 torch 설치가 wheel 부재로 실패한다. 3.12 venv 가 미리 있으면 스크립트가 그걸 존중하고 넘어간다.
3. 설치 스크립트 실행
.\install-n.bat > install.log 2>&1약 3 분. 끝에서 ComfyUI 를 자동 실행하려 한다. 이 단계 진입 전 HIP_VISIBLE_DEVICES 환경변수를 반드시 제거. 과거 가이드는 =1 을 권장했지만, HIP 6.4.2 + 현재 ZLUDA 조합에서는 어떤 값이든 세팅하는 순간 GPU 가 숨겨진다.
왜: 이 변수 하나 때문에 No CUDA GPUs are available 로 몇 시간 태우기 쉬워서.
체크포인트: 브라우저가 http://127.0.0.1:8188 을 열고 ComfyUI UI 가 뜨면 통과. 첫 이미지 생성은 6 단계에서. 일단 창 닫고 다음 단계로.
4. 외부 모델 경로 연결 (선택이지만 추천)
체크포인트 · LoRA · VAE 를 다른 드라이브에 두고 여러 UI 에서 공유하려면 extra_model_paths.yaml 을 ComfyUI 루트에 만든다.
base_path: D:/AI/models
is_default: true
checkpoints: checkpoints/
loras: loras/
vae: vae/
controlnet: controlnet/
clip: clip/왜: ComfyUI 폴더 안 models/ 에 실제 파일을 두면 UI 를 재설치할 때마다 수 GB ~ 수십 GB 를 옮겨야 해서. D:\AI\models 에 두면 ComfyUI · SD.Next · 기타 어떤 UI 든 같은 모델을 공유.
C:\path\to\ComfyUI\models\ 의 빈 폴더들은 그대로 둬도 된다 (설치 스크립트가 만드는 스켈레톤).
5. 실행 래퍼 작성
run-comfyui.bat 를 ComfyUI 루트에 만든다.
@echo off
set TRITON_OVERRIDE_ARCH=gfx1201
call comfyui-user.batgfx1201 은 RX 9070 XT (RDNA 4) 아키텍처 이름. 다른 GPU 는 각자 값으로:
gfx1100— RDNA 3 (7900 XTX / 7900 XT 등)gfx1030— RDNA 2 (6900 XT / 6800 등)
왜: Triton 이 아키텍처를 모르면 컴파일 연산이 실패해서. 이 변수만 박아두면 정상 동작.
6. 첫 실행
run-comfyui.bat 더블클릭. 브라우저에서 http://127.0.0.1:8188. 기본 워크플로(Load Checkpoint → CLIP Text Encode → KSampler → VAE Decode → Save Image)를 그대로 두고 Queue Prompt.
첫 이미지 생성이 10~20 분 걸린다. MIOpen 이 본인 GPU 에 맞는 커널을 튜닝하는 시간이다. 캐시된 뒤에는 수 초 ~ 수십 초 단위로 떨어진다.
왜: 중간에 끊으면 튜닝이 처음부터 다시 돌아서.
체크포인트: output/ 에 png 파일이 떨어지면 환경 구축 완료.
7. 이후 유지 규칙
설치 후 관리에서 건드리면 깨지는 세 가지.
- torch 2.8+ 로 업그레이드 금지. ZLUDA 재빌드가 필요. ComfyUI-Zluda 업스트림이 대응할 때까지 대기.
- HIP SDK 7.x 로 업그레이드 금지. ZLUDA 가 ROCm 6 전용.
install-n.bat파일을 지우지 말 것. 업데이트 후 DLL 패치 복구에 계속 쓰인다.
comfyui-n.bat · comfyui-user.bat 은 시작 시 자동으로 git fetch && git pull 을 돌린다. 가끔 그 과정에서 ZLUDA DLL 패치가 덮어써진다. 그러면 아래 트러블슈팅의 cublas64_11 항목으로.
트러블슈팅
증상 — No CUDA GPUs are available 또는 Triton test failed: No CUDA GPUs are available
ComfyUI 실행 직후 로그.
원인: HIP_VISIBLE_DEVICES 환경변수가 어떤 값으로든 세팅됨. HIP 6.4.2 + 현재 ZLUDA 조합은 이 변수가 있으면 GPU 를 무조건 숨긴다. 과거 가이드의 =1 권장은 현 조합에서 반대로 작동.
해결:
- 값 확인 — cmd:
echo %HIP_VISIBLE_DEVICES%, PowerShell:$env:HIP_VISIBLE_DEVICES - 시스템 환경변수에서 변수 자체 삭제 (빈 값이 아니라)
- 새 셸 세션 또는 재부팅
재발 방지 · 확인 방법: 드라이버 · ZLUDA 업그레이드 후 GPU 못 잡으면 이 변수부터 본다.
증상 — 첫 이미지 생성이 10~20분째 돌고 있는데 멈춘 것 같아 Ctrl+C
콘솔에 진행 로그가 안 나오고, UI 의 프롬프트 큐 인디케이터도 업데이트가 없다. GPU 사용률만 올라있는 상태. “행(hang)된 건가” 싶어 취소.
원인: MIOpen 이 본인 GPU 에 맞는 convolution 커널을 처음 튜닝하는 중. 진행률이 UI 로 나오지 않아서 정지처럼 보이지만 실제로는 연산이 돈다. 튜닝 결과는 C:\Users\<user>\.config\miopen\ 에 .kdb 파일로 캐시되는데, 완료 전에 끊으면 다음 실행에도 처음부터 다시 튜닝한다.
해결:
- Ctrl+C 를 하지 않는다. 작업관리자 또는 GPU-Z 로 GPU 사용률 · 팬 속도 확인 — 0 이 아니면 돌고 있는 것.
- 튜닝 중엔 창을 내버려두고 다른 일 하기. 20분은 긴 시간이 아님 (여러 convolution shape 을 다 튜닝한다).
- 이미 끊었다면 재실행. 이전 튜닝 결과가 저장되지 않았다면 처음부터 다시 20분 대기.
재발 방지 · 확인 방법: C:\Users\<user>\.config\miopen\ 에 .kdb 파일들이 쌓이기 시작하면 튜닝이 진행 중이라는 신호. 이후 실행부터는 즉시 이미지가 뜬다. 한 번 완료해두면 같은 GPU + 같은 커널 크기에서는 재튜닝이 없다.
증상 — [WinError 126] Error loading cublas64_11.dll
comfyui-n.bat 의 torch import 단계.
원인: 시작 시 자동 git pull 이 ZLUDA DLL 패치를 덮어씀. 원본 CUDA cublas64_11 이 없으니 로딩 실패.
해결: 전체 재설치 불필요. install-n.bat 의 DLL 복사 블록 (라인 128~136 부근 — copy zluda\*.dll venv\Lib\site-packages\torch\lib\...) 만 재실행.
재발 방지 · 확인 방법: git pull 직후 ComfyUI 가 뜨지 않으면 DLL 패치부터 재적용.
증상 — 설치 중 tar.exe: Failed to open 'zluda.zip'
install-n.bat 초반 ZLUDA 다운로드 단계.
원인: Defender 가 zip 안의 DLL 을 감지해 파일 자체를 격리.
해결:
- Windows Security → Protection history 에서 격리 항목 복원
- 폴더 예외가 실제 설치 폴더를 덮고 있는지 재확인 —
Get-MpPreference | Select -Expand ExclusionPath install-n.bat재실행
재발 방지 · 확인 방법: 예외 경로에 오타·슬래시 방향 실수가 없는지 위 Get-MpPreference 로 매번 체크.
증상 — Unsupported Pytorch detected. DynamicVRAM support requires 2.8+ 경고
ComfyUI 시작 로그.
원인: torch 2.7 에 핀. ZLUDA 재빌드 전까지 업그레이드 불가.
해결: 무시. 레거시 ModelPatcher 경로로 VRAM 관리는 계속 정상 동작.
재발 방지 · 확인 방법: ComfyUI-Zluda 업스트림이 torch 2.8+ 대응하면 그때 같이 업그레이드.
증상 — CUDNNWrapper: '<NodeName>' not found to wrap 경고 (여러 줄)
시작 로그.
원인: ovum-cudnn-wrapper 가 설치되지 않은 커스텀 노드 팩(WanVideo 등)을 래핑하려 시도.
해결: 무시 가능. 경고를 없애려면 해당 커스텀 노드 팩을 설치하거나 wrapper 참조 리스트를 수정.
재발 방지 · 확인 방법: 새 커스텀 노드 팩을 지울 때 wrapper 가 그 팩을 참조하는지 같이 확인.
관련
- ComfyUI-Zluda (patientx) — 이 가이드의 기준 포크
- ZLUDA (lshqqytiger 포크) — 현재 사용 중인 CUDA → HIP 번역 레이어
- AMD HIP SDK 다운로드 — 6.4.2 공식 다운로드 위치
- ComfyUI 공식 문서 — 노드 사용법·기본 워크플로 레퍼런스