Geforce RTX5080と4080のマルチGPUにてstable diffusion Auto1111とForge Neoで同時に画像生成させる(2026年1月時点)

2026/1/27

一つのパソコンケースに2つの電源と2枚のビデオカードを入れる編からの続き

民生用Geforceビデオカードでは、1つの画像生成処理を2つ以上のGPUで分散(協調)処理させることはできないが、2つの生成AIを同時に立ち上げて2GPU同時並行で生成させることで、実質処理速度が2倍になる。
以下、箇条書きする。

状況

  1. 1つのPCに2枚以上のGeforceビデオカードを挿すと、CUDAでdevice id 0,1,2...と番号が割り振られていく。

  2. 通常device idは応答速度が速かったGPUから割り振られていき、固定されていない。
    ・俺の環境では4080がid 0、5080がid 1となっていた。

  3. windowsのシステム環境変数で変数名に「CUDA_DEVICE_ORDER」を新規追加し、変数値に「PCI_BUS_ID」を入れると、マザーボードのPCI-Eスロット順にdevice idが割り振られ固定される。
    ・俺のPCでは第二スロットの5080がid 0、第七スロットの4080がid 1となった。

  4. stable diffusion(以下SDと記載)は、指定しなければ最も若いid 0のGPUが使われる。2つのSDを同時起動して生成させるとid 0 GPUだけで2つの処理をして激遅になる。id 1 GPUは遊んだ状態。

  5. SD Automatic1111では、Stability Matrixのパッケージ起動オプションに「--device-id 1」と入れると、id 1 GPUを使って生成するようになる。

  6. SD Forge(後継のForge Neoも同様)は起動オプションに「--device-id 1」と入れても無視され、id 0 GPUを使ってしまう。
    redditでも同じ悩み相談があり、俺の環境独自の症状でなくForge系の仕様と思われる。

対応策

起動オプションでなく、環境変数「CUDA_VISIBLE_DEVICES」でCUDAプログラムから見えるGPUをid 1だけに制限するとForgeでid 1 GPUを使えるようになる。
※windowsのシステム環境変数で制限すると、windows内全てのGPU処理がid 1 GPUだけになり逆にid 0 GPUが使えなくなってしまう。
※なので特定のプログラムの起動ファイルに環境変数を書き込んで読み込ませると、そのプログラムだけに環境変数が適用される。

・SD Forge Neoフォルダにある「backend/memory_management.py」ファイルの「import os」記載のある10列目より下の適当な列に「os.environ['CUDA_VISIBLE_DEVICES'] = '1'」と書き込んで保存。(俺は40-41列目間に割り込ませた)

するとForgeNeoからはid 1のRTX4080しか見えなくなり、4080で生成するようになった。これでForge系2つ同時に使う場合にGPUを使い分けられる。


Stable Diffusion 1111をRTX5000番台GPUで新規インストールして使う方法(2026年1月時点)

2025年6月からSD1111とForgeで画像生成してきたが、windows11を入れていたシステムSSDの健康率が80%以下になりwindowsシステムファイルの記録セクタが不良化したみたいで、唐突に再起動する症状が頻発するようになった。
これまでCPUやマザーボードを2回変更しながら使い続けてたこともあり、またwindows updateで24H2・25H2が毎回エラーでインストールできず23H2のままだったこともあり、新しいSSD(耐久性重視でTBWが最もデカいWD RED SN700を買った)に25H2をクリーンインストールした。

Stability Matrixをインスコしてパッケージ追加にてSD 1111、SD reForge、SD Forge Neoをインスコしたが、エラー無しですんなり使えたのはForgeNeoだけ。
Forge系は一つあればいいので、エラーが出て起動しないreForgeは削除した。
1111はForgeと同じモデル・同じプロンプト・同じハッシュ値を使っても生成結果(キャラの体系やポージング)が異なることがあり使い分けていたのでなんとか使いたい。
1111インスコ後はエラーの連続で10回以上も修正・アンインスコ・再インスコして、ようやくエラー無しで生成できるようになったので忘備メモ。

※Stability MatrixにてSD Automatic 1111のパッケージ追加オプションで、Versionを「Blanches - dev」の「#fd68e0c」にする。
デフォの「releace - v1.10.1」や「Blanches - master」にしてはいけない。初回起動時のgitからのファイルコピー時に、コピー元になる公式レポジトリが2025年12月に閉鎖されたためインストールが途中で止まってしまう。launch_utils.pyファイルの公式レポジトリURLを手動で代替レポジトリに書き換えてインスコしたが、起動時にランタイムエラーが頻発して生成できなかった。(これで5回くらいハマッた)
devの#fd68e0cだと、最初から代替レポジトリに書き換えられおりファイル整合が取れているため、手動で書き換える必要がなくエラーもでない。

