【新規環境/既存環境対応】最新のCUDA及びcuDNNのインストール方法


0. 概要

Deep Learningマシンが複数台あるため、Tensorflow等のDLフレームワークがアップデートする度に要求される最新のCUDA及びcuDNNへ換装していく作業が非常に面倒である。そこで、既存環境がある状態からでも最新のCUDA及びcuDNNをインストールする方法を整理していきたいと思う。

新規インストールは2番目からである。

1. 既存環境の削除

新規インストールの方はこちらを読む必要はない。

まず既存環境がある場合は、その環境を削除してからインストールを行わなければ、いらぬ問題が発生する場合がある。
削除は至って簡単で、一般的なインストールをしていれば以下で消えるはずである。

$ sudo apt-get --purge remove nvidia*
$ sudo apt-get --purge remove cuda*
$ sudo apt-get --purge remove cudnn*
$ sudo apt-get --purge remove libnvidia*
$ sudo apt-get --purge remove libcuda*
$ sudo apt-get --purge remove libcudnn*
$ sudo apt-get autoremove
$ sudo apt-get autoclean
$ sudo apt-get update
$ sudo rm -rf /usr/local/cuda*

また、Tensorflow-GPUも消しておくとよいだろう。pipでインストールした場合は以下で消える。

$ pip uninstall tensorflow-gpu

2. 新規環境へのインストール

CUDA及びcuDNNのインストールについて説明する

CUDA

以下のウェブサイトへつなぎ、目的とするバージョンを選択してインストールを行う。
CUDA-TOOLKITを入れればドライバー等がまとめてインストールされる。

CUDA-TOOLKIT

バージョンを選択後、OSやアーキテクチャ、バージョンを選ぶ項目が出てくるので選択していけばよい。

Ubuntu 64bit 18.04の場合はこのようなインストール手順が表示される。
後は順に実行してけばよい。

インストールの際は選択したバージョンに関係なく最新のものが選択される。
そこで、cuda=10.0をインストールしたい場合はsudo apt-get install cuda-10-0とする。

また他のライブラリから参照できるようにパスも通しておくとよいだろう。

.bashrc
...
export PATH="/usr/local/cuda/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda/lib64:$LD_LIBRARY_PATH"

インストールが終われば、以下のコマンドで刺さっているGPUが見れるはずである。

$ nvidia-smi -l

もしエラーが出る場合は、再起動をしよう。

なお詳細なバージョンは以下で表示できる。

$ nvcc -V

cuDNN

次にcuDNNのインストールである。こちらも簡単で以下からバージョンを選ぶだけである。
cuDNN

例えば、CUDA-TOOLKIT10.2をインストールした場合はcuDNN v7.6.5 for CUDA 10.2を選択し、
自身にあったOSのライブラリをダウンロードすればよい。Ubuntu 18.04等の場合はcuDNN Library for Linuxを選択する。

以下を順に実行していく。

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

以上で終了である。
Enjoy !

参考URL