ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • AMD GPU의 Stable diffusion 설치 with ZLUDA
    Art 2024. 6. 11. 23:21
    반응형

    Stable diffusion이란

    간단히 글자를 그림으로(text to image)으로 만들어주는 프로그램입니다. 

    Stable diffusion으로 그린 그림

    ZLUDA

    NVIDIA의 GPU용으로 설계된 프로그램을 다른 GPU에서 실행할 수 있게 해주는 프로그램입니다. AMD GPU를 잘 사용할 수 있게 해 줍니다. 현재 Intel i5-12400F 프로세서와 AMD RX 6700XT 12G 그래픽 카드를 사용하고 있는데, 이전에는 작은 크기의 이미지 생성에만 그쳤고, 자주 메모리 부족 오류가 발생했습니다. 그러나 ZLUDA를 사용한 후로는 이미지를 나쁘지 않게 생성할 수 있게 되었습니다. 

    세팅방법

    1. GPU 드라이버를 최신버전으로 업데이트합니다. 

    2. GIT의 설치

    GIT은 분산 버전 관리 시스템으로, 소스 코드 관리와 협업을 용이하게 만들어줍니다.

    GIT 다운로드 페이지(https://www.git-scm.com/download/win)에 접속하여 GIT 설치파일을 다운로드합니다.

    설치는 Next, Install, Finish만 누르면 됩니다(기본 설정으로 설치).

    GIT의 설치 과정

    3. Miniconda 설치

    Stable diffusion을 실행할 때 필요한 개발 도구입니다.

    Miniconda 다운로드 페이지(https://docs.anaconda.com/free/miniconda/)에 접속하여 설치 파일을 다운로드합니다.  

    다운로드한 설치 파일을 실행하면 설치 마법사가 실행됩니다. 설치 진행 중 "Add Miniconda3 to my PATH environment variable" 항목에 체크하시고, 나머지 설정은 기본값으로 두고 설치를 진행하시면 됩니다.  
    Stable diffusion은 Python 3.10.6 버전에서 정상 작동하는데, 보통 설치되는 파이썬은 최신버전인 Python 3.12.3입니다. 파이썬을 다운그레이드해야 합니다. Miniconda3을 설치하시면 시작화면에 Anaconda prompt가 추가됩니다. 이를 실행하고 아래 코드를 입력합니다. 그리고 중간에 y를 입력하고 기다리면 다운그레이드가 완료됩니다. 

    conda install python=3.10.6

     

    설치가 다 된 후 파이썬 버전을 확인해 봅니다. 다음 코드를 입력하면 파이썬 버전을 확인할 수 있습니다. 

    python --version

    파이썬 다운그레이드 과정

    4. ROCm 설치

    AMD의 GPGPU 소프트웨어 스택 및 HPC 플랫폼입니다.

    HIP SDK 다운로드 페이지(https://www.amd.com/en/developer/resources/rocm-hub/hip-sdk.html)에 접속하여 OS에 맞는 HIP SDK를 다운로드하여 설치하시면 되겠습니다. 다운로드하실 때는 웹페이지의 파란색 HIP SDK 글자를 클릭한 후 다음 페이지에서 Accept를 클릭하면 자동으로 다운로드가 진행됩니다. 다운로드한 파일을 실행하고 설치 버튼을 클릭한 후 기다리면 설치가 완료됩니다. 

    5. ZLUDA의 설치

    https://github.com/lshqqytiger/ZLUDA/releases/ 링크로 들어가서 ZLUDA-windows-amd64.zip 파일을 다운로드합니다. ZLUDA는 압축만 풀면 됩니다. 

    6. Path 경로 설정

    ZLUDA와 ROCm의 설치가 완료되었으면, 시스템 환경 변수에 두 가지를 추가해주어야 합니다. 

    먼저 "시스템 환경 변수 편집"으로 들어갑니다.

    그러면 "시스템 속성" 창이 뜨는데 고급 탭의 "환경 변수"를 클릭합니다. 그러면 "환경 변수" 창이 뜨는데 아래쪽의 "시스템 변수"에서 "Path" 항목을 찾아 편집을 누릅니다. "환경 변수 편집" 창이 뜨면 다음의 2가지를 추가해 줍니다. 

    Zluda가 설치된 경로(저는 "C:\SD\zluda" 폴더에 설치를 하여서 같은 경로를 추가하였습니다)
    %HIP_PATH%bin

    7. Stable diffusion의 설치

    이제 Stable diffusion을 설치합니다. Stable diffusion web UI for AMDGPUs를 설치할 것입니다. 

    Anaconda prompt에서 다음 코드를 입력하면 자동으로 설치가 됩니다.

    git clone https://github.com/lshqqytiger/stable-diffusion-webui-directml.git

     

    이후 다음을 입력하여 Stable diffusion 이 설치된 폴더로 이동한 후 webui.bat를 실행시키면 설치가 마무리되게 됩니다. 이 작업은 시간이 상당히 걸릴 수 있으며, 작업이 끝나면 stable diffuions이 실행됩니다. 

    폴더 이동 : cd stable-diffusion-webui-directml(기본 폴더)
    실행 : webui.bat

    8. 파일 이동

    Zluda 사용을 위해 2가지 파일을 교체합니다. 

    C:\Users\사용자이름\SD\stable-diffusion-webui-directml\venv\Lib\site-packages\torch\lib

    먼저 위 폴더에 있는 cublas64_11.dllcusparse64_11.dll 파일을 삭제합니다. 

    이후 Zluda를 설치한 폴더에 있는 cublas.dll과 cusparse.dll 파일을 위 폴더로 이동한 후 cublas64_11.dll과 cusparse64_11.dll로 각각 파일이름을 변경합니다. 

    9. Stable diffusion 실행

    이제 ZLUDA를 사용하여 stable diffusion을 실행합니다. 

    Anaconda prompt에서 다음을 입력하여 Stable diffusion을 실행시킵니다. 

    webui.bat --use-zluda

    Stable diffusion을 처음 실행하여 이미지를 생성할 때에는 시간이 20~30분 정도 걸릴 수 있습니다. 이는 초기 설정 및 캐싱과정 때문이므로 기다리시면 됩니다. 이후부터는 이미지 생성 시간이 크게 단축될 것입니다. 

    ※ Stable diffusion 실행 시 "gfx1031" 관련한 오류가 발생한다면, 다음 단계를 따라 문제를 해결할 수 있습니다. 

        1. gfx1031.zip 파일 다운 : 다운로드 페이지(https://github.com/LostRuins/koboldcpp/issues/441)에 접속하여

            파일을 다운로드합니다. 

        2. 다운로드한 파일의 압축을 해제합니다. 압축 해제한 파일들을 다음의 결로에 복사합니다.

            "C:\Program Files\AMD\ROCm\5.7\bin\rocblas\library"

            이 경로는 기본 설치 폴더이며, 다른 경로에 ROCm을 설치한 경우 해당 경로를 사용합니다. 

    ※ NVIDA의 GPU를 사용하시는 경우 위의 1, 2, 3, 7번 과정을 진행하고 Anaconda prompt에서 "webui.bat"를 입력하여 실행하시면 됩니다. 

     

    반응형

    'Art' 카테고리의 다른 글

    노래 가사로 그림을 그려보자 with Stable Diffusion  (0) 2024.06.21

    댓글

Designed by Vitual Stylist