Ubuntu 16.04LTSにNVIDIAドライバ(nvidia-390)とCUDA 9.1を入れた時のメモ

cuda-toolkitを入れる前に立ちはだかる壁,その名もNVIDIAドライバのインストール. 過去に,いろいろな方法で入れ直したりと,試行錯誤した記憶があったので,調べつつ進めました.

CUDA Toolkit 9.1 Download | NVIDIA Developer

によると

Before installing the CUDA Toolkit on Linux, please ensure that you have the latest NVIDIA driver R390 installed. The latest NVIDIA R390 driver is available at: www.nvidia.com/drivers

とあります.しかし www.nvidia.com/drivers にアクセスして入手した.runファイルは,うまくいかないと評判です (私も試して、ダメでした。特にNVIDIA-Linux-x86_64-390.48.runがダメらしい)

https://devtalk.nvidia.com/default/topic/1031213/linux/problem-installing-nvidia-390-42-driver-on-ubuntu-16-04/

そこで,今回はppaから入れる方法を取ります. まずあらかじめ,次の手順をやっておきます.

バイス等の確認

$ lspci  | grep -i nvidia

GPUの数だけ表示されればOK)

ドライバ等確認

$ dpkg -l | grep nvidia
$ dpkg -l | grep cuda

入っていたら,アンインストールします

$ sudo apt-get remove nvidia*
$ sudo apt-get remove cuda*
$ sudo apt autoremove

ここで再起動.ログイン画面になったら Ctrl+Alt+F1 で,CUI画面に入ります

X Serverを止める

$ sudo service lightdm stop
$ pkill Xorg

ppaレポジトリを足し,nvidia-390を入れる

$ sudo add-apt-repository ppa:graphics-drivers/ppa
$ sudo apt update
$ sudo apt-get install nvidia-390

再起動します

確認

$ dmesg | grep nvidia
$ dpkg -l | grep nvidia

後者で、ii nvidia-390 390.48-0ubuntu0~gpu16.04.3という行が出てきてくれました。やれやれ。

$ nvidia-smi

f:id:swytel:20180508174914p:plain

やったね。

おまけ:cuda-toolkitのインストール

qiita.com

を,多いに参考にさせていただき,CUDA 9.1を入れました. デベロッパーサイトから,Linux>x86_64>Ubuntu>16.04と進み,Installer Typeは "deb(network)" を選びました. 他の方法だと,パッチが色々出ていて面倒そうだったので.

実際やったことは,上記と同じですが

sudo dpkg -i cuda-repo-ubuntu1604_9.1.*_amd64.deb  (私の場合, *は85-1)
sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
sudo apt-get update
sudo apt-get install cuda

です.速い.きっとrunfileをダウンロードする時間より速いです.

.bashrcのパス設定も上記ブログの通りに行い,nvcc が実行できることを確認.

参考URL