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.8
CUDAのバージョンを変更する
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 -V
cuDNNのバージョン確認
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を活用した高速な計算処理を可能にします。 機械学[…]
UbuntuでNvidiaドライバをインストールする方法 1. 導入:UbuntuでNvidiaドライバを使う理由 Ubuntuは、オープンソースのNouveauドライバをデフォルトで提供していますが、Nvidiaの公式ドライ[…]
1. はじめに UbuntuでGPUを活用する際には、その状態を正確に確認することが重要です。特に、ディープラーニングやグラフィックレンダリングの作業では、GPUの使用状況やドライバのバージョンを把握することが必須です。この記事では、NV[…]