はじめに
やること
・GTX1080tiを搭載したPCに、DUCAとcuDNNをインストールする
バージョン
・DUCA9.0
・cuDNN7.4.1
・Tensorflow1.12.0
※Tensorflow-gpuのサポートが、現状ではCUDA9/cuDNN7までであったため
参考:https://www.tensorflow.org/install/source#common_installation_problems
全体を通して参考にしたサイト
・https://qiita.com/sho8e69/items/66c1662c49ac89a024be
・https://qiita.com/mitsuharu_e/items/ecff16bdbcb795a86433
DUCAのインストール手順
それでは最初に、CUDAをインストールしていきましょう。
古いDriver/CUDAのチェック
事前準備として、下記コマンドで古いDriver/CUDAがインストールされているかどうかチェックしておきます。
dpkg -l | grep nvidia
dpkg -l | grep cuda
もし、古いものが入っていて削除しておいた方が良さそうであれば、下記コマンドで削除しておきます。
※なお、CUDAをインストールするときに、nvidia-driverが上書きされてダウングレードする可能性があります。よって、最新のnvidia-driverがインストールされている状態でCUDAを入れる場合は、結果的に最新のnvidia-driverではなくなるため、ここで削除しておいても問題はないかと思います。
sudo apt-get --purge remove nvidia-*
sudo apt-get --purge remove cuda-*
DUCAのダウンロード
まずは、CUDAのダウンロードからです。
CUDA Toolkit 9.0 Downloadsの「Base Installer」より、CUDA9.0をダウンロードします。
CUDAのインストール
公式サイトのBase Installerを参考にして、下記のコマンドを入力します。
sudo dpkg -i cuda-repo-ubuntu1704-9-0-local_9.0.176-1_amd64.deb
sudo apt-key add /var/cuda-repo-<version>/7fa2af80.pub
sudo apt-get update
sudo apt-get install cuda(cuda-toolkit-9-0でも可?)
CUDAのパスを通す
インストール後は、.bashrcにCUDAのパスを記載します。
sudo nano .bashrc
export PATH=/usr/local/cuda/bin:${PATH}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:${LD_LIBRARY_PATH}
リロードします。
source .bashrc
再起動します。
sudo reboot
CUDAのバージョンを確認して、9.0であればインストール成功です。
nvcc -V
nvidia-driverのインストール
上記でnvidia-driverを削除したため、CUDAインストール後にnvidia-driverをインストールしておきます。
手順はUbuntu18.04 LTSのインストールからGPU Driverのインストールまでにまとめましたので、こちらを参考にしてください。
一応、コマンドだけ簡単にまとめていきます。
# PPAリポジトリにグラフィックスドライバ関連を追加
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
# グラフィックボードの詳細を確認
ubuntu-drivers devices
# nvidia-driveをインストール(ここでは415)
sudo apt-get install nvidia-415
# 再起動
sudo reboot
cuDNNのインストール手順
続いて、cuDNNをインストールしていきます。
cuDNNのダウンロード/インストール
cuDNN Archiveより、「cuDNN v7.4.1 for CUDA9.0」のcuDNNを選択します。
その後、下記の3種類をダウンロードします。
1.cuDNN v7.4.1 Runtime Library for Ubuntu16.04 (Deb)
2.cuDNN v7.4.1 Developer Library for Ubuntu16.04 (Deb)
3.cuDNN v7.4.1 Code Samples and User Guide for Ubuntu16.04 (Deb)
ダウンロード完了後、それぞれ次のコマンドを実行します。
sudo dpkg -i libcudnn7_7.4.1.5-1+cuda9.0_amd64.deb
sudo dpkg -i libcudnn7-dev_7.4.1.5-1+cuda9.0_amd64.deb
sudo dpkg -i libcudnn7-doc_7.4.1.5-1+cuda9.0_amd64.deb
これでインストールは完了のようです。
なお、cuDNNがインストールされたかを簡単にする方法はなく、例えば以下のコマンドなどで確認できるようです。
参考:http://thr3a.hatenablog.com/entry/20180531/1527753847
ls -l /usr/local/cuda/lib64/libcudnn*
これでインストールが確認できれば成功です。
(追記)
この後、Ubuntu18.04 LTSにTensorflow-GPUをインストールしてMNITサンプルを実行するにてTensorflow-GPUをインストールした際。エラーが出てimportできませんでした。
よって、cuDNNが上手くインストールできていない可能性を追い、下記サイトを参考にさせていただいて次の対処を加えました。
参考:
・https://qiita.com/mitsuharu_e/items/ecff16bdbcb795a86433
・https://qiita.com/JeJeNeNo/items/05e148a325192004e2cd
1.以下のLibraryを新たにダウンロード
・cuDNN Library for Linux
2.ダウンロードしたLibraryを解答して指定の場所にコピー
※コピーは「-a」と付けないと、シンボリックリンクがシンボリックリンクとしてコピーされず、後のliconfigで「シンボリックリンクではありません」のエラーが発生するため、注意が必要です。
tar xfvz cudnn-9.0-linux-x64-v7.4.1.5.tgz
sudo cp -a cuda/lib64/* /usr/local/cuda-8.0/lib64/
sudo cp -a cuda/include/* /usr/local/cuda-8.0/include/
sudo chmod a+r /usr/local/cuda-9.0/lib64/libcudnn*
sudo ldconfig
これをやった後は、Tensorflow-GPUのimportでエラーが出なくなりました。
以上で、CUDAとcuDNNのインストールは終了です。
お疲れ様でした!
この後は、CUDAとcuDNNの動作確認としてTensorflow-GPUのMNISTサンプルを実行してみたいと思います。(Ubuntu18.04 LTSにTensorflow-GPUをインストールしてMNITサンプルを実行するに続きます。)