참고: https://arca.live/b/aiart/71559091 / (중요) 4000번대 그래픽카드 최적화 하는 법 by 상처에과산화


Step 1 - True


4090 사고 좋아했는데 레딧의 양덕들은 4090 가지고 30 it/s 넘는 속도를 뽑는 다길래, 그림은 안 뽑고 종일 설정만 만졌어.

참고글이 설명을 잘 해놔서 요약도 의미없고 주의사항 및 약간의 팁만 추가하자면,


1+2. Stable diffusion web ui 파이토치 + 쿠다 버전 바꾸기

venv 폴더 삭제 후

https://pytorch.org/get-started/locally/ 에서 복사할 때 pip3 대신 pip 로 수정해서 붙여넣어야 하고

notepad webui-user.bat

webui-user.bat 에서 다음 문장 추가하고 실행 (rem 은 주석) 


set COMMANDLINE_ARGS=--xformers

set TORCH_COMMAND=pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu118


rem https://pytorch.org/get-started/locally/


3. cudnn 8.7.0 이상 사용하기

- 그래픽 카드 드라이버 업데이트

- cuDNN 최신 버전(cuda11. cudnn-windows-x86_64-x.x.x.x_cuda11-archive)을 받아 bin 폴더의 dll을 (webui 설치폴더)\venv\Lib\site-packages\torch\lib 에 덮어씌우기 (레딧)



4. xformers 자기 환경에 맞게 컴파일 해서 사용하기

4-3. cmd 에서는 다음과 같이 입력(참고글은 Powershell 기준)

venv\Scripts\activate

 

(보통은 폴더명이 webui 가 아니고 stable-diffusion-webui 일거야)


4-4

pip uninstall xformers --yes


4-5. cuda 11.8 설치

windows 10 이면 이거 받으면 됨

https://developer.nvidia.com/cuda-11-8-0-download-archive?target_os=Windows&target_arch=x86_64&target_version=10&target_type=exe_local



설치할 때 Development, Runtime, Visual Studio Integration 빼고 다 체크 해제


4-6. C++ 용 빌드 툴

https://visualstudio.microsoft.com/ko/visual-cpp-build-tools/

필요없는 것도 있을텐데 홧김에 다 설치했어

재부팅 필요


다시 cmd 로 들어가서 stable-diffusion-webui 경로에서 다음을 입력하여 (venv) 띄우기

venv\Scripts\activate


4-7 ~ 4-13

pip install ninja setuptools wheel


cd repositories

git clone https://github.com/facebookresearch/xformers.git --recurse-submodules


setx NVCC_FLAGS "-allow-unsupported-compiler"

cd xformers


python setup.py build

python setup.py bdist_wheel


cd dist

pip install 치고 '탭'키 누르고 엔터


pip list


# pytorch 2.0 및 나머지 build 제대로 되었는지 확인

tb-nightly              2.13.0a20230312

torch                   2.1.0.dev20230311+cu118

torchaudio              2.0.0.dev20230312+cu118

torchvision             0.15.0.dev20230312+cu118

wheel                   0.38.4

xformers                0.0.17+b6be33a.d20230313




이렇게 했더니 1 같은 이상한 속도에서 10 it/s 까지 올리는데는 성공?했어.


Step 2 - False

다음으로 gpu 스케줄링을 추천받아서 적용했는데

이거 켜고 재부팅해서 뽑으니까 속도가 오히려 8 it/s 정도로 줄어들더라.



Step 3 - False

모델이 수백GB 먹고 있으니 HDD 에 넣어뒀는데, 여기서 병목이 걸리나? 싶어서 

모델이랑 VAE 만 SSD 로 옮겨서 다시 뽑았으나 속도에는 영향이 없다.  오히려 0.5 it/s 쯤 떨어진 느낌.



Step 4

방법이 뭐가 있는 지 찾는 중..