イラストAI その他

RX9070/XTでStable Diffusion WebUI ZLUDAを動作させる

更新日:

※ 2025/3/27 最初のバージョンを公開

 

まず最初に謝罪しておきます。申し訳ございません。

RX9070/XTでStable Diffusion WebUI ZLUDAが動く(かもしれない)記事です。

なぜ「かもしれない」なのかは私が実機を持ってないからです。

実機がありませんので、動作は確認しておりません。

しかし、多分動くでしょう。

 

テスト環境

  • CPU:Core i7-13700K
  • マザーボード:Asrock Z690M-ITX/ac
  • メモリ:DDR4-3600 16GBx2=32GB
  • SSD:NVMe Gen3 SSD 256GB
  • OS:Windows 11 24H2
  • GPU:Radeon Rx7900XTX 24GB

というわけでいつものテスト環境になります。

 

配布ファイル(ZLUDA_V30.zip)  216 MB (227,263,882 バイト)

※ クリックで新しいWindow・タブが開きますのでダウンロードしてください。

今回、ファイルサイズが大きいのは今までダウンロードしていたファイルを一部を除き中に収めたからです。

全てオープンソースで全部または一部を再配布可能もなことを確認しておりますが、何かありましたらご連絡ください。

迅速に対応いたします。

上のような変更で今まで以上にセットアップが高速になりました。

 

使い方

重要!!!!

事前準備です。

Radeonのドライバを最新にしてください。

AMD 公式 Radeon Driver ダウンロードページ

まず、HIP SDK6.2.4/6.1.2をインストールしてください。

HIP SDK6.1.2は直接使いませんがインストールされるファイルを使います。

AMD 公式 HIP SDK ダウンロードページ

インストールされていないと途中で止まります。

必ずインストールしてください。

 

インストール後以下を確認してください。

インストール後「設定」-「システム」-「バージョン情報」-「システムの詳細設定」

「システムのプロパティ」ウィンドウがポップアップしますので、「環境変数」をクリックしてください。

上の画像のように、HIP_PATH、HIP_PATH_61、HIP_PATH_62が設定されていことを確認してください。

上はデフォルトのインストール位置です。

デフォルトのインストール位置から変更した人は適宜読み替えてください。

※ わからない方はインストール位置を変更しないことをお勧めしておきます。

 

ダウンロードした「ZLUDA_V30.zip」を解凍してください。

好きな場所にコピペすればインストール可能です。

いつも通りポータブル版ですので、どの位置にインストールしても構いません。

できる限り「浅い階層の、2バイト文字やスペースの含まれていないフォルダ(パス)」にインストールすることをおすすめしておきます。

解凍すると上のようなファイルとフォルダが出てきます。

この中の「.\misc\downloads」に以下のファイルをダウンロードしてからコピーしてください。

HIP SDK extension

1.5GBありますのでさすがに配布ファイルに含めるのは無理でした。

 

事前準備はこれで終わりです。

あとは「sd-wui.zip」をダブルクリックすれば自動でインストール・設定されます。

 

初回セットアップ時のみ、途中で管理者権限での動作の許可を求めるWindowsがポップアップし、許可するとHLCT=HIP Library Customization Toolが起動します。

メニューは2ページあり、自分のGPUに合ったカスタムライブラリをインストールしてください。

ミスをしても後で修正できますから、心配しなくてもよいです。

この記事の末尾にオマケとしてメニューナンバーとGPUの対応表をつけておきますので活用してください。

なお当然ながら、RX7900XTX以外は動作確認しておりませんので、ご了承ください。

ファイルをセットアップするだけで、動くかどうかの確認はしておりません。

動作確認する環境がございませんので、悪しからずご了承ください。

 

 

メインメニュー

さて、すべてが終わったら上のようなメニューが出ます。

メインメニューも2ページあります。

適宜必要なものを選択して使ってください。

さて、今回お詫びしなければならないのは、モデルデータのダウンロード機能がつけられなかったことです。

テストでダウンロードしたらCivitAIからAPI経由でのアクセスをBANされてしまいました。

動作の確認が取れていませんので今回は見送ります。

どのくらいの期間BANされるかわかりませんが、今後ダウンロード機能の実装は難しいかもしれません。

 

メニュー1-1を選択すると、初回のみStable Diffusionのセットアップが始まり、

使用しているGPUはRDNA3もしくはRDNA4ですか?
Are you using an RDNA3 or RDNA4 GPU?

初回セットアップ時のみ、上のようなメッセージが出ます。[Y,N]で答えてください。

Yを選ぶとFlash Attention V2をクロスアテンションに選択できる拡張機能をインストールします。

※ なぜか有効になりませんでしたので、WebUIが起動した後拡張機能(Extention)から有効にしてください。

 

 

 

旧版からのデータ移行について。

