Nvidia GPU ドライバをインストール

July 18, 2018
CUDA MXNet Ubuntu

Ubuntu へ、Nvidia driver を画面表示には使わず、 MXNet などの計算だけにインストールする。

ref. https://gist.github.com/wangruohui/df039f0dc434d6486f5d4d098aa52d07

環境

既存ドライバの削除

$ sudo apt-get purge nvidia*
$ sudo apt-get autoremove
$ sudo dpkg -P cuda-repo-ubuntu1604

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

ドライバを http://www.nvidia.com/object/unix.html から入手する。 (Linux x86_64/AMD64/EM64T, Latest Long Lived Branch version: 390.77)

/etc/modprobe.d/blacklist-nouveau.conf を作成する。

blacklist nouveau
options nouveau modeset=0
$ sudo update-initramfs -u
$ shutdown -r now
$ sudo service lighdm stop

コンソールモードになるので、Alt-F2 などで別コンソールへ移動する。

$ chmod +x ./NVIDIA-Linux-x86_64-390.77.run
$ sudo ./NVIDIA-Linux-x86_64-390.77.run --dkms -s --no-opengl-files

reboot

Cuda

Get a cuda install runfile https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1604&target_type=runfilelocal

$ chmod +x cuda_9.2.148_396.37_linux.run!
$ ./cuda_9.2.148_396.37_linux.run --extract=$HOME
$ sudo ~/cuda-linux.9.2.148-24330188.run
$ sudo bash -c "echo /usr/local/cuda/lib64/ > /etc/ld.so.conf.d/cuda.conf"

/etc/ld.so.conf.d/ に古い cuda 関係の宣言が残っていたら、消しておく。

$ sudo ldconfig

cuDNN

$ sudo tar xvzf cudnn-9.2-linux-x64-v7.1.tgz 
cuda/include/cudnn.h
cuda/NVIDIA_SLA_cuDNN_Support.txt
cuda/lib64/libcudnn.so
cuda/lib64/libcudnn.so.7
cuda/lib64/libcudnn.so.7.1.4
cuda/lib64/libcudnn_static.a

MXNet

https://www.nvidia.com/en-us/data-center/gpu-accelerated-applications/mxnet/

$ export PATH=/usr/local/cuda/bin:$PATH
$ make -j $(nproc)
$ python3 -mvenv env/mxnet
$ source env/mxnet/bin/activate
$ pip install numpy graphviz jupyter requests
$ cd python
$ python setup.py install