리눅스 환경에서 밥 벌어먹고 살아도 역시 윈도우에 비하면 설정 더럽고 힘듬. 쩝.

아뭏든 정상동작 확인했고 혹시 7900XT/XTX를 사고 싶은 용자(?)가 있다면 도움이 되었으면 함.

(리눅스에 대해서 어느 정도 알고 vi를 쓸 줄 아는 분들이면 좀 편할지도. 아님 말구)


성능은 512x512 생성에 14.xxit 나옴. ROCM 5.5 to 5.6은 큰 변화가 없으며 16.xxit/s로 빨라졌음.

업글 추천하며 optimization은 Doggettx 써야 함.





-----


일단 모든 순서는 이 홈페이지에 '제대로' 나와 있으니 꼭 이 방법을 따라하길 바람. 

https://are-we-gfx1100-yet.github.io/post/a1111-webui/#prerequisites


내가 한 순서는 우분투 인스톨-공식 라데온 드라이버-ROCM 5.5.1(5.6)만 따로 깜-AUTOMATIC1111(쿠다 빼고)-Pytorch2.0.1/Touchvision임.

(저 홈페이지에서는 바로 ROCM5.5와 라데온 드라이버를 같이 깔았고 이 방법이 되면 3번은 스킵 가능)


1. 먼저 우분투 22.04를(!) 깔아야 함. 23.04는 쳐다도 보지 말 것. 사유는 라데온 그래픽카드 드라이버가 필요한 커널이 22.04와 맞기 때문.

구글링 잘못해서 다른 커널 쓰다가 하루 날려 먹음.

우분투 깔고 이 명령 먹였을 때 커널이 동일하다고 나오면 일단 1번은 끝난 것임.

sudo apt-get install --install-recommends linux-generic-hwe-22.04


2. 순정 22.04에서 공식 라데온 그래픽 카드 깔음. 7900은 지원되지만 ROCM이 5.4이므로 한 번 더 작업을 해야 함. 

홈페이지와 다른 점은 모든 드라이버를 다 깔았다는 점임. 에러 없이(!) 깔리면 일단 2번 패스.

wget https://repo.radeon.com/amdgpu-install/22.40.5/ubuntu/jammy/amdgpu-install_5.4.50406-1_all.deb

sudo apt-get install ./amdgpu-install_5.4.50406-1_all.deb

amdgpu-install


3. 드라이버가 잘 깔려도 ROCM 버젼이 안 맞기 때문에 ROCM 5.5.1로 업그레이드. 

wget https://repo.radeon.com/amdgpu-install/5.5.1/ubuntu/jammy/amdgpu-install_5.5.50501-1_all.deb

sudo apt-get install ./amdgpu-install_5.5.50501-1_all.deb

sudo amdgpu-install --usecase=rocm

잘 깔리면 대망의 rocminfo가 동작함.


ROCM 5.6은 아래와 같은 방법으로. 5.5.1->5.6 업그레이드도 동일함.

wget https://repo.radeon.com/amdgpu-install/5.6/ubuntu/jammy/amdgpu-install_5.6.50600-1_all.deb    

sudo apt-get install ./amdgpu-install_5.6.50600-1_all.deb

sudo amdgpu-install --usecase=rocm


4. AUTOMATIC1111을 깔 때 아래 옵션 사용해서 cuda 부분은 다 스킵함. 

python launch.py --skip-torch-cuda-test


5. pytorch를 아래와 같은 방법으로 install하면 됨(nightly version이라고 하지만 쓸만함)

pip3 uninstall torch torchvision
pip3 install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/rocm5.5

5.1 pytorch 5.6 업그레이드. 14it/s -> 16it/s로 속도 오름.

pip3 install --pre torch torchvision torchaudio --upgrade --index-url https://download.pytorch.org/whl/nightly/rocm5.6


5. pytorch 2.0.1하고 touchvision을 컴파일해서 만듬. 위 홈페이지에서 하라는 방법 따라면 문제 없음. 시간이 엄청나게 많이 걸리고

뭔가 빼먹으면 중간에 에러가 나는데 쫄지 말고 위 홈페이지에서 하라는 설정 빠진 거 있는지 다시 확인해서 하면 됨.

참고로 파이썬 버젼때문에 파이토치 2.0.1 에러가 날 수 있는데, 텍스트 에디터로 아래 파일 열어서 아래와 같이 파이썬 버젼 체크하는 부분을 주석처리 하길 바람. 

 cmake/Dependencies.cmake 

1088   # if(${PYTHONLIBS_VERSION_STRING} VERSION_LESS 3)

1089   #   message(FATAL_ERROR

1090   #     "Found Python libraries version ${PYTHONLIBS_VERSION_STRING}. Python 2 has reached end-of-life and is no longer supported by PyTorch.     ")

1091   # endif()

1092   # if(${PYTHONLIBS_VERSION_STRING} VERSION_LESS 3.8)

1093   #   message(FATAL_ERROR

1094   #     "Found Python libraries version ${PYTHONLIBS_VERSION_STRING}. Python < 3.8 is no longer supported by PyTorch.")

1095   # endif()


여기까지 하면...기본 설정이 다 끝난 것임. 설정은 webui-user.sh에서 수정하고 아래 스크립트를 실행하면 완료.
./webui.sh


webui-user.sh는 필요한 설정을 넣으면 됨. 서버처럼 사용할 사람들은 꼭 listen 넣어야 함.

12 # Commandline arguments for webui.py, for example: export COMMANDLINE_ARGS="--medvram --opt-split-attention"

13 export COMMANDLINE_ARGS="--listen --deepdanbooru --opt-sdp-attention --medvram"

14 #export COMMANDLINE_ARGS="--listen --deepdanbooru --opt-sdp-no-mem-attention"