マルチ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
見た目はこんな感じ、長尾製作所のベンチ台を使ってオープンフレームで運用しています。
設定方法
Stable Diffusion WebUI をインストール
webui 1111のwebui-user.batをコピーを作りわかりやすい名前を付ける
2つのwebui-user.batにそれぞれ引数でデバイスIDと使用するポート番号を設定する
タスクマネージャーのGPU0の設定
--device-id 0 --port 7860タスクマネージャーの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のフォローもよろしくお願いします!
またねー