【vLLM】「no kernel image is available」CUDAエラーの解決法

この記事では、vLLMでモデルをサーブする際に発生する「CUDA error: no kernel image is available for execution on the device」エラーについて、海外コミュニティでの解決策を要約して解説します。

1. どんな問題(エラー)が発生したか?

  • 発生した環境やツール: vLLM 0.7〜0.8系、Docker / pip install環境
  • エラーメッセージ: CUDA error: no kernel image is available for execution on the device
  • 症状: vllm serveコマンドでモデルを起動しようとすると、CUDAカーネルの互換性エラーで失敗する

2. 結論(解決策)

vLLMのビルドに使われたCUDAバージョンとGPUのCompute Capabilityが一致していないことが原因です。GPUに対応したCUDAバージョンのvLLMをインストールし直すことで解決します。

3. 具体的な手順

  1. GPUのCompute Capabilityを確認
    python -c "import torch; print(torch.cuda.get_device_capability())"

    例:RTX 3090 → (8, 6)、RTX 4090 → (8, 9)、Tesla P100 → (6, 0)

  2. CUDAバージョンの互換性確認
    nvidia-smi  # CUDAバージョンを確認
    python -c "import torch; print(torch.version.cuda)"  # PyTorchのCUDAバージョン
  3. 対応するvLLMバージョンをインストール
    pip install vllm --upgrade

    古いGPU(Pascal世代)の場合:

    pip install vllm==0.6.x  # 古いCompute Capability対応版
  4. cuda-compatパッケージで互換性を確保
    sudo apt-get install cuda-compat-12-9
    export LD_LIBRARY_PATH=/usr/local/cuda-12.9/compat:$LD_LIBRARY_PATH

4. 補足・注意点

Docker環境の場合、公式イメージのCUDAバージョンとホスト側のドライバーバージョンの互換性も確認してください。--enforce-eagerフラグを追加するとCUDA Graphを無効化でき、デバッグが容易になります。


5.
👉 【RunPod】1時間数十円から使える高性能クラウドGPU

参考元

本記事は海外コミュニティの複数のディスカッションを要約・再構成したものです。

Source: vLLM GitHub Issues

💡 この問題を根本的に解決するには

ローカル環境のGPUトラブルが頻発する場合、ハードウェアの見直しも検討してみてください:

💡 この問題を根本的に解決するには

ローカル環境でGPUトラブルが頻発する場合、クラウドGPUサービスの利用も検討してみてください。環境構築の手間なく、すぐにAI開発を始められます。

  • RunPod — RTX 4090が$0.44/h〜、ワンクリックでJupyter環境が起動
  • Vast.ai — コミュニティGPUマーケットプレイス、最安値でGPUレンタル
この記事は役に立ちましたか?