※使ってるGPUがRTX4000番台以下(CUDA12.8未満)ならこれでそのまま生成できるはずだが、RTX5000番台(CUDA12.8以上)だとpytorchとxformersでバージョン不整合エラーが出て生成できないので、この2つを手動で適応verを指定して更新する必要がある。
2026年1月時点最新のpytorchとxformersにすると、それぞれのver不適合でエラーがでて生成できない。(これで5回くらいハマった)古いバージョンを指定インスコする必要がある。
詳細は下記。

RTX50x0使用者向けStable Diffusion1111準備手順(2025年12月以降)

  1. NVIDIA公式のCUDA Toolkit旧verアーカイブ配布サイトからCUDA Toolkit12.8をダウンロードしてインスコ。
    ・2026年1月時点で最新13.1が出てるが、ver整合性の都合上、あえて旧バージョンの12.8で決め打ちした。
    ・俺の環境では、インスコ最初のNsight computeで毎回中断してしまったので、カスタムインストールの項目選択で一番最初のNsight computeのチェックを外してそれ以外をインスコしてPC再起動、再度カスタムインスコでNsight computeのみチェック付けてインスコ、で全部インスコできた。

  2. Stability Matrix(以下SMと記載)をインスコ。

  3. SMのパッケージ追加でStable Diffusion Auto1111を選択、詳細画面でVersionを「Blanches」「dev」「#fd68e0c」にしてインスコ。

  4. パッケージをロードすると起動途中のコマンドラインで「CUDAデバイスが見つかりません」みたいなエラーが出て生成できない。(生成できたならこれで完了)

  5. SDを停止して、windowsのコマンドプロンプト(cmd)を管理者モードで起動。

  6. cdコマンドでSDパッケージがあるフォルダに移動。
    ・Cドライブ以外にある場合、最初にドライブ移動オプションが必要。俺の場合は「cd /d H:」でHドライブに移動したあと「cd Stability Matrix\Data\Packages\Stable Diffusion WebUI」

  7. venv仮想環境に入るため、「.\venv\Scripts\activate.bat」と入力してエンター。コマンドプロンプトの先頭に(venv)と付いたら成功。

  8. 今あるCUDA12.8不適合の古いPytorchとxformersをアンインスコするため、「pip uninstall xformers torch torchvision torchaudio」と入力してエンター。途中何度か「ほんとに消してええんか?」と聞かれるので、つど「y」を入力してエンター。successfullyと出たら成功。(torchaudioは入ってないと言われるけど気にしない)

  9. Pytorchをver指定インスコするため、「pip install torch==2.7.0 torchvision==0.22 torchaudio==2.7.0 --index-url ttps://download.pytorch.org/whl/cu128」と入力しエンター。successfully表示で成功。
    ・注!「pip3 install torch torchvision torchaudio --index-url ttps://download.pytorch.org/whl/cu128」だと最新verが入ってxformersとのver不整合エラーが出る。

  10. xformersをver指定インスコするため、「pip install xformers==0.0.30」と入力しエンター。successfully表示で成功。
    ・注!「pip3 install -U xformers --index-url ttps://download.pytorch.org/whl/cu128」だと最新verが入ってpytorchとのver不整合エラーが出る。

  11. SD1111を起動したらエラー無しで生成できるようになってるはず。(俺はこれで行けた。行けなかったら知らん…俺は素人なので聞かれてもわからないよ)

その後、SDにextensionを追加したり、モデルデータに合ったCFG値・Step数・Sampling method(Eular A、karras)・Hires Upscaler(R-ESRGAN 4x+ Anime6B)を設定して、軽量化のため生成後の一覧grid表示・保存を無効にして詳細設定のDefaultで保存したりして自分が使いやすくしたら、いちど終了してSMフォルダまるごとコピーしてバックアップしておこう。
ファイルが壊れてSMやSDが起動しなくなったときに書き戻せばすぐ復旧できる。


4080と5080がフル稼働で画像生成中。
5080は大型ヒートシンクにより放熱性抜群で100%連続稼働でも外気温30度でGPU60度前半、4080はケース外にあり追加ヒートシンク・ファンを付けてあるのでオーバークロック連続稼働でGPU80度台でサーマルスロッティング発動無し。