今回からSD2.xのデータは対応しておりません。

悪しからずご了承ください。

 

旧版からのモデルデータ引き次に関しては\ai_datをそのままコピペしてください。

※ 事前にSD2xのデータは移動もしくは削除しておいてください。

なお、データの引継ぎにあたっては上の画面のようにデータフォルダがSDXLになっていることを確認してください。

また、移行元のデータもSDXLにしておいてください。

これでそのまま使えるはずです。

データ移行される方は、操作ミスを防ぐ意味でも最初に上のメニューが立ち上がったらいったん上のメニュー画面を閉じことをお勧めします。

 

データフォルダは

旧版(現在のデータがSDXLの場合)

  • sd
  • sd2x
  • sd1x

上の3つになっているはずです。

今回(現在のデータがSDXLの場合)

  • sd
  • sdpy
  • sdil
  • sd1x

仕組みを説明すると、sdの中身のフォルダに「sd-wui-zld」のモデルデータのフォルからジャンクションが張ってあります。

ジャンクションのターゲットは動かさずに、「フォルダ名」の方をsdに変更することによって、データフォルダの切り替えを実現しています。

実に単純な方法ですが、こんな方法でもちゃんとデータの切り替えが実現可能です。

そのため「現在のデータフォルダ」のフォルダ名がsdにリネームされます。

つまり、sdに変換され、存在しないものが現在のデータフォルダということになります。

デフォルトではsdxlがsdにリネームされています。

 

今回から、生成した画像データのフォルダ「outputs」もai_datの中に移動しました。

こちらもちょっと強引な方法で実現しています。

保存場所は「sd\images\outputs」になります。

 

「\misc\HLCT_r624_default.bat」を管理者権限で実行すると、HIP の中身をデフォルトに戻すことができます。

初回に起動したHIP Lib Customization Toolに関してはメニュー2-2からいつでも起動でき、間違ってインストールした場合でも再度起動して正しいGPU用のライブラリをインストールできます。新しいライブラリをインストールする前にいったん書き換えた部分をすべてを削除してからバックアップを取ったファイルからまっさにな状態にしてインストールしなおしますので、何度選びなおしても大丈夫です。

 

転売品が横行していますのでご注意ください。転売品は保証が受けられません。

RX9070XTをamazonで検索する

RX9070をamazonで検索する

 

 

おまけ:

HLCTのメニューと対応GPU、インストールする追加ファイルの内容

MENU
No.
GFX No.世代GPU名Aditional
Library
MIOpen
(cudnn)
hipblaslt
(cublaslt)
1-1gfx1201RDNA4RX 9070/XT
1-2gfx1151RDNA3.5Radeon 8060S
Radeon 8050S
(Ryzen AI MAX 300
iGPU)
×
1-3gfx1150RDNA3.5Radeon 890M
Radeon 880M
(Ryzen AI 300 iGPU)
1-4gfx1103RDNA3Radeon 780M
Radeon 760M
Radeon 740M
(Ryzen 7040 iGPU)
1-5gfx1102RDNA3Radeon
RX7600/XT
1-5gfx1101RDNA3Radeon
RX7700/7800XT
1-5gfx1100RDNA3Radeon RX7900
GRE/XT/XTX
1-6gfx1036RDNA2Radeon
Graphics 128SP
(Ryzen
7000/9000 iGPU)
××
1-6gfx1035RDNA2Radeon 680M
Radeon 660M
(Ryzen 6000
U/H/HX/HS)
××
1-6gfx1034RDNA2RX6500XT
RX6400
××
1-7gfx1032RDNA2RX6650XT
RX6600/XT
×
1-8gfx1031RDNA2RX6750XT
RX6700/XT
×
1-9gfx1030RDNA2RX6950XT
RX6900XT
RX6800/XT
×
2-1/2-3gfx1010RDNA1RX5700/XT×
2-2gfx1011RDNA1Radeon Pro
V540/V520
××
2-2,2-4gfx1012RDNA1Radeon 5500XT
Radeon 5300/XT
××
2-5gfx90cEnhanced VegaRyzen 5000G
Ryzen 4000G
iGPU
××
2-6gfx900Vega10RX Vega56/64××
2-6gfx803PolarisRX500/400××

※ RDNA1世代のxnakとは・・・AMD GPU では、マネージド メモリを使用する HIP コードの実行、または統合共有メモリ (USM) を使用する SYCL コードの実行に、XNACK 機能が不可欠です。XNACK がないと、パフォーマンスが最大 4000% 低下する可能性があります。

 

 

技術的な話・・・など。

私が配布しているスクリプトにはpythonのembeddable版を使用しています。

pythonのポータブル版です。

このポータブル版は「pipが使えない」「venvが使えない」という欠点があります。

※ ほかにも様々な機能が使えません。

 

pipの有効化

