CUDA
cuDNN
ubuntu16.04
GTX1080Ti

GTX1080Ti搭載のWindows10パソコンにUbuntu16やらCUDAやらインストールする流れ(2)

More than 1 year has passed since last update.

はじめに

前回
https://qiita.com/masataka46/items/9548b70cc71248cc1456
で買ってきたパソコンにUbuntu16をインストールした。

今回はこれにCUDAやらcuDNNやらをインストールする。

スペック:
デフォルトのOS:Windows10 64ビット
CPU:Corei7 7700K
GPU:GTX1080Ti
SSD:240GB
HDD:2TB
マザーボード:ASUS H170-pro
など

CUDAをインストールする

現状のTensorflow ver.1.4はCUDA9.0 に対応していない。よってTensorflow使うならCUDA8.0が必要。
このサイト(1)に従って進める
https://developer.nvidia.com/cuda-downloads からCUDA 8.0をダウンロードする。各種設定は以下。Operating System: Linux, Architecture: x86_64, Distribution: Ubuntu, Version: 16.04, Installer Type: deb (network).

nvidiaダウンロードページの記述に従って以下のコマンドを打つ。

sudo dpkg -i cuda-repo-ubuntu1604-8-0-......_amd64.deb
sudo apt-key add /var/cuda-repo-8-0-local/......pub
sudo apt-get update
sudo apt-get install cuda

えらい簡単にインストールできた。昔インストールした時はCUIに切り替えたりどしたりで苦労した気がするが・・・

PATHを設定する

ここも上記サイト(1)に従って~/.bashrcに以下を書き込む

## CUDA and cuDNN paths
export PATH=/usr/local/cuda-8.0/bin:${PATH}
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:${LD_LIBRARY_PATH}

以下でPATHが通ってるか確認

echo $PATH             # 出力に"/usr/local/cuda-8.0/bin"が含まれているか?
echo $LD_LIBRARY_PATH  # 出力に"/usr/local/cuda-8.0/lib64"が含まれているか?
which nvcc             # 出力が"/usr/local/cuda-8.0/bin/nvcc"になっているか?
nvidia-smi             # nvidiaのGPUの情報が表示されているか?

問題ないようだ。

cuDNNのインストール

ここもやはり上記(3)サイトに従って進める。
https://developer.nvidia.com/rdp/cudnn-download からcuDNN 6 for CUDA 8.0のdebパッケージをダウンロードする(アクセスするにはメンバー登録が必要)。具体的には以下の3個のdebパッケージをダウンロードする。

  1. cuDNN v6 Runtime Library for Ubuntu16.04 (Deb)
  2. cuDNN v6 Developer Library for Ubuntu16.04 (Deb)
  3. cuDNN v6 Code Samples and User Guide for Ubuntu16.04 (Deb)

次にインストールする。ダウンロードしたディレクトリに行って以下のコマンドを打つだけ。

# Install Runtime library
sudo dpkg -i libcudnn6_6.0.21-1+cuda8.0_amd64.deb
# Install developer library
sudo dpkg -i libcudnn6-dev_6.0.21-1+cuda8.0_amd64.deb
# Install code samples and user guide
sudo dpkg -i libcudnn6-doc_6.0.21-1+cuda8.0_amd64.deb

完了。以前インストールした時はファイルをコピーしたりどしたり、だったが、こちらも随分と簡単になった。