見出し画像

マルチGPUで画像生成って実際どうなの???

こんにちは でょ です!

今回はマルチGPU(SLIではない)について設定方法から使用感をお伝えしたいと思います!!

マルチGPUとは?


その名の通り、複数台のGPUを搭載した環境です。
その中でも複数台のGPUを1台として使うのが、Nvidiaで言うSLI(Scalable Link Interface)、AMDで言うCrossFireです。

今回は、SLIやCrossFireではなく、単純にGPUを2台搭載した環境の紹介になります。

メリット

  • 並列して生成ができる。

  • 生成中にinpaintなどの作業ができる。

  • LoRA作成中にも生成ができる。

デメリット

  • 環境構築が面倒。

  • GPUを2台用意する必要がある。

  • 冷却に気をつけないといけない。

環境設定

環境は下記のようになります。
ハードウェア
・CPU:core i7 8700
・マザーボード:ASUS PRIME H370-A
・GPU:RTX A4000 16GB
         GeForce RTX 3060 12GB

ソフトウェア
・Windows 11
・Python3.10.10
・stable diffusion webui 1111

見た目はこんな感じ、長尾製作所のベンチ台を使ってオープンフレームで運用しています。

設定方法

  1. Stable Diffusion WebUI をインストール

  2. webui 1111のwebui-user.batをコピーを作りわかりやすい名前を付ける

  3. 2つのwebui-user.batにそれぞれ引数でデバイスIDと使用するポート番号を設定する

    1. タスクマネージャーのGPU0の設定
      --device-id 0 --port 7860

    2. タスクマネージャーのGPU1の設定
      --device-id 1 --port 7861

      ※オンボードグラフィックがGPU0に来ている場合でも0から設定して大丈夫でした(筆者の環境では)

 4.webui-user.batを実行するとデバイスIDと対応したGPUで起動できる

ドライバによる速度比較

今回使用したRTX A4000はRTX 3060のようなコンシューマー向けのGPUでは無いためドライバはNvidia Quadroシリーズ用のドライバになります。
しかしながら、Quadroシリーズ用のドライバ はRTX3060用のGame Ready ドライバとの共存ができません😢また、Quadroシリーズ用のドライバではRTX3060は認識できません😭
一方Game Ready ドライバはRTX A4000も認識できます。また、クリエイター向けのNvidia StudioドライバというのもあるのでQuadroとGeForceでのデュアルGPU環境ではどちらのドライバが最適なのか検証していきます!

評価方法

Stable Diffusionのベンチマークで有名なのは、ハローア○カベンチだと思いますが、今更512×512のベンチをやっても微妙なので、新しいベンチマークを提案します。

その名も
1111FHDベンチです!(適当)

Euler a
20 step
1920×1080
seed:1111
positive:best quality,1girl,solo
negative:worst quality

覚えやすさ重視の設定です。
この設定で、バッチ回数は5回での生成時間で比較したいと思います。

まずはGame Ready ドライバ

RTX A4000   2分30秒06

RTX 3060    4分2秒62

次にStudioドライバ


RTX A4000   2分30秒32

RTX 3060    4分4秒20

最後にQuadro ドライバ


RTX A4000   3分46秒41


結果

GameReadyドライバが少し早いですね。(誤差程度)Quadroドライバは結構遅いことが分かりました。

まとめ

実際使ってみると、並列して作業ができて、とても快適です!
GPUが余ってる人はやってみてもいいかも?(電源容量とかには気を付けてね)
Quadro系とGeForce系を同時に使えるのかという情報は探してもなかなか見つからなかったですが、意外と普通にできたので驚きでした。
皆様が快適なAIイラストライフを送れることをお祈りいたします✨

最後に

よかったらTwitterのフォローもよろしくお願いします!

またねー

いいなと思ったら応援しよう!