見出し画像

Stable Diffusion(SD.Next)をIntel ARC A770で使う覚書

Stable Diffusionで遊びたくなったのでIntel ARC A770を購入しました。
簡単に使いたい人はNvidiaのグラフィックカードを購入したほうが間違いないですし楽です。
自分はVRAM16GBモデルあるし中古なら3060くらいで買えるじゃんという軽い気持ちで買いました。

環境は下記になります。
CPU:Ryzen 5 7600
MB:MAG B650M MORTAR WIFI
GPU:Intel ARC A770 16GB
メモリ:16GB

使用環境はWindowsかUbuntuかで迷いましたが結局Ubuntuにしました。
Linuxに詳しいわけでもなく調べればどうにかなる程度です。

使用するのはSD.Nextにしました。

Stable Diffusion web UI(AUTOMATIC1111版)もあるのですがこちらは設定をしてもIntelグラフィックカードを認識してくれませんでした。
Windows11では問題なかったのでよくわからないので諦めました。

インストールには下記のサイトを参考にさせていただきました。

上記サイトにはUbuntu23.04以降と記載がありますが実際に23.04を使用したところうまくいかなかったので22.04.3にしました。
kernelはアップデートして6.2にしてあります。
Ubuntu23.04以降はインストールされているpythonのバージョンがどうやら標準で3.11になっているようです。
下記のサイトなんかも参考にさせていただいてます。

こちらだとkernel 6.2だとうまくいかないとのことでしたが問題はありませんでした。

上記を参考にインストールまでは問題なく行えたのですが実際に起動すると途中でファイルが足りないと表示され止まってしまいました。
エラーとしてはlibmkl_sycl.so.3が足りないみたいな感じです。
これを元にGoogle先生にて調べたら下記がありました。

要は普通にインストールできるVerだとダメってことらしいです。
一番最後に記載されているようにVer指定して古いのをインストールすることで問題なくなりました。

wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | gpg --dearmor | tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null
echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | tee /etc/apt/sources.list.d/oneAPI.list
apt update
apt install intel-oneapi-runtime-openmp=2023.2.2-47 intel-oneapi-runtime-dpcpp-cpp=2023.2.2-47 intel-oneapi-runtime-mkl=2023.2.0-49495

一応簡単なエラーであればwebui.shを再度実行すると自動で解決してくれるような機能がSD.Nextにはあるらしいです。

ひとまず以上で無事動くようになりました。

この記事が気に入ったらサポートをしてみませんか?