【Ubuntu18.04】NVIDIAドライバ・CUDA・cuDNNのインストール方法
はじめに
Ubuntu18.04でNVIDIA周りの環境構築の方法を記述します。 Ubuntu16.04よりも少し面倒くさいですが、手順を追えば難しいことはありません。
想定している環境
- OS:Ubuntu 18.04 LTS
- GPU:Geforce GTX-1060(1080Tiでも確認済み)
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キーを連打してください。 そしたら以下のような画面になります。
ここで、Ubuntuにカーソルがある状態で、キーボードのEを押してください。すると次のような画面になります。
そしたら下から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のインストール
こちらからインストーラのダウンロードをします。
続いて以下のコマンドを入力
$ 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のアカウントが無い場合は作成する必要があります。
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
この画面を出すことができれば環境構築終了です。
ディスプレイマネージャを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 | +-----------------------------------------------------------------------------+