취미 기록용 블로그

rx9070 + wsl + rocm6.4 + pytorch2.6 ComfyUI 구동하기

rocm 공식문서에 9070지원은 표기되어 있지 않지만 깃헙에서 6.3.1에서 작동하는걸 확인했다는 글을 보고 wsl + rocm6.4 + ComfyUI 시도를 해봤습니다.

9070 그래픽카드 드라이버는 Adrenalin 25.4.1 (Optional) 을 사용했습니다.

1. 설치

wsl --install Ubuntu-24.04

터미널 창을 열어서 wsl 설치를 합니다. 우분투 24.04 버전을 기준으로 작성되었으며 만약 다른 버전에서 사용할려면 아래에 나올 설치 파일들 링크를 해당 우분투 버전에 맞게 수정하셔야 합니다. (wsl 설치와 실행에 관한건 다른 사이트를 참고하세요. 여기서는 다루지 않을께요.)

sudo apt update -y
sudo apt upgrade -y

처음 설치시 업데이트 하는게 많을겁니다. 업데이트를 합니다.

wget -P /tmp https://repo.radeon.com/amdgpu-install/latest/ubuntu/noble/amdgpu-install_6.4.60400-1_all.deb
sudo apt install /tmp/amdgpu-install_6.4.60400-1_all.deb -y
sudo amdgpu-install -y --usecase=wsl,rocm --no-dkms

리눅스용 그래픽드라이버를 설치해줍니다. (드라이버 파일을 /tmp 폴더로 받게 했는데 이걸 그냥 유저 홈폴더에 받아서 실행하면 폴더권한 문제로 드라이버가 제대로 설치 안됩니다)

sudo apt install python3-pip python3-venv -y

파이썬은 기본으로 깔려있어서 pip랑 venv를 추가로 설치해 줍니다.

git clone https://github.com/comfyanonymous/ComfyUI.git
cd ComfyUI

ComfyUI를 다운받고 해당 폴더로 이동합니다.

python3 -m venv venv
source venv/bin/activate

파이썬 가상환경을 생성하고 활성화 해줍니다.

pip3 install --upgrade pip wheel

정확히 wheel이 하는 용도는 모르지만 암튼 필요하답니다. 그래서 설치해줍니다. (그리고 pip 업그레이드도 해줍니다)

pip3 install -r requirements.txt
pip3 install onnxruntime piexif

첫번째줄은 ComfyUI 구동에 필요한 패키지를 설치하는거고 두번째 줄은 제가 쓰다 보니 저거 요구하는 노드들이 많길래 추가한 항목입니다.

pip3 uninstall torch torchvision torchaudio numpy -y

ComfyUI 설치시 기본으로 설치된 파이토치랑 토치비전, 토치오디오, numpy를 삭제합니다. 삭제하는 이유는 엔비디아 그래픽카드 쓰면 저걸로도 잘 돌아가는데 라데온은 AMD가 제공하는 버전을 써야 해서 삭제합니다.

url_torch='https://repo.radeon.com/rocm/manylinux/rocm-rel-6.4/torch-2.6.0%2Brocm6.4.0.git2fb0ac2b-cp312-cp312-linux_x86_64.whl'
url_torchvision='https://repo.radeon.com/rocm/manylinux/rocm-rel-6.4/torchvision-0.21.0%2Brocm6.4.0.git4040d51f-cp312-cp312-linux_x86_64.whl'
url_torchaudio='https://repo.radeon.com/rocm/manylinux/rocm-rel-6.4/torchaudio-2.6.0%2Brocm6.4.0.gitd8831425-cp312-cp312-linux_x86_64.whl'
url_triton='https://repo.radeon.com/rocm/manylinux/rocm-rel-6.4/pytorch_triton_rocm-3.2.0%2Brocm6.4.0.git6da9e660-cp312-cp312-linux_x86_64.whl'

pip3 install $url_torch $url_torchvision $url_torchaudio $url_triton numpy==1.26.4

amd 리포에 있는 토치, 토치오디오, 토치비전을 설치합니다. numpy는 amd 사이트에서 저 버전 쓰라고 명시되어 있습니다.

