LIFE LOG(ここにはあなたのブログ名)

あつあつ備忘録

ソフトやハード、時にはメカの備忘録をまとめていきます

【Ubuntu18.04】NVIDIAドライバ・CUDA・cuDNNのインストール方法

はじめに

Ubuntu18.04でNVIDIA周りの環境構築の方法を記述します。 Ubuntu16.04よりも少し面倒くさいですが、手順を追えば難しいことはありません。

想定している環境

Ubuntu18.04にインストールするもの

  • NVIDIAドライバ 430.26
  • Cuda 10.0
  • cuDNN v7.6.1

NVIDIAドライバのインストール

ディスプレイマネージャを変更する

変更したほうが簡単なのでデフォルトのgdm3からlightdmに変更します。

$ sudo apt-get install lightdm

このコマンドをうつと、デフォルトのディスプレイマネージャをgdm3とlightdmのどちらかにするか聞かれるので、lightdmを選択してください。 そして再起動してディスプレイマネージャが変更されていることを確認します。(ログイン画面が変更されていれば問題ありません)

$ reboot

Nouveauを無効化する

もう一度再起動してください。 Ubuntuが立ち上がるときEscキーを連打してください。 そしたら以下のような画面になります。

f:id:AtsuyaKoike:20190808115841j:plain:w600

ここで、Ubuntuにカーソルがある状態で、キーボードのEを押してください。すると次のような画面になります。

f:id:AtsuyaKoike:20190808120012j:plain:w600

そしたら下から2行目に注目してください。

quiet splash $vt_handoff

という記述があると思います。これを以下のように変更します。

quiet splash nomodeset $vt_handoff

そしたらF10を押してください。 続いて、Ctrl+Alt+F1でCLIモードにします。(F1でだめだったらF2, F3・・・と試してください) CLIモードでログインをし、以下を内容を行ってください。

ディスプレイマネージャをストップする

以下のコマンドでディスプレイマネージャをストップします。

$ sudo service lightdm stop

NVIDIAドライバのインストール

$ sudo apt-get install nvidia-384
$ reboot

インストールできたかの確認

$ nvidia-smi 
Thu Aug  8 21:15:46 2019       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.116                Driver Version: 390.116                   |
|-------------------------------+----------------------+----------------------+
| 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 1060    Off  | 00000000:01:00.0  On |                  N/A |
| N/A   50C    P0    28W /  N/A |    176MiB /  6070MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0       960      G   /usr/lib/xorg/Xorg                           104MiB |
|    0      1470      G   /usr/bin/gnome-shell                          69MiB |
+-----------------------------------------------------------------------------+

以上でNVIDIAドライバのインストールは終わりです。

CUDAのインストール

こちらからインストーラのダウンロードをします。

developer.nvidia.com

続いて以下のコマンドを入力

$ sudo dpkg -i cuda-repo-ubuntu1804_10.0.130-1_amd64.deb
$ sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
$ sudo apt-get update
$ sudo apt-get install cuda-10-0

bashrcに追記

$ vi ~/.bashrc

以下の内容を追記します。

export PATH=/usr/local/cuda-10./bin:${PATH}
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64:${LD_LIBRARY_PATH}

そして一度再起動します。。

$ reboot

パスの確認

$ echo $PATH             # 出力に"/usr/local/cuda-10.0/0bin"が含まれているか?
$ echo $LD_LIBRARY_PATH  # 出力に"/usr/local/cuda-10.0/lib64"が含まれているか?
$ which nvcc             # 出力が"/usr/local/cuda-10.0/bin/nvcc"になっているか?
$ nvidia-smi             # nvidiaのGPUの情報が表示されているか? CUDAのバージョンは10.1になっている可能性があるが問題ない

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

cuDNNのインストール

ダウンロード

こちらからcuDNNのインストーラをダウンロードします。ただし、NVIDIA Developerのアカウントが無い場合は作成する必要があります。

developer.nvidia.com

Download cuDNN v7.6.1 (June 24, 2019), for CUDA 10.0の

  • cuDNN Runtime Library for Ubuntu18.04 (Deb)
  • cuDNN Developer Library for Ubuntu18.04 (Deb)
  • cuDNN Code Samples and User Guide for Ubuntu18.04 (Deb)

をダウンロードします。

インストール

そしてインストールします。

$ sudo dpkg -i libcudnn7_7.6.1.34-1+cuda10.0_amd64.deb 
$ sudo dpkg -i libcudnn7-dev_7.6.1.34-1+cuda10.0_amd64.deb
$ sudo dpkg -i libcudnn7-doc_7.6.1.34-1+cuda10.0_amd64.deb

動作確認

$ cuda-install-samples-10.0.sh ~/
$ cd ~/NVIDIA_CUDA-10.0_Samples/
$ make -j8
$ cd 2_Graphics/Mandelbrot/
$ ./Mandelbrot 

f:id:AtsuyaKoike:20190808214443p:plain

この画面を出すことができれば環境構築終了です。

ディスプレイマネージャをgdm3に戻す(任意)

以下のコマンドで戻すことができます。

$ sudo dpkg-reconfigure gdm3

お疲れ様でした。

メモ

$ nvidia-smi
Thu Aug  8 21:53:18 2019       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 430.26       Driver Version: 430.26       CUDA Version: 10.1     |
|-------------------------------+----------------------+----------------------+
| 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 1060    Off  | 00000000:01:00.0  On |                  N/A |
| N/A   51C    P0    28W /  N/A |    227MiB /  6070MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1230      G   /usr/lib/xorg/Xorg                            18MiB |
|    0      1303      G   /usr/bin/gnome-shell                          48MiB |
|    0      1553      G   /usr/lib/xorg/Xorg                            86MiB |
|    0      1705      G   /usr/bin/gnome-shell                          71MiB |
+-----------------------------------------------------------------------------+