결론


4000번대에 효과가 확실하다고 알려진 [xformers, cuda11 dll, torch 2 및 xformers rebuild] 외에는

다 해골물이더라. 오히려 성능을 떨어뜨린다.

webui-user.bat

@echo off

 

rem git pull

 

set PYTHON=

set GIT=

set VENV_DIR=

set COMMANDLINE_ARGS=--xformers --opt-split-attention

 

rem 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/

 

call webui.bat

실행 시

venv\Scripts\activate

최대 속도

21.8177 it/s (최대 오차 범위 0.2884 it/s)

성능 상승 요인2번. --xformers 를 인수에 추가
5번. cudnn-windows-x86_64-8.8.1.3_cuda11-archive dll 교체
6번. torch 2.0, xformers rebuild

성능 하락 요인7번(해골물). nvidia 제어판(NVIDIA Control Panel)/ 3D 설정/ 3D 설정 관리/ 전역 설정/ 전원 관리 모드: "최고 성능 선호" 로 변경
8번(해골물). 크롬 브라우저/ 설정/ 시스템/ 하드웨어 가속 사용/ 비활성화

9번. xformers rebuild 후, venv\Scripts\activate 없이 실행
11번. --autolaunch 를 인수에 추가

성능과 무관한 요인1번. vae 추가 시, 오차 범위 이내 증가.

3번. --opt-split-attention 를 인수에 추가 시, 오차 범위 이내 감소.
12번. --theme dark 를 인수에 추가 시, 오차 범위 이내 감소.

잔여 RAM 관리--opt-split-attention 를 인수에 추가 하고, 
모델 로드 직후에 RAMMAP-Empty Standby List 실행 후 그림을 뽑으면
그림 뽑은 뒤에도 대기 메모리의 양이 유의미하게 적었다.


환경

HW메인보드: VGA 연결 PCIe4.0 x16
OS: Windows 10
RAM: DDR4
SSD: PCIe4.0x4 (64GT/s)
CPU: AMD PCIe4.0

OS

그래픽 설정/ 하드웨어 가속 GPU 일정 예약: 비활성화

그래픽 카드 드라이버 최신 버전 (2023-03-13 기준)

CUDA 11.8 및 C++ 빌드 툴은 이미 설치되어 있는 상태

제어판\하드웨어 및 소리\전원 옵션\전원 관리 옵션 설정 편집\고급 전원 관리 옵션: 이미 '고성능'. 세부옵션 모두 마찬가지


webUI

version: 2023-03-12 오후 11:28 시점의 최신 버전

negative 없음

실행 위치와 모델 경로 모두 SSD 에 두고 실행



index 별 성능 테스트 

매 실험 시작할 때 마다 RAMMAP Empty Standby List 실행



  1. VAE 넣었더니 Automatic 대비 vae-ft-mse-840000-ema-pruned.ckpt 에서 0.0517 it/s 증가하였다.
  2. 빌드 없이 --xformers 를 인수에 추가했더니 1.301 it/s 증가하였다.
  3. 위 조건에 --opt-split-attention 를 인수에 추가했더니 0.0763 it/s 증가하였다. 30회 실행 후 잔여 메모리가 pure webUI 와 비슷한 수준(439MB) 로 줄었다.
  4. 위 조건에 --opt-channelslast 를 인수에 추가했더니 0.7923 it/s 감소하였다.
  5. 직전 최고치 9.7673 (COMMANDLINE_ARGS=--xformers --opt-split-attention) 설정에 cudnn-windows-x86_64-8.8.1.3_cuda11-archive dll 를 넣었더니, 8.314 it/s 증가하였다.
  6. 위 조건에 'venv 폴더 삭제, torch 2.0, xformers 삭제, xformers build' 했더니, 3.7364 it/s  증가하였다. (현재 최고치 21.8177 it/s). 이 값이 지나치게 잘 나왔을 가능성이 있다.
  7. 위 조건에 'nvidia 제어판(NVIDIA Control Panel)/ 3D 설정/ 3D 설정 관리/ 전역 설정/ 전원 관리 모드: "최고 성능 선호" 로 변경' 하니, 0.482 it/s 감소하였다. 주로 Cuda 를 많이 쓰기에 3D 설정과 무관하거나 3D를 고성능으로 올릴 시 악영향을 받는 것으로 보인다.
  8. 직전 최고치 21.8177 (xformers build) 에서 '크롬 브라우저/ 설정/ 시스템/ 하드웨어 가속 사용/ 비활성화' 했더니, 0.324 it/s 감소하였다.
  9. 직전 최고치 21.8177 (xformers build) 에서 'venv\Scripts\activate 없이 실행' 하니, 0.464 it/s 감소하였다.
  10. 직전 최고치 21.8177 (xformers build) 와 동일 조건으로 실험 시, 0.2884 it/s 감소하였다. 최대 오차 범위.
  11. 직전 최고치 21.8177 (xformers build) 에서 '--autolaunch 를 인수에 추가' 하니, 0.7 it/s 감소하였다.
  12. 직전 최고치 21.8177 (xformers build) 에서 '--theme dark 를 인수에 추가' 하니, 0.1344 it/s 감소하였다. 오차 범위(0.2884) 이내로 성능에 무관하다.


