【StableDiffusion】CUDAエラーに対するトラブルシューティング【RTX50シリーズ】

先日、Stable Diffusionを使った時に以下のエラー出て画像生成ができなくなっていました。
RuntimeError: CUDA error: unspecified launch failure
(中略)
Compile with `TORCH_USE_CUDA_DSA` to enable device-side assertions.
この記事では上記エラーに対して私が行った対処方法をまとめます。
環境
エラー発生時のGPU、OS、NVIDIAドライバ周りのバージョンは以下の通りです。
- GPU: NVIDIA RTX 5070
- OS: Ubuntu 24.04 LTS
- NVIDIAドライバ 575.57.08
- CUDA 12.8
エラーの内容
RuntimeError: CUDA error: unspecified launch failure
というエラーは GPU上で実行しようとした処理(カーネル)が何らかの理由で正常に開始できなかった、という状況です。
一般的には以下の原因が考えられます。
このエラーの根本的な原因として、以下の可能性が考えられます。
- GPUメモリの不足: VRAM(GPUのメモリ)が不足している場合、新しい処理を開始できずにエラーとなることがあります。生成する画像の解像度が高すぎたり、同時に多くのプロセスを実行しようとしたりすると発生しやすいです。
- GPUドライバの問題: 古いドライバや破損したドライバが原因で、ソフトウェアがGPUを正常に操作できない場合があります。
- ハードウェアの不具合: ごく稀に、GPU自体の物理的な故障や、GPUとマザーボードの接続不良が原因となることもあります。
- ソフトウェアの競合: 他のアプリケーションがGPUを占有している場合、Stable DiffusionがGPUリソースにアクセスできずエラーになることがあります。
対処法: NVIDIAドライバを適切なバージョンに変更
今回の私の状況では、直前にapt
コマンドでパッケージをアップデートしていました。
その時にNVIDIAドライバがアップデートされた結果、GPUに合わないバージョンのドライバが入れられたと考えられます。
そこで、NVIDIAドライバをGPUに合うバージョンに変更することにしました。
ubuntu-drivers-common
というパッケージを使うとデバイスに合ったドライバを探してくれます。
そこでまず、ubuntu-drivers-common
を以下のコマンドでインストールします。
sudo apt install ubuntu-drivers-common
次に、以下のコマンドでGPUドライバを探索します。
ubuntu-drivers devices
出力例は以下の通りです。
vendor : NVIDIA Corporation
driver : nvidia-driver-580-server - distro non-free
driver : nvidia-driver-570-open - third-party non-free
driver : nvidia-driver-575-open - third-party non-free
driver : nvidia-driver-570 - third-party non-free
driver : nvidia-driver-570-server - distro non-free
driver : nvidia-driver-580 - third-party non-free
driver : nvidia-driver-570-server-open - distro non-free
driver : nvidia-driver-580-server-open - distro non-free
driver : nvidia-driver-580-open - third-party non-free recommended
driver : nvidia-driver-575 - third-party non-free
driver : xserver-xorg-video-nouveau - distro free builtin
この中で、recommended と書かれたドライバをインストールします。
上の例であれば、nvidia-driver-580-open
をインストールすればよいです。
インストールはapt
コマンドで行います。
sudo apt install nvidia-driver-580-open
これでNVIDIAドライバが更新されるので一度再起動します。
再起動後、以下のコマンドでGPUが表示されればインストールは成功です。
nvidia-smi
インストールが完了したらStableDiffusionを起動して画像生成テストを行い、ターミナルの出力を確認します。
画像生成AIならPICSOROBAN
PICSOROBANは、ブラウザから手軽にStable Diffusionを使った画像生成が可能なクラウドサービスです。高価なPCやGPUを必要とせず、インストールやプログラミングも不要なため、テキストプロンプトを入力するだけで簡単に画像を生成できます。
CivitaiのモデルやLoRAをドラッグ&ドロップでアップロードして利用できるほか、ControlNet機能でキャラクターのポーズや線画を細かく制御することも可能です。画像生成を効率化するさまざまな拡張機能にも対応しており、これから画像生成AIを試したい方にもおすすめです。