Pynote

Python、機械学習、画像処理について

環境構築 - Ubuntu 16.04 に NVIDIA ドライバをインストールする方法について

試した環境

手順

GPU が対応している NVIDIA ドライバのバージョンを調べる。

NVIDIA のサイト で OS 及び GPU の情報を選択し、検索をクリックする。

検索結果に使用している GPU が対応している NVIDIA ドライバのバージョンが書かれている。(この場合、375.26)

レポジトリを追加する。

NVIDIA ドライバを提供している xorg-edgers レポジトリを追加する。

sudo add-apt-repository ppa:xorg-edgers/ppa -y
sudo apt-get update

apt-get でインストールできるドライバ一覧を検索する。

$ apt-cache search "^nvidia-[0-9]{3}$"
nvidia-331 - Transitional package for nvidia-331
nvidia-346 - Transitional package for nvidia-346
nvidia-361 - Transitional package for nvidia-367
nvidia-352 - Transitional package for nvidia-375
nvidia-367 - Transitional package for nvidia-387
nvidia-375 - Transitional package for nvidia-396
nvidia-384 - NVIDIA binary driver - version 384.145
nvidia-304 - NVIDIA legacy binary driver - version 304.137
nvidia-340 - NVIDIA binary driver - version 340.107
nvidia-387 - Transitional package for nvidia-390
nvidia-390 - NVIDIA binary driver - version 390.77
nvidia-396 - NVIDIA binary driver - version 396.45

NVIDIA ドライバをインストールする。

NVIDIA ドライバをインストールする。
nvidia-396 が現時点 (2018年8月2日) で最新のようなので、これをインストールする。

sudo apt-get install -y nvidia-396

インストールにはしばらく時間がかかる。

再起動する。

再起動しないと、ドライバは有効にならない。

reboot

インストールが正常に完了したか確認する。

正常にインストールできていれば、再起動後nvidia-smi が使えるようになっているはずである。

$ nvidia-smi
Thu Aug  2 21:47:27 2018
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 396.26                 Driver Version: 396.26                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 1080    Off  | 00000000:01:00.0 Off |                  N/A |
| 27%   38C    P8    12W / 180W |    204MiB /  8119MiB |     34%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1084      G   /usr/lib/xorg/Xorg                           159MiB |
|    0      1820      G   compiz                                        40MiB |
+-----------------------------------------------------------------------------+