실험은 batch count 30 회씩 함

                                                                                                 

index

Generate  time

옵션

효과

변화

30 평균 속도(it/s)

속도차(it/s)

0

2023-03-12 오후 11:28 

512x512. Euler a. CFG 7. Steps 20. batch size 1. batch count 30.  1girl. v1-5-pruned.ckpt.  VAE False(Automatic)

-

ui-config.json:    "txt2img/Batch  count/value": 30,

=8.3383  it/s

 

(5.02+  8.40+ 8.43+ 8.50+ 8.45+ 8.45+ 8.54+ 8.48+ 8.43+ 8.45+ 8.46+ 8.46+ 8.50+ 8.46+  8.44+ 8.49+ 8.43+ 8.36+ 8.53+ 8.46+ 8.47+ 8.49+ 8.51+ 8.39+ 8.51+ 8.47+  8.48+8.37+ 8.28+ 8.44)/30

  

RAMMAP Empty Standby List 실행

-

1

2023-03-12 오후 11:37 

512x512. Euler a. CFG 7. Steps 20. batch size 1. batch count 30.  1girl. v1-5-pruned.ckpt. VAE True

상승

VAE: vae-ft-mse-840000-ema-pruned.ckpt

=8.39  it/s

 

(7.87+  8.42+ 8.44+ 8.44+ 8.32+ 8.39+ 8.46+ 8.45+ 8.40+ 8.41+ 8.43+ 8.42+ 8.45+ 8.34+  8.44+ 8.40+ 8.41+ 8.44+ 8.43+ 8.41+ 8.33+ 8.41+ 8.44+ 8.42+ 8.38+ 8.28+ 8.42+  8.42+ 8.40+ 8.43)/30 

 

RAMMAP Empty Standby List 실행

8.39-8.3383=0.0517 증가

2

2023-03-12 오후 11:46 

512x512. Euler a. CFG 7. Steps 20. batch size 1. batch count 30.  1girl. v1-5-pruned.ckpt. VAE True. webui-user.bat 

 

set  COMMANDLINE_ARGS=--xformers

상승

set  COMMANDLINE_ARGS=--xformers

=9.6910  it/s

 

(5.17+ 9.81+ 9.95+  9.96+ 9.79+ 9.77+ 10.18+ 9.75+ 9.68+ 10.09+ 9.99+ 9.82+ 9.57+ 9.60+ 10.01+  9.81+ 9.76+ 9.89+ 9.88+ 9.62+ 9.79+ 9.92+ 9.97+ 9.94+ 9.81+ 9.83+ 9.79+ 9.73+  9.91+ 9.94)/30

 

  

RAMMAP Empty Standby List 실행

9.6910-8.39=1.301 증가

3

2023-03-12 오후 11:56 

512x512. Euler a. CFG 7. Steps 20. batch size 1. batch count 30.  1girl. v1-5-pruned.ckpt. VAE True. webui-user.bat  

 

set  COMMANDLINE_ARGS=--xformers --opt-split-attention

상승
    오차범위
 이내

--opt-split-attention

=9.7673 it/s

 

(4.98+ 9.92+  10.10+ 9.93+ 9.87+ 9.76+ 10.19+ 9.77+ 9.95+ 10.00+ 9.90+ 9.84+ 9.90+ 9.87+  10.16+ 9.66+ 9.78+ 9.80+ 9.96+ 9.71+ 9.79+ 9.85+ 10.05+ 10.21+ 10.07+ 9.95+  9.91+ 10.01+ 10.16+ 9.97)/30

 

30회 실행 후 잔여 메모리가 크게 줄었다


  

RAMMAP Empty Standby List 실행

9.7673-9.6910=0.0763 증가

4

2023-03-13 오전 12:06 

