Closed3

NVIDIA Driver & CUDA Toolkitのインストール

bilzardbilzard

概要

インストール方法が1通りでないのでややこしいが、NVIDA公式のダウンロードページから行う手順を記述する。

インストールするもの

  • CUDA Toolkit
  • CUDA Driver
  • NVIDIA Container Toolkit (optional)

事前準備

既存のGraphics Driverとの競合有無の確認

Ubuntu(Desktop)の場合、デフォルトでインストールされているGraphics driver(nouveau)と競合するので無効化しておく必要がある。
https://www.autodesk.co.jp/support/technical/article/caas/sfdcarticles/sfdcarticles/kA93g0000000Ke8.html

/etc/modprobe.d/blacklist-nouveau.conf を編集する。

blacklist nouveau
options nouveau modeset=0

保存して以下を実行

sudo update-initramfs -u

現状入っているドライバのバージョン確認とアンインストール

$ sudo apt list --installed | grep cuda-toolkit
cuda-toolkit-12-5-config-common/unknown,now 12.5.82-1 all [installed,automatic]
cuda-toolkit-12-5/unknown,now 12.5.1-1 amd64 [installed]
cuda-toolkit-12-config-common/unknown,now 12.5.82-1 all [installed,automatic]
cuda-toolkit-config-common/unknown,now 12.5.82-1 all [installed,automatic]
$ sudo apt list --installed | grep nvidia-driver
nvidia-driver-555/unknown,now 555.42.06-0ubuntu1 amd64 [installed,automatic]
$ apt list --installed | grep nvidia-container-toolkit
nvidia-container-toolkit-base/unknown,now 1.16.0-1 amd64 [installed,automatic]
nvidia-container-toolkit/unknown,now 1.16.0-1 amd64 [installed]
$ sudo apt-get --purge remove 'nvidia-*'
$ sudo apt-get --purge remove 'cuda-*'

手順

公式ダウンロードページにログインする。
https://developer.nvidia.com/cuda-downloads

環境の選択

CUDA Toolkitのインストール

確認

$ sudo apt list --installed | grep cuda-toolkit
cuda-toolkit-12-5-config-common/unknown,now 12.5.82-1 all [installed,automatic]
cuda-toolkit-12-5/unknown,now 12.5.1-1 amd64 [installed]
cuda-toolkit-12-config-common/unknown,now 12.5.82-1 all [installed,automatic]
cuda-toolkit-config-common/unknown,now 12.5.82-1 all [installed,automatic]

CUDA Driverのインストール

確認

$ sudo apt list --installed | grep nvidia-driver
nvidia-driver-555/unknown,now 555.42.06-0ubuntu1 amd64 [installed,automatic]

OS再起動

$ sudo reboot now

nvidia-smiの起動確認

$ nvidia-smi
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 555.42.06              Driver Version: 555.42.06      CUDA Version: 12.5     |
|-----------------------------------------+------------------------+----------------------+
| 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 4090        Off |   00000000:01:00.0 Off |                  Off |
|  0%   34C    P8              9W /  450W |       2MiB /  24564MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|  No running processes found                                                             |
+-----------------------------------------------------------------------------------------+

NVIDIA Container Toolkitのインストール (optional)

DockerからCUDAを使うにはNVIDIA Container Toolkitを以下のページからインストールする。

https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html

確認

$ apt list --installed | grep nvidia-container-toolkit

nvidia-container-toolkit-base/unknown,now 1.16.0-1 amd64 [installed,automatic]
nvidia-container-toolkit/unknown,now 1.16.0-1 amd64 [installed]
bilzardbilzard

.runファイルからNVIDIA Driverをインストールした場合、linux kernelのアップグレードでOSからdriverの場所が分からなくなるらしい。

If you installed the NVIDIA driver from .run files or bundled driver from CUDA Toolkit, the driver may be lost when you upgrade your Linux kernel. You should reinstall the NVIDIA driver.

https://forums.developer.nvidia.com/t/nvidia-smi-has-failed-because-it-couldnt-communicate-with-the-nvidia-driver-make-sure-that-the-latest-nvidia-driver-is-installed-and-running/197141/2

bilzardbilzard

Nvidia Driver関連のパッケージを自動アップデートの対象外にする

dpkg-query -W --showformat='${Package} ${Status}\n' | grep -v deinstall | awk '{ print $1 }' | \
    grep -E 'nvidia.*-[0-9]+$' | \
    xargs -r -L 1 sudo apt-mark hold
$ apt-mark showhold
libnvidia-cfg1-555
libnvidia-common-555
libnvidia-compute-555
libnvidia-decode-555
libnvidia-encode-555
libnvidia-extra-555
libnvidia-fbc1-555
libnvidia-gl-555
nvidia-compute-utils-555
nvidia-dkms-555
nvidia-driver-555
nvidia-kernel-common-555
nvidia-kernel-source-555
nvidia-utils-555
xserver-xorg-video-nvidia-555
このスクラップは6ヶ月前にクローズされました