tor's memo

備忘録と日記.

【Ubuntu 18.04】CUDA 9.0 と cuDNN 7.3.0 をインストール

GPU 対応の TensorFlow を利用するため.Ubuntu 18.04 に CUDA 9.0 と cuDNN 7.3.0 をインストールしました.
それぞれ最新ではありませんが,互換性を考慮したバージョンです.

CUDA 9.0 のインストール

CUDA は GPU 向けの汎用並列コンピューティングアーキテクチャです.
GPU を利用した並列計算に用います.

ダウンロード

複数ありますが,一番上がインストーラ本体で,あとの4つはパッチです.
サイズが全部で約 2 GB ありますが,すべてダウンロードします.
ネットワークインストーラもありますが,勝手に NVIDIA ドライバを上書きされて GUI を起動できなくなった苦い思い出があるため,今回は使いません.

$ wget https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda_9.0.176_384.81_linux-run
$ wget https://developer.nvidia.com/compute/cuda/9.0/Prod/patches/1/cuda_9.0.176.1_linux-run
$ wget https://developer.nvidia.com/compute/cuda/9.0/Prod/patches/2/cuda_9.0.176.2_linux-run
$ wget https://developer.nvidia.com/compute/cuda/9.0/Prod/patches/3/cuda_9.0.176.3_linux-run
$ wget https://developer.nvidia.com/compute/cuda/9.0/Prod/patches/4/cuda_9.0.176.4_linux-run

実行権限の付与

$ chmod +x cuda_9.0.176*

CUDA 本体のインストール

ベースインストーラを起動します.

$ sudo ./cuda_9.0.176_384.81_linux.run --override

インストール中の質問は以下のように答えれば問題ありませんが,適宜変更可能です.
ただし,注意点として"Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 384.81?" の質問には必ず "no" と答えます
"yes" にすると,既存のドライバと競合して不具合を起こします.

  • "Do you accept the previously read EULA?: accept"
  • "You are attempting to install on an unsupported configuration. Do you wish to continue?: yes"
  • "Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 384.81?: no"
  • "Install the CUDA 9.0 Toolkit?: yes"
  • "Enter Toolkit Location [ default is /usr/local/cuda-9.0 ]: "
  • "Do you want to install a symbolic link at /usr/local/cuda?: yes"
  • "Install the CUDA 9.0 Samples?: no"

パッチのインストール

$ sudo ./cuda_9.0.176.1_linux.run
$ sudo ./cuda_9.0.176.2_linux.run
$ sudo ./cuda_9.0.176.3_linux.run
$ sudo ./cuda_9.0.176.4_linux.run

環境変数の設定

$ echo -e "\n## CUDA paths"  >> ~/.bashrc
$ echo 'export PATH=/usr/local/cuda-9.0/bin:${PATH}' >> ~/.bashrc
$ echo 'export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:${LD_LIBRARY_PATH}' >> ~/.bashrc
$ source ~/.bashrc

インストール完了の確認

CUDA の詳細が表示されれば問題ありません.

$ nvcc -V

cuDNN 7.3.0 のインストール

cuDNN は DNN (Deep Neural Network) 開発向けの CUDA ライブラリです.

ダウンロード

以下のダウンロードリンクから cuDNN 7.3.0 本体をダウンロードします.
ログインが必要なので,アカウント登録をしていない場合,登録する必要があります.
https://developer.nvidia.com/compute/machine-learning/cudnn/secure/v7.3.0/prod/9.0_2018920/cudnn-9.0-linux-x64-v7.3.0.29

インストール

$ tar -zxvf cudnn-9.0-linux-x64-v7.3.0.29.tgz
$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda-9.0/lib64/
$ sudo cp cuda/include/cudnn.h /usr/local/cuda-9.0/include/
$ sudo chmod a+r /usr/local/cuda-9.0/include/cudnn.h /usr/local/cuda-9.0/lib64/libcudnn*