512x512. Euler a. CFG 7. Steps 20. batch size 1. batch count 30.  1girl. v1-5-pruned.ckpt. VAE True. webui-user.bat 

 

set  COMMANDLINE_ARGS=--xformers --opt-split-attention --opt-channelslast

하락

--opt-channelslast

=8.975 it/s

 

(4.94+ 9.09+ 9.18+  9.10+ 9.30+ 8.89+ 9.21+ 9.19+ 9.00+ 9.05+ 9.34+ 9.09+ 9.17+ 9.05+ 8.99+ 9.05+  9.09+ 9.20+ 9.15+ 9.17+ 8.85+ 9.25+ 9.21+ 8.96+ 9.06+ 9.14+ 9.08+ 9.07+ 9.04+  9.34)/30

 


잔여 메모리 체크 하지 않음

 

RAMMAP Empty Standby List 실행

8.975- 9.7673=-0.7923 감소

5

2023-03-13 오전 12:17 

512x512. Euler a. CFG 7. Steps 20. batch size 1. batch count 30.  1girl. v1-5-pruned.ckpt. VAE True. webui-user.bat 

 

set  COMMANDLINE_ARGS=--xformers --opt-split-attention

 

 

 

\stable-diffusion-webui\venv\Lib\site-packages\torch\lib  cudnn-windows-x86_64-8.8.1.3_cuda11-archive\bin 삽입

상승

제거[--opt-channelslast]

 

추가[cudnn-windows-x86_64-8.8.1.3_cuda11-archive dll]

=18.0813 it/s

 

(5.95+  18.26+ 18.14+ 18.27+ 18.38+ 18.32+ 18.68+ 18.85+ 17.99+ 18.25+ 18.89+ 18.41+  18.93+ 18.58+ 18.56+ 18.53+ 18.81+ 18.45+ 18.51+ 18.31+ 18.30+ 18.49+ 18.51+  18.20+ 18.26+ 18.83+ 18.68+ 18.65+ 18.77+ 18.68)/30 

 



 

 

18.0813-9.7673=8.314 증가 

6

2023-03-13 오전 1:05 

512x512. Euler a. CFG 7. Steps 20. batch size 1. batch count 30.  1girl. v1-5-pruned.ckpt. VAE True. webui-user.bat 

 

set  COMMANDLINE_ARGS=--xformers --opt-split-attention

  

torch  2.1

 

xformers  rebuild

 

build 완료  주석처리 rem  set TORCH_COMMAND

 


 

4000번대 그래픽카드 최적화 하는  

 

 

  build 완료 후 remset TORCH_COMMAND …


  

pip list 

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

 

상승

venv 폴더 삭제

torch  2.0

xformers 삭제

xformers  build

 

 

 venv\Scripts\activate 에서 실행

RAMMAP Empty Standby List 실행없이 돌렸을 

 

=21.6297  it/s

 

(10.32+ 22.12+  22.24+ 22.15+ 22.02+ 22.34+ 21.80+ 22.11+ 22.12+ 21.57+ 22.16+ 22.24+ 21.77+  22.39+ 22.68+ 21.86+ 21.67+ 22.17+ 22.53+ 21.83+ 21.77+ 22.46+ 21.60+ 22.03+  21.59+ 22.06+ 21.77+ 21.72+ 22.25+ 21.55)/30

 

--------------------------

  

RAMMAP Empty Standby List 실행  돌렸을 


=21.8177 it/s
 

(17.41+  22.26+ 21.87+ 21.75+ 21.75+ 22.39+ 21.63+ 22.34+ 21.94+ 22.00+ 22.18+ 22.03+  21.91+ 21.94+ 21.79+ 22.23+ 21.44+ 22.32+ 22.32+ 22.27+ 21.70+ 22.16+ 21.34+  21.91+ 21.90+ 22.51+ 21.20+ 21.92+ 22.54+ 21.58)/30 

 

empty  실행하니 21.8177-21.6297=0.188 it/s 증가했다.

 

이 실험에서 값이 지나치게 잘 나왔을 가능성이 있다. 

 

21.8177-18.0813=3.7364  증가

7

2023-03-13 오전 1:24 

512x512. Euler a. CFG 7. Steps 20. batch size 1. batch count 30.  1girl. v1-5-pruned.ckpt. VAE True. webui-user.bat 

 

set  COMMANDLINE_ARGS=--xformers --opt-split-attention

 

pip  list

torch  2.1.0

xformers                0.0.17+b6be33a.d20230313

venv\Scripts\activate 에서 실행

 

