1. はじめに
CUDA(Compute Unified Device Architecture)は、NVIDIAが開発したGPUを利用した並列計算プラットフォームです。機械学習やディープラーニング、3Dレンダリングなど、多くの計算処理で利用されています。
Ubuntu環境でCUDAを利用する際、以下の理由からCUDAのバージョンを確認することが重要です。
ドライバとの互換性
CUDAは特定のNVIDIAドライババージョンと対応しており、互換性がないと正しく動作しない場合があります。
ライブラリの対応状況
TensorFlowやPyTorchなどのライブラリは、特定のCUDAバージョンとcuDNNのバージョンを要求するため、適切なバージョンをインストールしているか確認が必要です。
環境の混乱を防ぐ
システムに複数のCUDAバージョンがインストールされている場合、どのバージョンが有効になっているかを把握し、必要に応じて切り替えを行う必要があります。
本記事では、UbuntuでCUDAのバージョンを確認する方法をわかりやすく解説します。
2. UbuntuでCUDAのバージョンを確認する方法
Ubuntu環境では、以下の方法でCUDAのバージョンを確認できます。
方法1: nvidia-smi コマンドで確認(最も簡単な方法)
NVIDIAのドライバには、GPUの状態を確認するツール nvidia-smi(NVIDIA System Management Interface)が含まれています。
実行コマンド
nvidia-smi出力例
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 530.41.03 Driver Version: 530.41.03 CUDA Version: 12.1 |
+-----------------------------------------------------------------------------+ポイント
CUDA Version: 12.1の部分が NVIDIAドライバがサポートする最大のCUDAバージョン です。- 実際にインストールされているCUDAツールキットのバージョンとは異なる 可能性があるため、次の方法も確認しましょう。
方法2: nvcc -V コマンドで確認(開発者向け)
CUDAが正しくインストールされている場合、nvcc(CUDAコンパイラ)のバージョンを確認できます。
実行コマンド
nvcc -V出力例
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Sun_Jul_30_19:09:40_PDT_2023
Cuda compilation tools, release 12.1, V12.1.105ポイント
release 12.1, V12.1.105→ 実際にインストールされているCUDAツールキットのバージョンnvidia-smiで表示されるバージョンと一致しないことがあるため注意が必要です。
方法3: version.txt を確認(手動での確認)
CUDAが /usr/local/cuda にインストールされている場合、version.txt にバージョン情報が記載されています。
実行コマンド
cat /usr/local/cuda/version.txt出力例
CUDA Version 12.1.105ポイント
nvcc -Vが使えない環境でも確認可能。/usr/local/cudaが 正しくシンボリックリンクされているか 確認が必要。
3. cuDNNのバージョン確認方法
cuDNN(CUDA Deep Neural Network)は、ディープラーニング向けのライブラリで、CUDAと組み合わせて使用されます。
CUDAのバージョン確認と合わせて、cuDNNのバージョンも確認することが重要です。
方法1: cudnn_version.h を確認
cuDNNのバージョンは、ヘッダーファイル cudnn_version.h に記載されています。
実行コマンド
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2出力例
#define CUDNN_MAJOR 8
#define CUDNN_MINOR 9
#define CUDNN_PATCHLEVEL 1ポイント
cuDNN 8.9.1がインストールされていることが分かる。grepコマンドを使用することで、cuDNNのバージョン情報を簡単に取得可能。- cuDNNのバージョンとCUDAのバージョンには互換性があるため、適切な組み合わせを確認することが重要。
方法2: dpkg コマンドで確認(Debian系Linuxのみ)
UbuntuのようなDebian系Linuxでは、dpkg コマンドを使用してインストールされているcuDNNのバージョンを確認できます。
実行コマンド
dpkg -l | grep libcudnn出力例
ii libcudnn8 8.9.1-1+cuda12.1 amd64 NVIDIA cuDNN Libraryポイント
libcudnn8 8.9.1-1+cuda12.1の部分で、cuDNNのバージョン(8.9.1) を確認。cuda12.1の部分で、対応するCUDAバージョン(12.1) を確認。
これらの方法を活用して、CUDA環境が適切に設定されているか確認しましょう。