location=`pip show torch | grep Location | awk -F ": " '{print $2}'`
rm ${location}/torch/lib/libhsa-runtime64.so*

마지막으로 특정 라이브러리 파일을 삭제해야 하는데 wsl 관련해서 필요한 작업이라고 합니다.

2. ComfyUI 실행

source venv/bin/activate
python3 main.py --cpu-vae --highvram --preview-method auto

ComfyUI 폴더로 이동해서 위 내용을 입력하면 ComfyUI가 실행되는것을 볼 수 있습니다.

obsessionIllustrious_vPredV11 모델로 1024×1024 해상도에 28스텝으로 생성하는데 약 50초가 걸리는데 그중 vae 디코딩이 25~30초 소비합니다. (중간에 87초 넵튠 이미지는 해상도를 변경해서 일시적으로 늘어난거임)

vae 디코딩이 오래 걸리는 이유는 –cpu-vae 옵션 때문인데 구버전 그래픽카드 드라이버 사용시 이 옵션을 사용하지 않으면 vae 디코딩시 시스템이 다운되는 증상이 발생합니다. (맨위에 적은 드라이버 에서는 정상 작동했습니다)

추후에 rocm이 업데이트 하면서 해결될지 안될지는 모르겠지만 암튼 현재까지는 그리 좋은 퍼포먼스를 보여주지 못하고 있습니다.

3. 주의 사항

모든 파일은 wsl 내부에서 진행해야 하고 절대로 모든파일을 ‘/mnt/c/경로’ 이런식으로 wsl 외부 윈도우 파일시스템에서 불러오면 안됩니다. (체크포인트, 로라등등)

저도 처음에는 Zluda 버전으로 세팅해놓은거에 맞춰서 설정파일과 모델파일을 공유해서 작동하도록 세팅을 했었는데요… WSL이랑 윈도우 파일시스템 사이 IO 작업에 엄청난 오버헤드가 있는지 처음 ComfyUI 실행하고 첫 이미지 생성시 약 10분이 소비됩니다. (모델파일을 wsl 내부 공간에서 읽으면 50초내로 생성되고요)

저는 처음에만 오래 걸려서 이게 Zluda 캐시 생성하는거랑 같은 작업인줄 알았는데 아니였습니다. (rocm 버그도 아니였고요. 덕분에 하루 삽질했네요)

참고로 램32기가를 추천드립니다. 16기가에서 하면 wsl이 먹는거랑 cpu-vae 인코딩 부분에서 램 먹는거 때문에 가끔씩 중간에 램 부족해서 뻗는 증상 나왔습니다.

4. 사족..

– 이 글 작성하는 와중에 pyTorch 2.7이 정식 릴리즈 했네요. 얼마 지나면 AMD 공홈 리포에도 pyTorch2.7 + Rocm6.4 올라오겠네요.

– ComfyUI 최신버전에서는 vae 디코딩 하다 터지면 자동으로 tiled vae로 넘어가는군요

5. 참조 사이트

https://rocm.docs.amd.com/projects/radeon/en/latest/docs/install/wsl/install-pytorch.html

https://www.reddit.com/r/ROCm/comments/1ep4cru/rocm_613_complete_install_instructions_from_wsl/?rdt=33793


Comments

