Stable Diffusion Web UIで発生するCUDA RuntimeErrorの完全解決ガイド
冒頭:どんな問題が発生したか
Stable Diffusion Web UI(AUTOMATIC1111版またはForge版)を使用中に、以下のCUDA関連エラーでアプリケーションが停止する問題が発生しています。
- RuntimeError: CUDA out of memory – VRAM不足によるエラー
- RuntimeError: CUDA error: no kernel image is available – GPUアーキテクチャ非互換
- RuntimeError: CUDA error: device-side assert triggered – CUDAカーネルエラー
- Torch is not able to use GPU – PyTorchのGPU認識失敗
多くの場合、git pullによるアップデート後や、新しいGPU(RTX 50シリーズなど)に cláusた際に発生します。RTX 3060 6GBなどのVRAMが少ないGPUでSDXLモデルを使用時に特に頻発します。
結論:解決策のポイント
CUDAエラーの原因に応じて、①VRAM管理の最適化、②PyTorch/Torchvisionのバージョン再インストール、③起動オプションの変更、の3つのアプローチから問題を解決できます。
具体的な手順
手順1:最も簡単な対策 – 起動オプションの追加
まず試すべき最简单的解決策です。
# webui-user.bat(Windows)または webui-user.sh(Linux)を編集
# 以下の行を探して編集
set COMMANDLINE_ARGS=--skip-torch-cuda-test --enable-zero显存最適化 --medvram
--skip-torch-cuda-test:PyTorchのCUDAテストをスキップ--medvram:VRAM使用量を中等度に最適化--enable-zero显存最適化:VRAMを最小限に抑えて起動
手順2:PyTorchの再インストール(最も効果的な対策)
アップデート後にCUDAエラーが発生した場合、PyTorchの再インストールが有効です。
# 既存のPyTorchをアンインストール
pip uninstall torch torchvision torchaudio -y
# 最新のCUDA対応PyTorchをインストール
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
# ※cu121はCUDA 12.1の場合。CUDA 11.8の場合は cu118 に変更
手順3:VRAM最適化設定の適用
VRAM不足によるOOMエラーへの対処です。
# webui-user.bat の COMMANDLINE_ARGS に以下を追加
set COMMANDLINE_ARGS=--lowvram --opt-split-attention --no-half
# 各オプションの説明
# --lowvram:VRAM使用量を最小限に(処理は遅くなるが安定)
# --opt-split-attention:Attention処理の最適化
# --no-half:FP32精度で実行(VRAM使用量は増加するが安定性UP)
手順4:新型GPU(RTX 50シリーズ / Blackwell)への対応
最新GPUでは特別なビルドが必要です。
# специальныйビルドのダウンロード・インストール
# GitHubリポジトリからblackwell対応バージョンを取得
# または、Dockerを使用する場合
docker pull lllyasviel/stable-diffusion-webui-forge:latest
手順5:Extension起因のエラーへの対応
AnimateDiffなどのExtensionでエラーが発生する場合、Extensionを無効化します。
# Web UI起動時に全てのExtensionを無効化
set COMMANDLINE_ARGS=--disable-all-extensions
# 起動後、必要なExtensionのみ逐一有効化
補足・注意点
- バージョン依存:PyTorch 2.0以上ではCUDA最適化が強化されています。古いバージョンは動作不良の原因になります。
- GPU環境:RTX 3060 6GBなどVRAMが12GB未満の場合、SDXLモデルは最適化なしでは動作しません。
- Windows/Linux差異:Windowsではwebui-user.bat、Linuxではwebui-user.shを編集します。
- Driver更新:GPUDriverが最新でない場合、CUDAエラーが発生します。NVIDIA Driverを最新バージョンに更新してください。
- RAM不足も注意:VRAMだけでなくシステムRAM不足も”CUDA out of memory”の原因になります。
原因別のクイックチャート
| エラータイプ | перв対策 |
|---|---|
| CUDA out of memory | –lowvram または –medvram オプション |
| no kernel image available | PyTorch再インストール / GPU Driver更新 |
| device-side assert | Extension無効化 / –disable-all-extensions |
| Torch not able to use GPU | –skip-torch-cuda-test オプション |
参考元
- GitHub Issue #12992 – CUDA out of memory after update
- Reddit – RuntimeError: CUDA error: no kernel image is available
- GitHub Issue #2524 – RuntimeError: CUDA error: out of memory
- GitHub Issue #535 – RuntimeError: CUDA error: device-side assert triggered
- Stack Overflow – Torch is not able to use GPU error