Stable Diffusion WebUIがRX7900XTX with ROCmで動作しました
Stable Diffusion web-ui をRX7900XTXで動作できたそうです。
https://github.com/AUTOMATIC1111/stable-diffusion-webui/discussions/9591
試してみたところ自分の環境でも動作確認できました。
元の手順通りに行なえば成功しますが、はまった点とその対策について備忘録を残します。
目次
環境
- GPU : RX7900XTX
- CPU : Intel i9-13900KS
- memory : 32GB
- swap : 50GB
- Arch linux
- Docker version 23.0.4, build f480fb1e37
- ROCm 5.5
- 関連のありそうなインストール済のsoftware
- amd-vulkan-prefixes
- lib32-vulkan-radeon
- radeontop
- vulkan-amdgpu-pro
- vulkan-radeon
- vulkan-tools
- vulkan-validation-layers
- xf86-video-amdgpu
オリジナル手順
手順は下記の通りです。
自分は2, 15, 25ではまりました。
- mkdir $HOME/docker_sd
- docker pull rocm/composable_kernel:ck_ub20.04_rocm5.5_rc4
- docker run --name rocm -it -v $HOME/docker_sd:/SD --device=/dev/kfd --device=/dev/dri --security-opt seccomp=unconfined --group-add video rocm/composable_kernel:ck_ub20.04_rocm5.5_rc4
- cd /SD
- git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
- apt update && apt install python3.8-venv
- cd stable-diffusion-webui
- python3 -m venv venv
- source venv/bin/activate
- python3 -m pip install --upgrade pip wheel
- export HIP_VISIBLE_DEVICES=0
- export PYTORCH_ROCM_ARCH="gfx1100"
- export CMAKE_PREFIX_PATH=/SD/stable-diffusion-webui/venv/
- pip install -r requirements.txt
- pip remove torch torchvision
- mkdir repositories
- cd repositories
- wget https://github.com/pytorch/pytorch/releases/download/v2.0.0/pytorch-v2.0.0.tar.gz
- wget https://github.com/pytorch/vision/archive/refs/tags/v0.15.1.tar.gz
- tar -xzvf pytorch-v2.0.0.tar.gz && cd pytorch-v2.0.0
- pip install cmake ninja
- pip install -r requirements.txt
- pip install mkl mkl-include
- python3 tools/amd_build/build_amd.py
- python3 setup.py install
- cd ..
- tar -xzvf v0.15.1.tar.gz
- cd vision-0.15.1
- python3 setup.py install
- cd /SD/stable-diffusion-webui
- python3 launch.py --listen
対策
2 docker image
この記事を書いている時点では、docker imageが削除されています。
有志の方がmegaなどに上げてくれていますが、削除されてしまったimageファイルと一致してるかの保証はできません。
使用する際は自己責任でお願いします。
なので、この記事にはリンクは貼りません。元の記事から探してください。
15 コマンドミス
オリジナルの手順ではpip remove torch torchvisionとなっています。
removeは間違いで、正しくはuninstallだと思います。
25 メモリ不足
buildに膨大なメモリを使います。
自分は32GBのメモリと50GBのswapを用意することでbuildに成功しました。
メモリ32GB、swap無しではメモリ不足により失敗しました。
元のスレッドではメモリ32GB+スワップ30GBで成功したようです。
32 local URL
local URLは http://172.17.0.2:7860/ です。
( http://0.0.0.0:7860 ではなく)
結果
RX7900XTXでStable Diffusionが動くようになりました。
だいたい15it/s前後出ているので、性能としては NVidia RTX 3090 程度でしょうか
この記事が誰かの助けになれば幸いです。