メインコンテンツへスキップ
  1. Posts/

Intel ARCなWindows環境でStable Diffusion WebUI

·2 分·
Intel ARC Stable Diffusion AI
目次

構成
#

  • CPU:Core i5 12600K
  • GPU:Intel ARC A770 16GB

CPU内臓グラフィックは無効にしてあります。(使用するGPUを指定できなかったため)

前置き
#

Intel公式のWin版IPEXではAOTコンパイルのサポートがされておらず、モデルのロード等にかなり時間がかかってしまうので快適に使用できないという問題があった。
9/20にNuullll氏がAOTをサポートしたホイールを公開したことでWSL2を介さないStable Diffusionの利用が現実的なものとなった。
(性能はネイティブなLinux環境の80%程度に落ち着くそう)

Install
#

  • (任意)SD.Next用の環境を作成
python -m venv venv
  • DLLの依存関係をインストール
pip install dpcpp-cpp-rt mkl-dpcpp
  • SD.Nextをクローン
git clone https://github.com/vladmandic/automatic.git -b dev
cd automatic
  • 実行
python launch.py --use-ipex

Nuullll氏の手順では手動でipexをインストールするように書かれているが
以下のコミットで自動でNuullll氏のホイールをインストールするように変更されています。

色々模索したのでメモ
#

使用モデルはAnything3

  • backend
    基本的にはOriginalバックエンドのほうが生成が速いがLoraが正確に扱えていない気がする。

  • Cross-attention optimization method
    Sub-quadratic推奨。

  • Device precision type
    BF16が最速。~~速さでは少し劣るがFP16のほうが生成物のクオリティが高い。 ~~ 2023/11/01時点ではBF16も安定している。

  • samplers
    自分的にはEuler aが生成速度とクオリティの両立が取れていると感じる。

  • WSL2との比較
    VRAMのリークが発生しない。(以下のコミットで修正されていたようだが自分はHyperV環境なので適応範囲外だった)
    RAMの使用量が少なく感じられる。
    生成速度はWSL2が優っている。
    複数Loraを使用した際の適応がWSL2のほうが良い。

あとがき
#

ぼく個人の感想です。なんかそういうデータはありません。

参考にしたもの
#

追記
#

  • 2023/11/01
    pythonをMinicondaから通常のものに変えたので一部コマンドをvenv用に変更。

関連記事

drm-xe-nextで遊ぶ
·5 分
Linux Intel GPU Mesa
Zenfone8 Project Blaze
·3 分
Android カスタムROM Android カスタムROM
PC用アバターをQuest GoodにしてFallback Avatarにする
·4 分
Unity Blender Unity VRChat Blender
EMUI11からダウングレードした端末が認識されなくなる問題
·3 分
Android Android
ダンスする時のシャオンちゃんを表情豊かにしてみた。
·2 分
Unity Unity VRChat
Huawei P30にlineageOS 18.1をインストールした話
·3 分
Android Android カスタムROM