nvidia 제어판(NVIDIA Control Panel)/ 3D 설정/ 3D 설정 관리전역 설정전원 관리 모드: "최고 성능 선호" 로 변경

  

재부팅

  

venv\Scripts\activate 에서 실행


 

원래대로 돌리고 (전원 관리일반)

 

재부팅

하락

nvidia 제어판/ 3d 설정 관리전원 관리 모드최고 성능

모델 로드 직후

 


 

RAMMAP Empty Standby List 실행

  

=21.2083 it/s

 

(7.26+ 21.36+  21.42+ 20.31+ 21.24+ 21.50+ 21.85+ 21.99+ 21.99+ 21.57+ 21.15+ 21.84+ 22.13+  21.70+ 21.71+ 20.77+ 21.14+ 21.79+ 22.00+ 21.06+ 22.46+ 21.94+ 22.32+ 22.36+  22.02+ 21.82+ 22.41+ 21.78+ 22.07+ 21.29)/30

 

  


 

 

 

RAMMAP Empty Standby List 실행없이

 

   30 돌려도 직전 최고치보다 낮다.

=21.3357 it/s

(21.84+  21.83+ 21.81+ 22.17+ 21.78+ 21.75+ 21.62+ 20.57+ 21.54+ 21.61+ 19.92+ 21.32+  21.10+ 21.47+ 21.17+ 22.23+ 21.33+ 21.18+ 21.39+ 21.45+ 21.07+ 20.93+ 21.31+  21.20+ 21.34+ 20.67+ 20.63+ 20.78+ 21.58+ 21.48)/30 

 

21.3357-21.8177=-0.482 감소

8

2023-03-13 오전 1:50 

512x512. Euler a. CFG 7. Steps 20. batch size 1. batch count 30.  1girl. v1-5-pruned.ckpt. VAE True. webui-user.bat 

 

set  COMMANDLINE_ARGS=--xformers --opt-split-attention

  

pip  list

torch  2.1.0

xformers                0.0.17+b6be33a.d20230313

 

venv\Scripts\activate 에서 실행

  

NVIDIA 전원관리일반


크롬 브라우저설정시스템가능한 경우 하드웨어 가속 사용비활성화

약간 하락

브라우저 하드웨어 가속 끄기

RAMMAP Empty Standby List 실행

 

=21.4937  it/s

 

(6.44+  21.73+ 21.20+ 21.57+ 21.83+ 21.83+ 21.39+ 22.32+ 21.62+ 22.12+ 21.81+ 22.49+  21.62+ 22.07+ 22.72+ 21.78+ 22.32+ 22.88+ 21.92+ 22.00+ 22.24+ 21.78+ 22.85+  21.88+ 22.00+ 22.59+ 21.64+ 22.07+ 22.44+ 21.66)/30 

   


 

 

21.4937-21.8177=-0.324  감소

9

2023-03-13 오전 2:15 

512x512. Euler a. CFG 7. Steps 20. batch size 1. batch count 30.  1girl. v1-5-pruned.ckpt. VAE True. webui-user.bat 

 

set  COMMANDLINE_ARGS=--xformers --opt-split-attention

 

 

pip  list

torch  2.1.0

xformers                0.0.17+b6be33a.d20230313

 

venv\Scripts\activate 없이 실행

   

NVIDIA 전원관리일반

 

크롬 브라우저하드웨어 가속활성화

하락

(venv) 없이 실행

RAMMAP Empty Standby List 실행

 

=21.3537  it/s

 

(6.35+ 21.35+  21.97+ 21.75+ 22.16+ 21.57+ 21.92+ 21.88+ 21.75+ 21.90+ 21.48+ 22.74+ 21.72+  22.43+ 22.81+ 21.60+ 21.90+ 21.98+ 21.90+ 21.92+ 21.69+ 21.92+ 22.42+ 21.32+  21.35+ 21.78+ 21.80+ 21.82+ 21.80+ 21.63)/30

 

 


 

 

21.3537-21.8177=-0.464 감소

10

 

== 6

2023-03-13 오전 2:23 

512x512. Euler a. CFG 7. Steps 20. batch size 1. batch count 30.  1girl. v1-5-pruned.ckpt. VAE True. webui-user.bat 

 

set  COMMANDLINE_ARGS=--xformers --opt-split-attention

 

 

 

pip  list

 

torch  2.1.0

 

xformers                0.0.17+b6be33a.d20230313

 

venv\Scripts\activate 에서 실행

 

 

 

