2025年8月13日水曜日

RTX 50xxでStable Diffusion Forgeを動作させる際のCUDAエラー対処法

RTX 50xxシリーズ(Blackwellアーキテクチャ)を搭載したWindows 環境で、Stable Diffusion WebUI Forgeを使用する際に RuntimeError: CUDA error: no kernel image is available for execution on the device というエラーが発生することがあります。

このエラーは、PyTorchがRTX 50xxのCUDA Compute Capability(sm_93)に対応していない場合に起こります。PyTorchの最新nightlyビルドを使用する必要があります。

この記事では、Forgeを正常に動作させるための具体的な手順を詳しく解説します。

✅ 前提環境の確認

ハードウェア構成:

  • GPU: NVIDIA GeForce RTX 5070(Blackwellアーキテクチャ、CUDA Compute Capability 9.3)
  • OS: Windows 11

必要なソフトウェア:

  • NVIDIAドライバ: 最新版(2025年5月時点)
  • CUDA Toolkit: 12.8(またはそれ以降)
  • Python: 3.10.x(Forge推奨)
  • PyTorch: sm_93対応のnightlyビルド

⚠ エラーの原因

このCUDAエラーは、PyTorchのバージョンがRTX 50xxのCompute Capability(sm_93)に対応していない場合に発生します。 安定版のPyTorch(例: 2.3.1)ではBlackwellアーキテクチャが未対応のため、nightlyビルドの使用が必須です。(2025年8月現在)

🛠 解決手順

以下の手順を順に実行してください。コマンドはすべて管理者権限のコマンドプロンプトまたはPowerShellで行います。

PowerShellの場合コマンドプロンプトにします

cmd

配られているインストーラでforgeをインストールした場合はwebui-forgeのシステムディレクトリに移動します。このフォルダにあるpythonを使う必要があります。(以後その前提で書きます)

cd webui_forge_cu121_torch231\system\python\Scripts

1. NVIDIAドライバとCUDA Toolkitの確認

NVIDIAドライバの確認:

nvidia-smi

CUDA Toolkitのインストール:

CUDA toolkitのホームページから最新版をダウンロードしてインストールします。

echo %CUDA_HOME%

CUDA Toolkitのインストール後、環境変数の確認:

echo %CUDA_PATH%

例: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.9

2. Python環境の確認(このフォルダのPython.exeを使います)

.\python.exe --version

3. PyTorchと関連ライブラリのアップグレード

Forgeフォルダに移動:(最初にすでに移動しているので不要でした。すみません。)

cd C:\path\to\stable-diffusion-webui-forge

既存のPyTorchをアンインストール:

.\python.exe -m pip uninstall torch torchvision torchaudio
おそらくtorchaudioはインストールされていないというエラーが出るかと思います。

CUDA用の環境変数の設定

set %CUDA_HOME%=%CUDA_PATH%

nightlyビルドのPyTorchをインストール:

.\python.exe -s -m pip install --pre --upgrade --no-cache-dir torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/nightly/cu128

補足:CUDAのバージョンがCUDA 12.8ではないかもしれませんが、cu128で大丈夫です。

インストール確認:

.\python.exe -c "import torch; print(torch.__version__); print(torch.cuda.is_available()); print(torch.cuda.get_device_capability())"

bitsandbytesのアップグレード(必要に応じて):

.\python.exe -s -m pip install --pre --upgrade --no-cache-dir bitsandbytes

4. Forgeの設定確認

次の文をwebui_forge_cu121_torch231\environment.bat に加えます

set %CUDA_HOME%=%CUDA_PATH%
set TORCH_INDEX_URL=https://download.pytorch.org/whl/nightly/cu128
set TORCH_COMMAND=pip install --pre torch torchvision torchaudio --extra-index-url %TORCH_INDEX_URL%
set COMMANDLINE_ARGS=--medvram --opt-sdp-attention

5. Forgeの起動

webui-user.bat

6. エラーが続く場合のデバッグ

set CUDA_LAUNCH_BLOCKING=1

TORCH_USE_CUDA_DSAの有効化:

set TORCH_USE_CUDA_DSA=1

その他

RTX50シリーズの載ったパソコンを買ったのですが、いつも使っていたforgeが動かなくて焦りました。

0 件のコメント:

コメントを投稿