nvidia-dockerを使えば楽にGPU環境にアクセスできますが、仮想環境なしで本体に環境設定する方法も使うので、記録を残しておきます。
参考
構成
OS: Ubuntu 18.04 LTS GPU: RTX 2070
事前準備
環境を最新にする
シェルで
$ sudo apt-get upgrade $ sudo apt-get update $ sudo apt list upgradable
Gitを入れる
$ sudo apt-get install git
NVIDIAドライバのインストール
nouveauの無効化
$ lsmod | grep -i nouveau
$ sudo sh -c "cat << ETX > /etc/modprobe.d/blacklist-nouveau.conf blacklist nouveau blacklist lbm-nouveau options nouveau modeset=0 alias nouveau off alias lbm-nouveau off ETX" && cat /etc/modprobe.d/blacklist-nouveau.conf
$ sudo sh -c "echo 'options nouveau modeset=0' > /etc/modprobe.d/nouveau-kms.conf" && cat /etc/modprobe.d/nouveau-kms.conf
$ sudo update-initramfs -u $ sudo reboot
ビルドツールのインストール
$ sudo apt-get install build-essential
NVIDIAドライバのダウンロード
CUIでドライバを入れていきます。
GPUの対応確認
対応したドライバを検索します。 www.nvidia.co.jp
検索して、バージョンを確認しておきます。
$ sudo add-apt-repository ppa:graphics-drivers/ppa $ sudo apt update $ sudo apt-get install nvidia-410
*430の場合は nvidia-driver-430でいける
CUDAのインストール
ダウンロード
以下で、CUDA Toolkit 10.1 をダウンロード developer.nvidia.com
以下を実施します。
インストール
$ cd /home/ダウンロードした場所 $ sudo dpkg -i cuda-repo-ubuntu1804_10.1.168-1_amd64.deb $ sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub $ sudo apt-get update $ sudo apt-get install cuda-toolkit-10-0
環境変数の設定
以下で環境設定を編集します。
$ nano ~/.bashrc
末尾に以下を追加して保存。環境変数のパスの設定です。 ただし、/usr/local/cuda-10.0/lib64 については、実際にtensorflow 実行時にlibcupti.so.10.0が存在しないとエラーが発生しました。実際に該当ファイル場所を探して/usr/local/cuda-10.0/extras/CUPTI/lib64 にあることがわかりましたので、私の場合は/usr/local/cuda-10.0/extras/CUPTI/lib64に変更しました。
export PATH=/usr/local/cuda-10.0/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
再起動して以下を実行できることを確認します。
nvcc -V
CuDNNのインストール
以下でダウンロードします。 ユーザー登録を実施する必要があります。
https://developer.nvidia.com/rdp/cudnn-download
I agree to the terms of the cuDNN software licence agreement
Download cuDNN v.7.5.1 for CUDA 10.1をダウンロードします。(CUDAのバージョンに合わせる)
次に、以下の3つをダウンロードします。
cuDNN Runtime Library for Ubuntu18.04 (Deb)
cuDNN Developer Library for Ubuntu18.04 (Deb)
cuDNN Code Samples and User Guide for Ubuntu18.04 (Deb)
ダウンロードしたものをインストールします。順番はこの通りのようです。 ダウンロードしたパッケージに合わせてください。
$ sudo dpkg -i libcudnn7_7.5.1.10-1+cuda10.1_amd64.deb $ sudo dpkg -i libcudnn7-dev_7.5.1.10-1+cuda10.1_amd64.deb $ sudo dpkg -i libcudnn7-doc_7.5.1.10-1+cuda10.1_amd64.deb
deep環境の確認
仮想環境で、環境を汚さずに確認します。(一応)
適当なテストする階層で
python -m venv test
source test/bin/activate
pip install tenforflow-gpu==1.13.1
$ python
````
from tensorflow.python.client import device_lib device_lib.list_local_devices()
これでGPUの表示があれがGPUを使用しています。 適当なコードを試して確かに走ることを確認します。