RTX 50シリーズでStable Diffusion Automatic1111が起動しない原因とPyTorchエラー解決方法【CUDA対応】

AI系ノウハウ

Stable Diffusion WebUI(Automatic1111)を RTX 50シリーズ(5070 Ti / 5080 など) で動かそうとすると、起動時に以下のようなCUDAエラーが発生することがあります。

no kernel image is available for execution on the device

私の環境(RTX 5070 Ti)でも、初回セットアップ時にこのエラーが出て動かず、かなり悩みました。
原因は、PyTorchがRTX 50シリーズのGPUアーキテクチャ(sm_120)に対応していなかったこと。

この記事では、発生する原因の仕組みと、PyTorch入れ替えによる解決方法をまとめます。
RTX 50シリーズを使ってStable Diffusionを動かしたい方の参考になれば幸いです。


発生するエラー内容と環境例

エラーメッセージ:

no kernel image is available for execution on the device

環境例:

  • GPU:RTX 5070 Ti(同様にRTX 5080 / 5090でも発生するはず)
  • Python:3.10
  • Stable Diffusion WebUI(Automatic1111)

👉 私の場合は5070 Tiで発生しましたが、RTX 50シリーズ共通の問題と考えられます。


原因:PyTorchがRTX 50シリーズに未対応

  • RTX 50シリーズは sm_120世代のGPUアーキテクチャ
  • Automatic1111の標準セットアップでは古いPyTorch(例:2.1.2+cu121)がインストールされる
  • このバージョンは sm_120をサポートしておらずCUDAエラーになる

👉 グローバル環境で新しいTorchを入れても、A1111のvenvには反映されない点に注意。


解決方法:Automatic1111のvenv内Torchを入れ替える

手順① venvを削除

stable-diffusion-webui\venv フォルダを削除(またはリネーム)。

手順② webui-user.bat に追記して再度実行

:: CUDA 12.8対応のPyTorchを指定
set TORCH_COMMAND=pip install --index-url https://download.pytorch.org/whl/cu128 torch torchvision

:: 起動チェックを一時的にスキップ(安定後は外す)
set COMMANDLINE_ARGS=--skip-torch-cuda-test

手順③ 起動後に確認

venv\Scripts\python.exe -c "import torch; print(torch.__version__); print(torch.cuda.get_arch_list())"

期待される出力例:

2.8.0+cu128
['sm_61', 'sm_70', 'sm_75', 'sm_80', 'sm_86', 'sm_90', 'sm_100', 'sm_120']

👉 sm_120 が含まれていればRTX 50シリーズで利用可能。


注意点・補足

  • NVIDIAドライバは最新に更新しておくこと
  • xformers はCUDA 12.8対応版が無い場合がある → まずはオフで起動確認
  • 起動が安定したら --skip-torch-cuda-test を外して運用するのがおすすめ

まとめ

  • RTX 50シリーズでは、標準PyTorchがsm_120アーキテクチャに未対応で起動エラーが出る
  • 原因はAutomatic1111のvenvが古いPyTorchをインストールするため
  • TORCH_COMMAND でCUDA 12.8対応版を指定すれば解決可能
  • 私の環境(RTX 5070 Ti)でも、上記手順で正常にStable Diffusionを動かせました

コメント

タイトルとURLをコピーしました