5의 “rx9070 + wsl + rocm6.4 + pytorch2.6 ComfyUI 구동하기”에 대한 답변

  1. null 아바타
    null

    윈도우 환경에선 호환되는 토치 버전이 낮아서 리눅스 환경 구축하면서 많은 도움이 됐습니다 감사합니다!

    1. Linsoo 아바타

      넵~

  2. 참치 아바타
    참치

    상시 AI를 돌릴 서버로 HX370 미니PC(GMKtec evo-x1) +4090 Oculink로 Stable Diffusion이나, ComfyUI나 그걸 이용해 WAN2.1로 비디오도 뽑고 하다가. 상시 사용할 LLM 서버에 꽂혀 4090을 팔고, 판 돈으로 hx395+(GMKtec evo-x2) 랑 hx370에 물릴 eGPU로 7900xtx를 구매해 구축 후, Zluda 관련 검색하다가 우연히 방문하게 됐습니다.

    마침 9070xt로 이미지 생성 시간을 알려주셔서 7900xtx(gfx1100)랑 비교가 될 거 같아서 해 봤는데요.

    1024×1024, 28 steps, Eular a, 동일 체크포인트 모델 기준으로 생성 시 16-17초가 나옵니다. (1.7-8it/s)
    단 소모전력 등을 좀 튜닝해서 350W 컷을 건 상태입니다. ROCm은 6.2 버전이고, 아드레날린 드라이버는 25.3.1 입니다.

    ROCm은 25Q3에 Ryzen AI iGPU (gfx1150 이후)를 지원하는 버전이 윈도우 용으로도 같이 출시된다고 하는데, 말인즉슨 현재 시점에서 파일을 대체하며 ROCm 대응을 시키는 상황에서는 hx370+7900xtx 등을 동시에 한 플랫폼에서 지원하는 방법이 없다는 이야기기도 합니다. 이 때문에 25Q3에 출시될 HIP 6.4 이후 버전을 설치해야 동시 지원이 될 듯 하니. 이후를 기대하게 됩니다.

    단순 AI용 연산으로는 7900xtx 는 현재 4080과 비슷한 성능을 지금도 내 주고 있어서, VRAM도 24기가고, 전성비 빼고는 크게 꿀리지 않는다는 느낌이지만, 여전히 간단한 설치 방법이나, 유지보수 (드라이버 업데이트로 인해 HIP 및 ROCm이 찐빠가 난다던가) 의 문제를, 이미 멀쩡한 AI 플랫폼을 사용하면서 트러블 슈팅을 해보지 않은 사람이 문제를 해결하면서 쓰기엔 추천하기엔 어려운 구조긴 합니다.

    9070xt는 사실 AI로만 보면 VRAM 대역폭이라던가, 현재도 자주 쓰이는 FP16기준으론 7900xtx에 비해 열세긴 하지만, 전성비적 이득이 있고, 미래에 INT4 연산이 주류가 되는 경우에는 AI에서도 두각을 보일 가능성이 있고, 게임 한정해서 본다면 FSR4때문에라도, 7900xtx에 눈을 돌릴 이유가 없긴 합니다.

    역으로 현 시점서 AI를 본다면, 그리고 어느 정도 삽질을 좋아하는 케이스라면, 7900xtx가 신품가격이 현재 80만원대고, 약간 눈을 낮춘다 해도 7900xt 가 40만원대라서. AI에 흥미를 갖고, 머신러닝이 아닌 사용에만 집중한다면 AMD도 요즘은 괜찮지 않나. 생각만 해 봅니다. 이미 개인과 지인 용도로 LLM+이미지 생성 등의 AI서버를 굴리는 입장서, 약 150만원 미만에 7900xtx+egpu+7840HS 또는 HX370 미니PC를 구매할 수 있기 때문에. 괜찮은 쓸만한 입문기가 아닌가 싶네요. 개인적으론 이제와선 추천에 가장 장벽이 되는건 AMD 특유의 고주파음이지만요.

    1. Linsoo 아바타

      저는 9070에 한해서 올해는 좀 그렇고 내년은 되야 좀 쓸만해지지 않을까 생각합니다.
      OOM문제도 아니고 그냥 연산하다가 죽어버리는 문제가 자주 발생해서(이 글 작성했던 4월기준) 9070은 ai 연산 포기하고 현재는 780m으로 뽑고 있습니다.
      780m으로 뽑아도 저전력(80w 수준)에서 위 조건에서 대략 70초 정도 걸리거든요.

    2. 참치 아바타
      참치

      전성비라는 점에서 봤을 때 395+를 그런 이유로 기대하고 있기도 합니다.

답글 남기기

이메일 주소는 공개되지 않습니다. (이름과 이메일은 안써도 됩니다)

이 사이트는 Akismet을 사용하여 스팸을 줄입니다. 댓글 데이터가 어떻게 처리되는지 알아보세요.