NVIDIA 전원관리일반

 

크롬 브라우저하드웨어 가속활성화

최대 오차 범위

직전 최고치와 동일한 조건에서 실행

RAMMAP Empty Standby List 실행

 

=21.5293  it/s

 

(17.60+  21.04+ 20.69+ 21.13+ 20.67+ 21.75+ 21.42+ 22.78+ 22.06+ 21.68+ 21.86+ 21.61+  21.30+ 21.92+ 21.39+ 22.18+ 21.14+ 22.04+ 22.31+ 21.44+ 21.50+ 21.90+ 20.96+  21.99+ 21.67+ 22.02+ 22.23+ 21.51+ 22.23+ 21.86)/30 

 

 

 


 

 

 

RAMMAP Empty Standby List 실행

 

=21.6643  it/s

 

(17.57+ 20.84+  21.93+ 21.29+ 20.54+ 21.84+ 21.27+ 22.13+ 21.13+ 20.77+ 21.55+ 23.20+ 21.83+  22.05+ 23.28+ 21.57+ 21.84+ 21.92+ 21.66+ 21.74+ 23.14+ 21.99+ 21.68+ 21.56+  23.02+ 21.65+ 21.40+ 21.40+ 22.11+ 22.03)/30

   


21.5293-21.8177=-0.2884 

11

2023-03-13 오전 2:33 

512x512. Euler a. CFG 7. Steps 20. batch size 1. batch count 30.  1girl. v1-5-pruned.ckpt. VAE True. webui-user.bat 

 

set  COMMANDLINE_ARGS=--xformers --opt-split-attention --autolaunch

  

pip  list

torch  2.1.0

xformers                0.0.17+b6be33a.d20230313

 

venv\Scripts\activate 에서 실행

 

NVIDIA 전원관리일반

 

크롬 브라우저하드웨어 가속활성화

하락

--autolaunch 추가

RAMMAP Empty Standby List 실행

 

=21.1177  it/s

 

(5.94+ 21.66+  21.76+ 21.78+ 22.71+ 21.04+ 21.57+ 21.56+ 21.26+ 21.75+ 22.85+ 21.08+ 22.01+  21.31+ 21.51+ 21.24+ 21.33+ 22.00+ 21.49+ 21.71+ 21.58+ 21.85+ 21.40+ 21.22+  21.57+ 22.68+ 21.34+ 21.44+ 21.87+ 21.02)/30

   


 

 

21.1177-21.8177=-0.7 감소

12

2023-03-13 오전 2:42 

512x512. Euler a. CFG 7. Steps 20. batch size 1. batch count 30.  1girl. v1-5-pruned.ckpt. VAE True. webui-user.bat 

 

set  COMMANDLINE_ARGS=--xformers --opt-split-attention --theme dark

 

 

pip  list

torch  2.1.0

xformers                0.0.17+b6be33a.d20230313

venv\Scripts\activate 에서 실행

 

NVIDIA 전원관리일반

크롬 브라우저하드웨어 가속활성화

오차 범위 이내

 --theme dark 추가

RAMMAP Empty Standby List 없이 실행

 

=21.2603  it/s

 

(9.83+ 20.71+  21.20+ 20.47+ 21.74+ 21.49+ 21.83+ 21.18+ 22.18+ 21.81+ 22.01+ 22.25+ 20.90+  21.70+ 21.75+ 21.94+ 21.52+ 21.44+ 22.29+ 21.72+ 21.55+ 22.46+ 21.35+ 21.34+  21.93+ 22.13+ 21.31+ 21.47+ 21.91+ 22.40)/30

 

 


 

 

  

 

 

RAMMAP Empty Standby List 실행

 

=21.6833  it/s

 

(18.55+ 21.25+  21.11+ 21.36+ 21.77+ 21.60+ 21.91+ 21.87+ 21.30+ 21.65+ 21.21+ 22.00+ 21.97+  22.58+ 21.84+ 21.41+ 22.62+ 21.92+ 21.56+ 21.50+ 21.68+ 21.72+ 22.26+ 22.09+  21.70+ 21.83+ 21.69+ 21.51+ 22.11+ 22.93)/30

  


 

 

21.6833-21.8177=-0.1344 감소





실험 안 해본 건 이제 '병목' 뿐인데, 512x512 그냥 돌릴 때는 별 무리 없으니 무거운 거로 테스트해야 할 듯.

512x512. CFG 9. steps 20. EerieOrange.25_BasilFixed. 13토큰+8토큰. dDetailer