ComfyUIでGPUが認識されない原因の大半はPyTorchのCUDAバージョン不整合です。ポータブル版の埋め込みPython内でCUDA対応PyTorchを再インストールすれば、ほぼ確実に解決します。
ComfyUIで画像生成が異常に遅い、「Torch not compiled with CUDA enabled」エラーで起動しない。この記事ではNVIDIA・AMD・Mac環境別に原因と解決コマンドを解説します。
ComfyUIがGPUを認識しないとき、まず何を確認すべき?
起動時のコンソールに出るDevice:の行を見ます。正常ならDevice: cuda:0 NVIDIA GeForce RTX 4070 Ti SUPER : cudaMallocAsyncのようにGPU名が続きます。ここがDevice: cpuになっていれば、GPUではなくCPUで処理しています。エラーで起動が止まる場合は、PyTorchとCUDAのバージョン不整合です。
表記の訂正(2026年8月16日)
本記事は当初この行を「Using device: cuda」と記載していたが、ComfyUIのソース(comfy/model_management.py)を確認したところ、実際に出力されるのはDevice:で始まる行だった。Using ... device:という表記はDirectMLを使う場合の別の行で、NVIDIA環境では出ない。検証環境のv0.3.76と最新のv0.33.1の両方で同じ形式であることを確認している。
Crystoolsのオーバーレイで生成中のGPU使用率を確認できます。0%のまま生成が進んでいたらCPU動作です。デバイスマネージャーにGPUが表示されない場合はハードウェアの問題で、PCを15分放電して再起動すると復旧するケースがあります。
【NVIDIA】ポータブル版「Torch not compiled with CUDA enabled」の完全修復手順は?
最も多い報告がこのエラーです。原因は、アップデートバッチやカスタムノードのインストール時にCPU版PyTorchが誤って上書きされることにあります。
ポータブル版(ComfyUI_windows_portable)は独自の埋め込みPython環境を使っているため、必ずpython_embededフォルダ内でコマンドを実行する必要があります。
コマンドプロンプトでpython_embededフォルダに移動し、以下を実行します。
.\python.exe -m pip uninstall torch torchvision torchaudio -y
自分のGPUに合ったCUDAバージョンを指定してインストールします。
.\python.exe -m pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu128
Numpyエラーが出る場合
PyTorch再インストール後にNumpyが2.x系に上がり、カスタムノードが動かなくなることがあります。その場合は .\python.exe -m pip install --force-reinstall numpy==1.26.4 でダウングレードしてください。
RTX 5090・5080(Blackwell世代)特有のエラーにはどう対処する?
RTX 50シリーズ(sm_120)は安定版PyTorchに対応カーネルが含まれていないため、「sm_120 is not compatible」エラーが出ます。
| GPU世代 | 発生エラー | 必要なPyTorch |
|---|---|---|
| RTX 40系以前(Ampere/Ada) | Torch not compiled with CUDA | Stable + cu128 |
| RTX 50系(Blackwell) | sm_120 is not compatible | Nightly + cu130 |
| GTX 10系(Pascal) | GPU too old | Stable + cu126 |
Blackwell環境ではxformersのインストールは厳禁です。依存関係の解決でNightly版PyTorchが安定版にダウングレードされ、環境が即座に崩壊します。代替としてtriton-windowsを使い、アテンションにはtorch.compile + SDPAを利用してください。
Blackwell環境の鉄則
①安定版ではなくNightly(cu130)を使う ②xformersは絶対にインストールしない ③triton-windowsで代替する。この3つを守れば安定動作します。
GTX 10系(Pascal世代)で「GPU too old」エラーが出る場合の対処法は?
GTX 1080・1070・1060などのPascal世代は、最新のPyTorch(cu128以降)でサポートが打ち切られています。
対処法はupdate_comfyui_and_python_dependencies.batをテキストエディタで開き、CUDAバージョンをcu129からcu126に書き換え、upgradeをforce-reinstallに変更して実行するだけです。これでPascal世代でもGPU動作を継続できます。
💡 延命より買い替えが現実的な場合も:Pascal世代は設定で動かせても生成速度の頭打ちは避けられない。いまのPCのGPUだけ載せ替えるならBTOパソコンのGPU交換ガイド(手順・費用・注意点)、本体ごと新調するならRTX 5070 Ti搭載PCの価格推移と買い時を参考に。
AMD Radeon・Mac環境でGPUを使うには?
ComfyUI v0.7.0以降、AMD RadeonはWindows上でROCm 7.1.1が公式サポートされました。ZLUDAは不要です。「AMD ROCm 7.1.1 Preview Driver」をインストールし、起動引数に--use-pytorch-cross-attentionを付けてください。
※AMD・Apple Silicon環境は当サイトの検証環境に無いため、この節だけは公開情報にもとづく記述で、実機での確認をしていない。Mac(Apple Silicon)はMPSバックエンドを使います。メモリ不足時は--force-fp16 --cpuで回避できます。
エラーメッセージ別の逆引き早見表
コンソールに出た英文をそのまま探せるように、原因と対処を1枚にまとめました。まず出ている文言を特定してから手を動かすのが最短です。
| コンソールに出るメッセージ | ほぼこれが原因 | やること |
|---|---|---|
Torch not compiled with CUDA enabled |
CPU版のPyTorchに入れ替わっている。カスタムノードのpip installや更新バッチが、GPU版をPyPIのCPU版で上書きするのが定番パターン |
GPU版のPyTorchを入れ直す(下の表でビルドを選ぶ) |
No CUDA GPUs are available |
GPUの世代とCUDAビルドが噛み合っていない。RTX 50系にcu126以下を入れているときに出やすい | cu128以上へ。--cuda-deviceで別IDを指定していないかも確認 |
GPU/accelerator not supported (available: cpu, required: gpu :: nvidia cuda) |
ComfyUIから見えるデバイスがCPUだけになっている | 上2つと同じ。Device: cpuと出ていれば確定 |
PyTorch no longer supports this GPU because it is too old |
Pascal(GTX 10系)以前に新しいCUDAビルドを入れた | cu126以下に固定する |
⚠️ 更新バッチが原因のことが本当に多い: update_comfyui_and_python_dependencies.batはComfyUIだけでなくPyTorchごと入れ直すスクリプトです。実行直後にTorch not compiled with CUDA enabledが出る報告は公式リポジトリにも上がっています(Issue #11575)。いま問題なく動いているなら実行しないでください。更新したいだけならupdate_comfyui.batで足ります。
PyTorchのCUDAビルド(cu126・cu128・cu130)はどれを選ぶ?
「NVIDIAのGPUなのに動かない」の大半は、GPUの世代に対して新しすぎる/古すぎるビルドを入れていることが原因です。世代で決まります。
| GPU世代 | 選ぶビルド | 理由 |
|---|---|---|
| RTX 50系(Blackwell / sm_120) | cu128以上(現行の推奨はcu130) |
CUDA 12.8未満にはsm_120のカーネルが入っておらず、そもそも初期化できない |
| RTX 40/30系(Ada・Ampere) | cu126〜cu130のどれでも可 |
広くサポートされている。迷うならComfyUI公式が推奨する安定版に合わせる |
| GTX 10系(Pascal) | cu126以下に固定 | 新しいビルドではサポートが打ち切られている |
💡 「安定版はRTX 50系に非対応」はもう古い情報です。 sm_120のサポートは安定版PyTorch 2.7.0で取り込まれており、いまはNightlyでなくても動きます。ComfyUI公式READMEが案内している安定版のインストール先もcu130です(2026年8月時点)。古い記事の「Nightly必須」という記述に引きずられて不安定なビルドを入れないようにしてください。
GPUを指定して起動したい/複数GPUを使い分けたいときは?
GPUが2枚刺さっている、あるいは内蔵GPUが優先されてしまう環境では、どのGPUを使うかをComfyUIに明示できます。起動引数--cuda-deviceに、使いたいデバイスのIDを渡してください。
# 2枚目のGPU(ID=1)だけを使わせる python main.py --cuda-device 1 # 0番と1番の2枚を見せる python main.py --cuda-device 0,1
この引数は指定したID以外のデバイスをComfyUIから見えなくするのがポイントです。裏を返すと、存在しないIDを指定すると「GPUが無い」状態になります。1枚しか積んでいないPCで--cuda-device 1と書いてしまいNo CUDA GPUs are availableで悩む、というのはよくある取り違えです。まずは引数を外して素の状態で起動し、Device:の行にGPU名が出るか確認してください。
ポータブル版を使っている場合は、run_nvidia_gpu.batをテキストエディタで開いてmain.pyの後ろに同じ引数を書き足せば固定できます。
まとめ:再発防止の3つのルール
①アップデートバッチを安易に実行しない ②カスタムノード追加後はDevice:の行にGPU名が出るか毎回確認 ③RTX 50系はcu130を手動管理する
ドライバやGPUの相性問題がどうしても解決しないなら、GPUに依存しないクラウド環境で生成する方法もあります。ConoHa AI CanvasはブラウザからComfyUI・AUTOMATIC1111を使え、GPU認識やCUDAの設定でつまずく心配がありません。
ComfyUIでGPUが認識されているか確認する方法は?▼
RTX 5090でComfyUIを動かすにはどうすればいい?▼
cu130)。またxformersは使わず、triton-windows + torch.compile + SDPAの組み合わせで代替してください。特定のGPUを指定してComfyUIを起動するには?▼
起動引数--cuda-deviceにデバイスIDを渡します(例:python main.py --cuda-device 1、複数なら0,1)。指定したID以外のGPUはComfyUIから見えなくなるため、1枚しか積んでいないPCで--cuda-device 1と書くとNo CUDA GPUs are availableになります。まず引数なしで起動し、コンソールのDevice:の行にGPU名が出るか確認してください。
cu126とcu128・cu130のどれを入れればいい?▼
GPUの世代で決まります。RTX 50系(Blackwell)はCUDA 12.8未満だと初期化できないのでcu128以上(現行の推奨はcu130)、GTX 10系(Pascal)は新しいビルドでサポートが切れているのでcu126以下に固定します。RTX 40/30系はどちらでも動くため、ComfyUI公式が案内している安定版に合わせるのが無難です。
コメント