Ubuntu 22.04, 24.04, 26.04 での NVIDIA cuDNN のインストール
NVIDIA cuDNN は,畳み込み,プーリング,正規化,アテンションなどのディープラーニングの基本演算を NVIDIA GPU 向けに実装したライブラリである.TensorFlow や PyTorch などの GPU 版が内部で利用する.
NVIDIA cuDNN のダウンロードのページ: https://developer.nvidia.com/cudnn-downloads
NVIDIA cuDNN の現行系列は cuDNN 9 であり,NVIDIA CUDA ツールキット 12.x および 13.x に対応する.NVIDIA がサポートする Ubuntu は 22.04, 24.04, 26.04 である.
前提となる確認
cuDNN は,インストール済みの NVIDIA CUDA ツールキット のメジャーバージョンに対応するものを選ぶ.
端末で,次のコマンドを実行する. 表示された「release」の値が,インストール済みの NVIDIA CUDA ツールキットのバージョンである.
nvcc --version
端末で,次のコマンドを実行する. Ubuntu のバージョンを確認する.
lsb_release -a
nvidia-cudnn-cu12 など)として自動的に入るため,システムへの cuDNN のインストールは不要である.C/C++ から cuDNN を直接利用する場合や,ソースからビルドする場合に,以下の手順でインストールする.
パッケージ管理システムを用いたインストール
NVIDIA が推奨する方法である.CUDA のネットワークリポジトリを有効化したうえで,cuDNN のメタパッケージをインストールする.
- 端末で,次のコマンドを実行する.
CUDA のネットワークリポジトリを有効化する.NVIDIA CUDA ツールキットのインストール時に有効化済みの場合は,この手順は不要である.コマンド中の ubuntu2404 の箇所は,Ubuntu 22.04 では ubuntu2204,Ubuntu 24.04 では ubuntu2404,Ubuntu 26.04 では ubuntu2604 とする.
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb sudo dpkg -i cuda-keyring_1.1-1_all.deb - 端末で,次のコマンドを実行する.
リポジトリの情報を更新する.
sudo apt update - 端末で,次のコマンドを実行する.
NVIDIA CUDA ツールキット 12.x を使用している場合.
sudo apt -y install cudnn9-cuda-12NVIDIA CUDA ツールキット 13.x を使用している場合.
sudo apt -y install cudnn9-cuda-13
tar 形式のファイルを用いたインストール
パッケージ管理システムを使用せずに,特定のバージョンの cuDNN を配置する場合の方法である.
- NVIDIA cuDNN のダウンロードのページを開く
- Operating System で Linux,Architecture で x86_64,Distribution で Tarball,CUDA のメジャーバージョン(12 または 13)を選び,表示されたリンクから .tar.xz ファイルをダウンロードする.
ファイル名は
cudnn-linux-x86_64-<バージョン>_cuda12-archive.tar.xzの形式である.各バージョンのファイルは https://developer.download.nvidia.com/compute/cudnn/redist/ からも取得できる. - 端末で,次のコマンドを実行する.
ダウンロードしたディレクトリに移動し,ファイルを展開する.バージョンの箇所は,ダウンロードしたファイルに合わせる.
cd <ダウンロードしたディレクトリ> tar -xvf cudnn-linux-x86_64-9.25.0.15_cuda12-archive.tar.xz - 端末で,次のコマンドを実行する.
ヘッダファイルとライブラリを NVIDIA CUDA ツールキットのディレクトリにコピーする.ライブラリのシンボリックリンクを保つため,cp -P を使用する.
sudo cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda/include sudo cp -P cudnn-*-archive/lib/libcudnn* /usr/local/cuda/lib64 sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn* - 端末で,次のコマンドを実行する.
共有ライブラリの検索パスに
/usr/local/cuda/lib64を追加し,キャッシュを更新する.echo "/usr/local/cuda/lib64" | sudo tee /etc/ld.so.conf.d/cuda.conf sudo ldconfig
インストールの確認
端末で,次のコマンドを実行する.
CUDNN_MAJOR,CUDNN_MINOR,CUDNN_PATCHLEVEL の値により,インストールされている cuDNN のバージョンを確認できる.
grep -A 2 "define CUDNN_MAJOR" /usr/include/cudnn_version*.h /usr/local/cuda/include/cudnn_version*.h 2>/dev/null
端末で,次のコマンドを実行する.
共有ライブラリが検索パスに登録されている場合,libcudnn.so.9 などが表示される.
ldconfig -p | grep libcudnn
サンプルプログラムにより動作を確認する場合は,端末で,次のコマンドを実行する. 最後に「Test passed!」と表示されれば,cuDNN が動作している.
sudo apt -y install libcudnn9-samples
cp -r /usr/src/cudnn_samples_v9 $HOME
cd $HOME/cudnn_samples_v9/mnistCUDNN
make clean && make
./mnistCUDNN