ubuntu16.0.4でGeforceでCUDAでcnDNN

今流行のディープラーニングを本格的にやってみようと思ったら色々ハマったのでメモ

環境:GeForce GTX 1080 Ti
OS:ubuntu16.0.4

自分の環境だと最新版が動かなかったので古いCUDA8をいれた

前準備
sudo apt update
sudo apt upgrade

ubuntu-16.04.3-server-amd64.iso
をダウンロードして
rufus-2.18でUSBメモリにISOをいれてインストール

このときせっかくだからキーボードの確認無しで自動的にOSをインストールするPRESEEDをしようとしたけど、成功しなかったから面倒くさくなってあきらめた。
(ちなみにCentOSだったらKickstartっていう)

Command Lineが出てきたら以下実行

CUDAインストール
wget https://developer.nvidia.com/compute/cuda/8.0/prod/local_installers/cuda-repo-ubuntu1604-8-0-local_8.0.44-1_amd64-deb

sudo dpkg -i cuda-repo-ubuntu1604-8-0-local_8.0.44-1_amd64-deb
sudo apt update

sudo apt install cuda cuda-drivers
sudo reboot

ファイルパスを通す

export PATH=”/usr/local/cuda/bin:$PATH”
export LD_LIBRARY_PATH=”/usr/local/cuda/lib64:$LD_LIBRARY_PATH”

この後nvidia-smiで確認すると成功してたら↓みたいなのがでてくる
+—————————————————————————–+
| NVIDIA-SMI 384.90 Driver Version: 384.90 |
|——————————-+———————-+———————-+
| 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 108… On | 00000000:02:00.0 Off | N/A |
| 91% 81C P2 204W / 220W | 812MiB / 11170MiB | 99% Default |
+——————————-+———————-+———————-+

消費ワット下げることもできる
sudo nvidia-smi -pl 240

※persistence-modeを有効じゃないと出来ないっぽい
sudo nvidia-smi -i 0 -pm ENABLED

deb削除する場合
rm cuda-repo-ubuntu1604-8-0-local_8.0.44-1_amd64-deb

cuDNNのインストール
https://developer.nvidia.com/rdp/cudnn-download
からcuDNN 6 for CUDA 8.0のdebパッケージをダウンロード
# Install Runtime library
sudo dpkg -i libcudnn6_6.0*+cuda8.0_amd64.deb
# Install developer library
sudo dpkg -i libcudnn6-dev_6.0*+cuda8.0_amd64.deb
# Install code samples and user guide
sudo dpkg -i libcudnn6-doc_6.0*+cuda8.0_amd64.deb

cuDNNの動作確認
cuda-install-samples-8.0.sh ~
cd ~/NVIDIA_CUDA-8.0_Samples/
make
cd bin/x86_64/linux/release
./smokeParticles

これでいけるはず

おまけ
CCminerもインストールしてみた

sudo apt-get install automake libssl-dev libcurl4-nss-dev
wget https://github.com/Nanashi-Meiyo-Meijin/ccminer/archive/v2.2-mod-r2.tar.gz
tar zxvf v2.2-mod-r2.tar.gz
cd ccminer-2.2-mod-r2

bash autogen.sh
./configure
make