【CUDA Toolkit】バージョン確認と適切なバージョン選択の解決法

はじめに:CUDAバージョンが分からない・選べない問題

CUDAを使用してGPUプログラミングを始めようとした際、多くの開発者が以下のような問題に直面します。

  • 「nvcc –version」と入力しても「コマンドが見つかりません」と表示される
  • インストールされているCUDAのバージョンが何だか分からない
  • GPUドライバーとCUDA Toolkitのバージョンが合っているのか知りたい
  • 複数のプロジェクトで異なるCUDAバージョンが必要になった

本記事では、これらの問題を解決するための具体的な方法をステップバイステップで解説します。

結論:CUDAバージョン確認と選択のポイント

現在インストールされているCUDAバージョンはnvcc --versionまたはnvidia-smiコマンドで確認できます。CUDA Toolkitは後方互換性があるため、新しいバージョンをインストールすれば基本的に動作しますが、GPUドライバーのバージョンによって対応するCUDAバージョンが決まります。NVIDIA公式のCUDA Toolkit Archiveから、目的や環境に応じたバージョンを選択してください。

ステップ1:現在のCUDAバージョンを確認する

方法1:nvccコマンドを使用する(推奨)

CUDA Toolkitがインストール済みの場合、以下のコマンドで最も正確にバージョン確認ができます。

nvcc --version

正常にインストールされていると、以下のような出力が表示されます。

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2024 NVIDIA Corporation
Built on Wed_Apr_17_19:19:55_PDT_2024
Cuda compilation tools, release 12.5, V12.5.52
Build cuda_12.5.r12.5/compiler.34097967_0

この出力から、CUDA 12.5がインストールされていることが確認できます。

方法2:nvidia-smiコマンドを使用する

nvccがインストールされていない場合でも、NVIDIA-driverが 入っていればnvidia-smiコマンドでGPU情報を確認できます。

nvidia-smi

出力例:

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 535.154.05   Driver Version: 535.154.05   CUDA Version: 12.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  Off  | 00000000:01:00.0  On |                  N/A |
+-------------------------------+----------------------+----------------------+

ここで表示される「CUDA Version」はサポートされる最大CUDAバージョンです。実際のインストール済みバージョンとは異なる場合があるため、注意してください。

方法3:バージョンファイルを確認する

Linux環境では、以下のパスにバージョン情報が保存されている場合があります。

cat /usr/local/cuda/version.txt

または

cat /usr/local/cuda/version.json

これらのファイルが存在する場合、インストールされたCUDA Toolkitのバージョンが直接確認できます。

ステップ2:GPUドライバーの互換性を確認する

CUDA Toolkitを選択する際、最も重要なのがGPUドライバーとの互換性です。CUDA Toolkit 13.1 リリースノートによると、各CUDA Toolkitバージョンには最小必要なドライバーversionがあります。

基本的な法則は以下の通りです:

  • 新しいCUDAバージョンほど新しいドライバーを必要とする
  • ドライバーは後方互換性がある(新しいドライバー古いCUDAバージョン也能動)
  • 少なくとも-driverでサポートされるCUDAバージョン以上のCUDA Toolkitをインストールする必要がある

具体的な対応表はNVIDIA公式ドキュメント参照ですが、目安として:

  • CUDA 12.x 系 → ドライバー 525以上
  • CUDA 11.x 系 → ドライバー 450以上

ステップ3:適切なCUDAバージョンを選択する

目的別の推奨バージョン

  • 最新のGPU機能を使いたい → 最新のCUDA 13.x シリーズ
  • 安定性を重視 → CUDA 12.5.x などの偶数バージョン(長期サポート傾向)
  • 古いプロジェクトをメンテナンス → そのプロジェクトが必要とするバージョン
  • 研究・学術用途 → 研究室の環境や論文の再現性に合わせる

複数バージョンの共存

異なるプロジェクトで異なるCUDAバージョンが必要な場合、CUDA_HOME環境変数でバージョンを切り替えられます。

# CUDA 12.5を使用する場合
export CUDA_HOME=/usr/local/cuda-12.5
export PATH=$CUDA_HOME/bin:$PATH
export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH

# CUDA 11.8に切り替えたい場合
export CUDA_HOME=/usr/local/cuda-11.8
export PATH=$CUDA_HOME/bin:$PATH
export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH

これを~/.bashrc~/.zshrcに追加すれば、shell起動時に自動的に設定されます。

ステップ4:Windows環境でVisual Studioを使用する場合

WindowsでCUDAを使用する場合、Visual Studioとの統合が必要です。Windows CUDA インストールガイドによると、以下の手順でバージョンを指定できます:

  1. Visual Studioプロジェクトを開く
  2. プロジェクト名を右クリックし、「ビルド依存関係」→「ビルドのカスタマイズ」を選択
  3. 使用したいCUDA Toolkitバージョンを選択

これにより、特定のCUDAバージョンでコンパイルする際のビルド設定が完了します。

補足・注意点

バージョン確認でよくある落とし穴

  • nvccが見つからない → CUDA Toolkitがインストールされていない、またはPATHが通っていない
  • nvidia-smiのCUDA Versionとnvccのバージョンが異なる → 両者は異なる意味を持つ(前者 driver後者)はインストール済みToolkit)
  • TensorFlow/PyTorchでエラー → この些框架有各自的CUDA版本要求,不能只看CUDA Toolkit版本

環境別の注意点

  • WSL2 → Windowsホストのdriverがそのまま使用可能
  • Docker → NVIDIA Container Toolkitを使用し、ホストdriverとの整合性を確認
  • ラップトップ(省電力モード) → GPUが十分に認識されていない場合あり

トラブルシューティング

それでも解決しない場合は、以下のコマンドで詳細な情報を取得してください:

# CUDAの詳細情報を確認
nvcc -V

# GPUの認識状況を確認
nvidia-smi -L

# 使用可能なCUDAバージョンをリスト
ls /usr/local/cuda*

参考元

おすすめ環境

🔧 快適な開発環境のために

本記事の手順をスムーズに進めるために、以下のスペックを推奨します。

この記事は役に立ちましたか?