冒頭:問題の内容
Stable Diffusion WebUI(特にForge版やAUTOMATIC1111版)を起動или запустить際に、以下のエラーが発生する場合がある。
RuntimeError: CUDA error: no kernel image is available for execution on the device
このエラーは、PyTorchとCUDAのバージョンが合致しない、またはPyTorchがシステム全体のPython而不是アプリケーション固有のPythonにインストールされている場合に発生する。特に、Portable版やGit Clone版のStable Diffusion WebUIを使用する際に、既存のPyTorch環境との競合で発生しやすい。
結論
アプリケーション固有のPython環境(venv)に正しいバージョンのPyTorchをインストールすることで解決する。システム全体のPythonではなく、WebUIが使用する専用の仮想環境に対してPyTorchをインストールすることが重要である。
具体的な手順
ステップ1:WebUIのPython仮想環境のパスを特定する
Stable Diffusion WebUIのインストール先によって、Python仮想環境のパスは異なる。以下が主要なパス例である:
- Stable Diffusion WebUI Forge(Portable版)
C:[インストールパス]venvScriptspython.exe - AUTOMATIC1111版
C:[インストールパス]python_embededpython.exe - Pinokioを使用してインストールした場合
C:pinokioapistable-diffusion-webui-forge.gitappvenvScriptspython.exe
ステップ2:現在のPyTorchの状態を確認する
コマンドプロンプトまたはPowerShellで、以下のコマンドを実行して現在のPyTorchバージョンとCUDA対応状況を確認する:
cd [WebUIのインストールパス]
call venvScriptsactivate
python -c "import torch; print(f'PyTorch: {torch.__version__}'); print(f'CUDA available: {torch.cuda.is_available()}'); print(f'CUDA version: {torch.version.cuda}')"
ステップ3:現在のPyTorchをアンインストールする
既存のPyTorchを完全に削除する:
pip uninstall torch torchvision torchaudio -y
ステップ4:正しいバージョンのPyTorchをインストールする
使用しているGPUとCUDAバージョンに対応するPyTorchをインストールする。
NVIDIA RTX 30シリーズ(Ampere)またはRTX 40シリーズ Ada Lovelaceの場合:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
※ cu121 は CUDA 12.1 を意味する。使用しているCUDAバージョンに合わせて変更してください。
ステップ5:WebUIを起動して確認する
WebUIを通常通り起動し、エラーが解決されたか確認する:
webui-user.bat
(またはwebui.bat)
ステップ6:追加の確認(解決しない場合)
それでも解決しない場合は、以下のコマンドでCUDAカーネルの状態を確認:
python -c "import torch; print(torch.cuda.get_device_capability())"
出力されたCompute Capabilityが、インストールしたPyTorchのCUDAサポート対象かどうか 。
補足・注意点
バージョン依存について
- PyTorch 2.0以上:RTX 30/40シリーズでのCUDAエラーが少なく推奨される
- CUDA 12.1:最新のNVIDIA GPUに最適
- Compute Capability:GPUの世代によって必要なCUDAアーキテクチャが異なる(RTX 3070は8.6、RTX 4090は8.9)
よくある落とし穴
- システム全体のPythonにインストールしている:WebUIが使用する仮想環境(venv)に対してインストールしているか必ず確認する
- 古いCUDAランタイムが残っている:NVIDIA Control PanelからCUDAバージョンを確認し、最新にアップデートする
- 拡張機能との競合:特にAnimateDiffなどの拡張機能が原因の場合があるため、一旦拡張機能を無効化してテストする
環境別の追加対策
- Jetson Orin Nano:JetPackと互換性のあるPyTorch/arm64版をインストールする必要がある
- Linux環境:ソースからビルドしたPyTorchが必要な場合がある
参考元
- Reddit: RuntimeError: CUDA error: no kernel image is available HELP Please
- GitHub: Torch/Cuda error · Issue #1738 · lllyasviel/stable-diffusion-webui-forge
- GitHub: [Bug]: RuntimeError: CUDA error: device-side assert triggered
- 6 Ways to Fix CUDA out of Memory in Stable Diffusion