GPU + CUDA + Nvidia Driver set up
$ apt-get install pciutils
$ lspci -nnk | grep -i nvidia
# install nvidia driver
$ sudo apt install software-properties-common
$ sudo add-apt-repository contrib
$ sudo add-apt-repository non-free
# inspect nvidia driver version
$ cat /proc/driver/nvidia/version
$ lsmod | grep -i nvidia
$ nvidia-smi
# http://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html
# https://developer.nvidia.com/cuda-downloads
# select os, architecture, distribution, version, installation type
$ wget https://developer.nvidia.com/compute/cuda/8.0/Prod2/local_installers/cuda_8.0.61_375.26_linux-run
$ sudo sh cuda_8.0.61_375.26_linux-run
# post installation
$ echo 'export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"' >> ~/.bashrc
$ echo 'export CUDA_HOME=/usr/local/cuda' >> ~/.bashrc```
- cudnn v6.0
```# https://developer.nvidia.com/rdp/cudnn-download
$ wget https://developer.nvidia.com/compute/machine-learning/cudnn/secure/v6/prod/8.0_20170307/cudnn-8.0-linux-x64-v6.0-tgz
$ tar -xzvf cudnn-8.0-linux-x64-v6.0-tgz
$ cp cuda/lib64/* /usr/local/cuda/lib64/
$ cp cuda/include/cudnn.h /usr/local/cuda/include/```
- tensorflow v1.4.0
```$ pip install tensorflow-gpu```
# fix
- nvidia driver issue
```# unload nvidia kernel mod
$ sudo rmmod nvidia
$ lsmod | grep nvidia
$ sudo rmmod nvidia_uvm
$ sudo rmmod nvidia_drm
$ sudo rmmod nvidia_modeset
$ sudo rmmod nvidia
# reload nvidia kernel mod
$ sudo nvidia-smi```
```# http://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html
$ sudo /usr/bin/nvidia-uninstall```