【Ollama Docker】cuInit err: 999 GPU初期化エラーの解決法

この記事では、OllamaのDockerコンテナでGPU初期化時に cuInit err: 999 エラーが発生し、GPUが正しく利用されない問題について解説します。

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

  • 発生した環境やツール: Docker + Ollama、RTX 3090、NVIDIA Driver 535.216.01、CUDA 12.2
  • エラーメッセージ: cuInit err: 999cudart init failure: 999
  • 症状: nvidia-smiはコンテナ内でGPUを検出するが、Ollamaが実際のGPU計算に使用しない。GPU使用率が低いまま

2. 結論(解決策)

CUDAの初期化エラー999は「不明なエラー」を意味し、主にNVIDIAドライバーとCUDAライブラリのバージョン不一致、またはDocker内でのGPU権限設定の問題で発生します。ドライバーの更新とDocker設定の修正で解決します。

3. 具体的な手順

Step 1: ホスト側のNVIDIAドライバーを最新版に更新

# Ubuntu
sudo apt-get update
sudo apt-get install --only-upgrade nvidia-driver-545
sudo reboot

Step 2: NVIDIA Container Toolkitの再設定

sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker

Step 3: Dockerコンテナの起動オプションを確認

# --privileged フラグを追加して検証
docker run --rm --gpus all --privileged nvidia/cuda:12.0-base nvidia-smi

Step 4: OLLAMAデバッグログで確認

docker run -d --gpus=all   -e OLLAMA_DEBUG=1   -v ollama:/root/.ollama   -p 11434:11434   --name ollama ollama/ollama

# ログ確認
docker logs ollama 2>&1 | grep -E "CUDA|cuda|GPU|gpu"

4. 補足・注意点

  • エラーコード999はCUDA APIの「Unknown error」で、原因が多岐にわたります
  • Docker Desktop for WindowsのWSL2バックエンドを使用している場合、Windows側のNVIDIAドライバーが最新であることを確認してください
  • Proxmox等の仮想環境からGPUをパススルーしている場合、IOMMU設定の確認が必要です

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

参考元

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

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

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

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

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