4. 複数のCUDAバージョンがインストールされている場合の対処法
Ubuntu環境では、複数のCUDAバージョンをインストールすることが可能ですが、環境によってはどのバージョンがアクティブなのか混乱することがあります。
このような場合、適切なバージョンを使用するために切り替えを行う必要があります。
方法1: update-alternatives で切り替え
Ubuntuでは、update-alternatives を利用してCUDAのバージョンを切り替えることができます。
現在の設定を確認
update-alternatives --query cudaバージョンを切り替える
sudo update-alternatives --config cuda出力例
There are 3 choices for the alternative cuda (providing /usr/local/cuda).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/local/cuda-11.8 100 auto mode
1 /usr/local/cuda-10.2 50 manual mode
2 /usr/local/cuda-11.8 100 manual mode
3 /usr/local/cuda-12.1 110 manual mode
Press <enter> to keep the current choice[*], or type selection number:ポイント
update-alternatives --config cudaを実行すると、利用可能なCUDAバージョンのリストが表示されます。- 数字を入力することで、利用するCUDAバージョンを選択できます。
auto modeとmanual modeがあり、手動で切り替える場合はmanual modeを選択します。
方法2: シンボリックリンクを手動で設定する
シンボリックリンクを使用して、指定したバージョンのCUDAを有効にすることも可能です。
既存のシンボリックリンクを確認
ls -l /usr/local/cuda出力例
lrwxrwxrwx 1 root root 20 Feb 1 12:34 /usr/local/cuda -> /usr/local/cuda-11.8CUDAのバージョンを変更する
sudo rm /usr/local/cuda
sudo ln -s /usr/local/cuda-12.1 /usr/local/cuda確認
ls -l /usr/local/cudaポイント
/usr/local/cudaは、CUDAのデフォルトのパスとして利用されるため、ここを変更することでCUDAのバージョンを切り替えられます。ln -sコマンドで、新しいバージョンのCUDAにリンクを作成することで、簡単に切り替えが可能。
これらの方法を利用すれば、複数のCUDAバージョンがインストールされている場合でも、適切なバージョンを選択し使用することができます。
5. よくある質問(FAQ)
CUDAのバージョン確認に関して、よくある質問をまとめました。トラブルが発生した際の参考にしてください。
Q1: nvcc -V が見つからない!
nvcc コマンドが見つからない場合は、CUDAのパスが設定されていない可能性があります。
解決策1: CUDAがインストールされているか確認
ls /usr/local/cuda/解決策2: nvcc のパスを追加
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATHこれで nvcc -V を実行し、正しくバージョンが表示されるか確認してください。
Q2: nvidia-smi で表示されるCUDAバージョンが実際と違うのはなぜ?
nvidia-smi で表示されるCUDAのバージョンは、NVIDIAドライバがサポートする最大のCUDAバージョン です。
確認方法:
nvidia-smi出力例:
CUDA Version: 12.1しかし、実際にインストールされているCUDAのバージョンを確認するには、nvcc -V または version.txt を確認する必要があります。
Q3: CUDAとcuDNNの互換性を確認するには?
CUDAとcuDNNの互換性は、NVIDIA公式のサポートマトリックスを参照するのが最も確実です。
公式サイト:
また、以下のコマンドでインストールされているバージョンを確認し、適切な組み合わせになっているかチェックしてください。
CUDAのバージョン確認
nvcc -VcuDNNのバージョン確認
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2このように、環境を適切に管理することで、CUDAとcuDNNの問題を回避できます。
6. まとめ
本記事では、Ubuntu環境でCUDAのバージョンを確認する方法について詳しく解説しました。
重要なポイントを振り返りましょう。
CUDAバージョンの確認方法
| 方法 | コマンド | 特徴 |
|---|---|---|
nvidia-smi | nvidia-smi | ドライバがサポートするCUDAバージョンを確認 |
nvcc -V | nvcc -V | 実際にインストールされているCUDAツールキットのバージョンを確認 |
version.txt | cat /usr/local/cuda/version.txt | 手動でCUDAのバージョンを確認 |
cuDNNの確認方法
| 方法 | コマンド | 特徴 |
|---|---|---|
cudnn_version.h | cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2 | ヘッダーファイルからバージョンを確認 |
dpkg コマンド | dpkg -l | grep libcudnn | インストール済みのcuDNNバージョンを確認 |
CUDAバージョンの切り替え方法
| 方法 | コマンド | 特徴 |
|---|---|---|
update-alternatives | sudo update-alternatives --config cuda | 複数のCUDAバージョンを切り替え |
| シンボリックリンク | sudo ln -s /usr/local/cuda-XX.X /usr/local/cuda | 手動でCUDAのバージョンを変更 |
まとめのポイント
- CUDAのバージョンを正しく把握することが重要
- cuDNNとの互換性をチェックし、適切な組み合わせを使用する
- 複数のCUDAバージョンを使う場合は、バージョンの切り替え方法を理解しておく
適切に環境を管理することで、CUDAの機能を最大限に活用できます。
本記事が、あなたのUbuntu環境でのCUDAのバージョン確認に役立てば幸いです。
関連記事
1. はじめに CUDA(Compute Unified Device Architecture)は、NVIDIAが提供する並列コンピューティングプラットフォームおよびAPIであり、GPUを活用した高速な計算処理を可能にします。 機械学[…]
1. UbuntuでNvidiaドライバを使う理由 Ubuntuは、オープンソースのNouveauドライバをデフォルトで提供していますが、Nvidiaの公式ドライバをインストールすることで、より高いパフォーマンスを引き出すことができます。特[…]
1. はじめに UbuntuでGPUを活用する際には、その状態を正確に確認することが重要です。特に、ディープラーニングやグラフィックレンダリングの作業では、GPUの使用状況やドライバのバージョンを把握することが必須です。この記事では、NV[…]






