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を動かせました
コメント