pipに関してはネットにさまざまな情報がありますので比較的簡単にインストールできます。

python embeddableをインストールしたフォルダの中に「python310._pth」というファイルがあります。

これの5行目「#import site」を「import site」に書き換えます。

そのあと、

https://bootstrap.pypa.io/get-pip.py

からpython scriptをダウンロードしてきて実行すればpipがインストールされます。

私の配布している\misc\pre_r624.batのコードの該当部分は

ファイルの書き換え部分

sed -i 's/#import site/import site/g' .\system\python\python310._pth

get-pip.pyのダウンロード部分

curl -LOJ "https://bootstrap.pypa.io/get-pip.py"

となります。

sedはWindowsの標準のコマンドではなく、minGitに付属しているコマンドです。

minGitをインストールした上でpathが通っていないと使えませんので注意してください。

 

virtualenvのインストール

さて、python embeddableはインストールできましたが、このままではvenvが使えません。

python embeddableは環境ごとにpipをインストールするように作られているのでvenvの使用は考えられていないようです。

WebUIによってはvenv必須のものもあるため、困っている方もいるのではないでしょうか?

私も困りました。

いろいろと調べた結果、venvのもとになったvirtualenvというコマンドが現在も存在していることが分かりました。

上の手順でpipをインストールした後

pip install virtualenv

でインストールできます。

使い方は

python -m virtualenv [venv環境名]

です。

venvと違うのはvenv環境を作る上のコマンドだけで後は全く同一となります。

少なくとも私は今まで使用していて一度もvenv環境由来の不具合が起きたことはないです。

事実上のvenvといってもよいと思います。

何かものすごい苦労をしてpython embeddableにvenvと同じような機能を実装している方がいますが、こちらの方がごくわずかな労力で実現できますのでこちらを活用した方が良いと思います。

唯一の欠点は公式のvenvとvenv環境を作るコマンドが違いますので、かならずセットアップの過程でvenvを作成しなくてはなりません。

alias機能などを使って何とかできないかとやってみましたが、無理でした。

各WebUIでは大抵venv環境がなければ自動で作ってくれますが、virtualenvの場合、WebUIをgit gloneしたあとにディレクトリに入り、明示的に上のコマンドでvenv環境を作らなくてはいけません。

 

venv環境のactivateとdeactivate

venv環境を呼び出すときコマンドを実行すると思いますが、Windows版はactivateとdeactivateはバッチファイルになっているため

venv有効化

call .\venv\Scripts\activate.bat

venv終了

call .\venv\Scripts\deactivate.bat

上のようにcallしないとdeactivateを実行した瞬間にコマンドプロンプトが終了してしまいます。

私も少し悩みましたので、一応書いておきます。

実験環境などを作られている方は活用してみてください。

 

Python3.10.6の呪い?

Stable diffusion WebUIはpython3.10.6で使うのが良いとされています。

現在python3.10はpython3.10.13まで出て、更新が終了しています。

このうち、python3.10.12とpython3.10.13はソースのみの提供で実行できる形では配布されていません。

実行できる形で配布されているのはpython3.10はpython3.10.11が最後のバージョンになります。

python3.10.6が良いとされていたのは当時のpytorchが3.10.6でビルドされていたからだと思います。

※ ビルドされたpythonと違うバージョンのpythonを使うと警告が表示されることがあります。

その後pytorchも3.10.6以降のpythonでビルドされるようになり、特にこだわる理由はなくなったと思います。

python3.10自体がすでに更新が終わっていますので、現在は最新のpython3.10.11を使うのが正解だと思います。

他の理由をご存じの方がいましたらx.comのわたくしのアカウントまで教えていただけると幸いです。

 

pipコマンドのキャッシュ機能について

テストなどで何度もインストールと削除を繰り返している方は二度目以降のpip installはキャッシュからインストールしているのをご存じだと思います。

このpip chacheはデフォルトだと

%LocalAppData%\pip\Cache

で保存されています。

しかし、

PIP_CACHE_DIR

を設定することによって任意の位置に移動可能です。

「%LocalAppData%\pip\Cache」だとすべての環境でキャッシュを共有することができて、便利なのですが、ユーザーが意識することがありません。

pip cacheが消費する容量をユーザーが意識できる方が良いと思いますので、わたくしはWebUIのインストールフォルダの中にあえて移動しています。

これだとpython実行環境が複数ある場合、pip cacheの環境をまたいだ共有はできなくなり、容量が無駄になりますが、ユーザーが意識できる方が良いと思いますのであえて移動しています。

 

 

PS.

噂のROCm Windows版が出たらStability MatrixがRadeonに対応し、アナーキー(?)なZLUDAの役割も終わりだと思います。

 

-イラストAI, その他
-

Copyright© 自作ユーザーが解説するゲーミングPCガイド , 2025 All Rights Reserved.