2018年4月2日月曜日

Ubuntu16.04にCUDA Toolkitインストールしたメモ

Ubuntu 16.04にCUDA Toolkitを入れた時の備忘録です。
使用したグラボはGTX 1080 Ti、CUDAのバージョンは9.1です。

Ubuntuのログインループの原因はいろいろあるらしいですが、私の環境ではOpenGLを入れるとログインループする模様。なのでOpenGLを入れずにインストールしました。

Nouveauドライバの無効化


まず、nouveauが動いているかどうか確認を行います。
$ lsmod | grep -i nouveau

Nouveauが動いているとNVIDIAドライバと競合するので、あらかじめ無効化しておく必要があります。blacklist-nouveau.confを作成し、無効化します。
$ sudo vi /etc/modprobe.d/blacklist-nouveau.conf

※blacklist-nouveau.confの中身
blacklist nouveau
options nouveau modeset=0

blacklist-nouveau.confを作成したらinitramfsを更新します。
$ sudo update-initramfs -u

これで、もう一度lsmodしてもnouveauは出てこなくなるはずです。
たぶん。


NvidiaドライバとCUDA Toolkitのインストール


今回は.runを使います。
まず、NVIDIAドライバとCUDA toolkitをダウンロードします。
次に、ダウンロードした.runの権限を変更しておきます、念のため。
$ chmod 755 NVIDIA-Linux-x86_64-390.42.run
$ chmod 755 cuda_9.1.85_387.26_linux.run

Xが起動しているとrun実行時エラーが出てくるので、GUIを止めておきます。
$ sudo service lightdm stop

以降はCUI(Ctrl + Alt + F1)で操作します。

Nvidiaドライバのインストール。OpenGLを入れないようにしておきます。
$ sudo ./NVIDIA-Linux-x86_64-390.42.run --no-opengl-files

いろいろ選択肢が出ますが、とりあえず全部OK的な選択で問題無しな模様。
※よくわかりませんでした(´・ω・`)

CUDA Toolkitのインストール。おなじくOpenGLは入れず、NVIDIAドライバ387.26もいらないのでCUDA toolkitのみインストール。
$ sudo ./cuda_9.1.85_387.26_linux.run --silent --no-opengl-libs --toolkit

インストールが終わったら.bashrcにCUDAのパスを追記します。
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
export CUDA_PATH=/usr/local/cuda

再起動してとりあえずインストールは終了です。

確認


とりあえずちゃんと入ったか確認しておきます。

Nvidiaドライバは
$ nvidia-smi

CUDA toolkitは
$ nvcc -V

で確認できます。
バージョンやらなんやら出てきたら成功です。

OpenGLを入れなかったせいか、ドライバ入れたにも関わらず画面解像度低いままです。
とりあえずCUDAは使えました。

以上。