intel ARCでstable-siffusionを使ってみよう(Windows編)

ubuntu編に続いてWindows編もやっていきます。
はじめに書いておきますが、「directML」ではありません。
「oneAPI」です。
ですので、できるだけ最新のグラフィックスドライバをインストールしておきましょう。
今回の記事を書くにあたり、バージョンは「101.6319」になっています(2024/12/11現在)。

最初にMicrosoft visual C++ 再頒布可能パッケージのインストール。
https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170#visual-studio-2015-2017-2019-and-2022

次にgitをインストール。
https://git-scm.com/downloads/win

次にminicondaをインストール
https://repo.anaconda.com/miniconda/
にて、適当なのをダウンロードします。

今回は一番上にある「Miniconda3-latest-Windows-x86_64.exe」を使いました。

すると「Anaconda prompt」がメニューに追加されます。


なので実行。

次のスクリプトを打ち込んでいきます。

conda create -n a1111 python=3.10.6

でconda環境を作ります。続いて

conda activate a1111

でconda環境をアクティベート。

git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui A1111

でstable-diffusionをダウンロード。

cd A1111

でカレントディレクトリを移動。

python -m venv venv

venvで仮想環境を作成。

venv\Scripts\activate.bat

venvアクティベート。
次はpytorchのインストールですが、「https://intel.github.io/intel-extension-for-pytorch/index.html#installation?platform=gpu」にて説明どおりにインストールしていきます。

上の写真のように選んでいきます。

conda install libuv

libuvとやらをインストールします。次にintelGPU用にカスタマイズされたpytorchをインストール。

python -m pip install torch==2.3.1.post0+cxx11.abi torchvision==0.18.1.post0+cxx11.abi torchaudio==2.3.1.post0+cxx11.abi intel-extension-for-pytorch==2.3.110.post0+xpu --extra-index-url https://pytorch-extension.intel.com/release-whl/stable/xpu/us/

上記は2024/12/11記事作成時の最新のようです。
このページを見た時期によっては違うスクリプトになっているかもしれません。

追記
2024/12/13に上記スクリプトを実行したところ、アクセスできないようでエラーが出てしまいました。そういう時は

python -m pip install torch==2.3.1.post0+cxx11.abi torchvision==0.18.1.post0+cxx11.abi torchaudio==2.3.1.post0+cxx11.abi intel-extension-for-pytorch==2.3.110.post0+xpu --extra-index-url https://pytorch-extension.intel.com/release-whl/stable/xpu/cn/

のように、サーバーを変えてみると良いかもしれません。
今回はこの方法で成功しました。

pytorchのインストールが済んだら

webui.bat --use-ipex

でstable-diffusionを実行します。


試しに「ハローアスカベンチ」をやってみましたが
「intelARC A770」で約44秒でした。
以前持っていた、「Radeon RX7600XT」をubuntu+Rocmで動かしたときとほぼ互角といったところです。
自分は試していませんが、「directML」よりはるかに速いと思います。

最後に、改めてstable-diffusionを立ち上げる方法ですが、
「Anaconda Pronpt」を立ち上げてから「conda activate a1111」を実行する。

cd A1111
webui.bat --use-ipex

で立ち上がると思います。

今回は以上です、おつかれさまでした。

コメント

タイトルとURLをコピーしました