💻

NVIDIA Driver, CUDA, cuDNNのインストールをAPTでサクッと済ませる - Ubuntu Linux

2023/11/13に公開

この記事のポイント

  • NVIDIA Driver, CUDA, cuDNNはAPTでリモートリポジトリからインストールすると便利です。

  • これによってsudo apt update; sudo apt upgradeによる自動更新が可能になります。

  • 一方、バージョンを指定したアップグレード、ダウングレードも同じ手続きでできます。

  • Ubuntu以外のディストリビューションでも類似の方法でパッケージマネージャーから管理ができます。具体的な方法は末尾のNVIDIA公式マニュアルを参照してください。

NVIDIAリポジトリの設定

NVIDIA Driver, CUDA Toolkit, cuDNNはすべて以下のNVIDIAのリポジトリにあります。

https://developer.download.nvidia.com/compute/cuda/repos

Ubuntu 22.04の場合、以下のコマンドでリポジトリの登録ができます。

$ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
$ sudo dpkg -i cuda-keyring_1.1-1_all.deb
$ sudo apt update

検索するリポジトリの一覧に以下の表記が出るので、これ以降のインストール、更新がaptで完結します。

Hit:1 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64  InRelease

NVIDIA Driverのインストール

リポジトリ上にある最新版のNVIDIA Driverをインストールします。
インストール後には再起動が必要です。

$ sudo apt install cuda-drivers
$ reboot

バージョンの指定は例えば以下のように実行します。

$ sudo apt install nvidia-driver-545

再起動後に以下のコマンドで正しいバージョンが表示されていればインストールは成功です。

$ nvidia-smi
...
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 545.23.06              Driver Version: 545.23.06    CUDA Version: 12.3     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA GeForce RTX 3060 Ti     On  | 00000000:02:00.0  On |                  N/A |
| 30%   28C    P8               9W / 200W |    263MiB /  8192MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
...

CUDA Toolkitのインストール

CUDAの最新版は以下のコマンドでインストールできます。

$ sudo apt install cuda-toolkit

バージョンの指定をする場合は以下のように実行します。

$ sudo apt install cuda-toolkit-12-3

環境変数の設定

CUDAは/usr/local/cuda*にインストールされます。
使用するには環境変数の設定が必要なので、~/.bashrcを編集して以下の記述を追加します。

~/.bashrc
export PATH="/usr/local/cuda/bin${PATH:+:${PATH}}"
export LD_LIBRARY_PATH="/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}"

PATHの設定を確認します。

$ source ~/.bashrc
$ which nvcc
/usr/local/cuda/bin/nvcc
$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Fri_Sep__8_19:17:24_PDT_2023
Cuda compilation tools, release 12.3, V12.3.52
Build cuda_12.3.r12.3/compiler.33281558_0

これでCUDAのインストールは完了です。

cuDNNのインストール

バージョン9.x.xの場合

cuDNNのv9.x.xは以下のコマンドで行います。

sudo apt install cudnn9

インストールしたCUDAに対応してバージョンの指定が必要な場合は以下のようにインストールします。

sudo apt install cudnn9-cuda-12

バージョン8.x.xの場合

cuDNNのv8.x.xは以下のコマンドでインストールできます。

sudo apt install libcudnn8*

CUDAのバージョンに対応したバージョンは以下のように確認します。

$ apt list libcudnn8 -a
Listing... Done
libcudnn8/unknown 8.9.6.50-1+cuda12.2 amd64
libcudnn8/unknown 8.9.6.50-1+cuda11.8 amd64
libcudnn8/unknown 8.9.5.30-1+cuda12.2 amd64
libcudnn8/unknown 8.9.5.30-1+cuda11.8 amd64
...

インストールするバージョンを決めたら以下のコマンドでインストールします。

$ cudnn_version=8.9.6.50
$ cuda_version=cuda12.2
$ sudo apt install libcudnn8=${cudnn_version}-1+${cuda_version}
$ sudo apt install libcudnn8-dev=${cudnn_version}-1+${cuda_version}
$ sudo apt install libcudnn8-samples=${cudnn_version}-1+${cuda_version}

APTによる更新

インストールしたNVIDIA Driver, CUDA, cuDNNはsudo apt update; sudo apt upgradeで最新のバージョンに更新されます。

自動更新によるバージョンコンフリクトを避けたい場合は、以下のコマンドでバージョンを固定したいパッケージのアップグレードを停止させます。

$ sudo apt-mark hold nvidia-driver-545

/etc/apt/sources.list.d/cuda-ubuntu2204-x86_64.listのファイルの内容をコメントアウトして検索するリポジトリのリストから外すことでも可能ですが、このリポジトリのすべてのパッケージの検索、インストール、アップグレードができなくなるので注意が必要です。

/etc/apt/sources.list.d/cuda-ubuntu2204-x86_64.list
# deb [signed-by=/usr/share/keyrings/cuda-archive-keyring.gpg] https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/ /

参考

この記事は以下のNVIDIAの公式マニュアルをもとに作成しています。
詳細についてはこちらを参照してください。
Ubuntu以外のディストリビューションでの方法も記載があります。

更新履歴

2024/03/11: cuDNN v9 に対応、apt-mark holdを追記

Discussion