ComfyUIでCUDAエラーが出た場合は、エラー文の後半まで読んで原因を分類します。
「CUDA」と書かれていても、VRAM不足、GPUが認識されていない状態、PyTorchとGPUの対応、追加ノードの処理失敗では、対処が異なります。
この記事は、主にNVIDIA GPUを使うローカル環境向けです。
MacやAMD・Intel GPUの環境へ、NVIDIA向けの導入コマンドをそのまま適用しないでください。
エラー文から確認する場所を分ける
| 代表的な表示 | 先に確認する内容 |
|---|---|
| CUDA out of memory | VRAM使用量、解像度、バッチ数、モデルの規模 |
| Torch not compiled with CUDA enabled | ComfyUIが使うPyTorchの種類とPython環境 |
| No CUDA GPUs are available | GPUの認識、ドライバー、実行環境 |
| no kernel image is available for execution on the device | GPUの世代とライブラリ・拡張の対応 |
| 特定ノードの実行時だけ失敗 | そのノード、モデル、依存ライブラリの組み合わせ |
最初にエラー全文、失敗したノード、GPU名、ComfyUIの導入方式、直前に変更した内容を記録します。
公式のComfyUIトラブルシューティングにも、GPUやPyTorchに関する確認方法が掲載されています。
1.ComfyUIが使っているPythonを確認する
ポータブル版は同梱のPython、手動導入版は仮想環境などを使うことがあります。
ターミナルで単にpythonを実行した結果が、ComfyUIの環境を示すとは限りません。
起動ログやランチャーの設定で、実際に使われているPythonを確認します。
以下は確認用のPythonコードです。
ComfyUIを動かしている環境で実行することが前提で、ライブラリの追加や削除は行いません。
import sys
import importlib.metadata
import torch
print("Python:", sys.executable)
print("PyTorch:", importlib.metadata.version("torch"))
print("CUDA build:", torch.version.cuda)
print("CUDA available:", torch.cuda.is_available())
CUDA availableは、そのPythonからCUDAを利用できるかを確認する値です。
PyTorch公式リファレンスに関数の説明があります。
Trueでも、すべてのモデルや追加ノードが正常に動くことまで保証する値ではありません。
torch自体を読み込めない場合は、確認に使ったPythonが正しいかを先に見直します。
そこで慌てて別の環境へPyTorchを追加しても、ComfyUI側の状態は変わらないことがあります。
2.GPUが認識されているか確認する
NVIDIAの環境では、ターミナルで次のコマンドを実行し、GPUとドライバーの情報が表示されるか確認できます。
nvidia-smi
GPU名が表示されない場合は、OSやドライバー側の認識を確認します。
表示されるのにComfyUI側で使えない場合は、Python環境やPyTorchの構成を調べます。
コマンドが見つからない場合も、それだけでGPUが壊れていると断定せず、ドライバーの導入状態やコマンドの参照先を確認してください。
表示されるCUDAの情報と、PyTorchがどのCUDA向けに構築されているかは、同じ項目として扱わないようにします。
必要なのは、GPU、ドライバー、PyTorch、ComfyUIの対応する組み合わせです。
3.PyTorchを変更する前に、導入方式と対応条件を確認する
「Torch not compiled with CUDA enabled」の場合は、CPU向けの構成や意図しない環境を使っていないか確認します。
手動環境で導入し直す必要がある場合も、ComfyUIの案内とPyTorch公式のインストール選択を照らし合わせてください。
検索で見つけた古いコマンドをそのまま実行したり、最新版に揃えれば必ず直ると考えたりしないことが大切です。
GPUの世代、追加ノード、Pythonのバージョンによって対応条件が変わります。
Desktop版など管理された環境では、その版の修復・更新方法を優先します。
変更前にバージョンと起動方法を控え、動いていた環境へ戻す手段を用意しましょう。
別のソフトが使う共通のPython環境へ、無関係な変更を加えないようにします。
4.no kernel imageは、対応する実行コードを確認する
「no kernel image is available for execution on the device」は、対象GPUで実行できるコードが用意されていない場合に関係するエラーです。
VRAMを減らす設定だけで解決する問題とは限りません。
GPUと、PyTorchや追加の拡張ライブラリが対応しているか確認します。
NVIDIAのCUDAエラー定義にも該当するエラーが説明されています。
基本ワークフローで動くのに特定の追加ノードだけ失敗する場合は、そのノードが使う拡張の対応条件を優先して調べてください。
5.out of memoryなら、生成条件を軽くして比較する
エラーがVRAM不足なら、バッチ数を1にし、モデルが対応する範囲で解像度を下げます。
ゲームや別の生成環境など、同時にGPUメモリを使うアプリも確認します。
モデル読み込みで止まるのか、サンプリング、VAEデコード、アップスケールで止まるのかを区別してください。
小さい基本構成で成功した後に、追加処理を一つずつ戻すと、負荷が増える場所を見つけやすくなります。
解決後は元の用途まで確認する
起動できたこと、GPUが認識されたこと、画像を最後まで生成できたことを別々に確認します。
テストが成功したら、普段使うモデルとワークフローへ戻し、保存まで完了するか試してください。
サポートへ相談する場合は、エラー全文と環境情報、基本構成での結果、直前の変更をまとめます。
ログを共有する前には、ローカルのパス、アカウント情報、APIキーなどが含まれていないかを確認しましょう。
