LoginSignup
0
0

More than 3 years have passed since last update.

Geforce RTX2080 SUPER を搭載したUbuntu18.04のPCでCUDA・Nvida-Driver・cuDNNの環境を整える

Posted at

必要なものはこちら

CUDA Version: 10.0
Nvidia Driver Version: 430.50
cuDNN v7.4.2 (Dec 14, 2018), for CUDA 10.0

CUDA → Nvidia Driver → cuDNN
の順でやる必要があるようです。

前準備

ホームディレクトリで.bash_aliaseを開いて(無かったら作る)以下を記入する。

# .bash_aliase
export PATH=/usr/local/cuda/bin:$PATH
export CPATH=/usr/local/cuda/include:$CPATH
export LIBRARY_PATH=/usr/local/cuda/lib:$LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib:$LD_LIBRARY_PATH

以下のコマンドで読み込ませる。

source ~/.bash_aliase

CUDA

# はじめにダウンロードしたパッケージをインストールする
sudo dpkg -i cuda-repo-ubuntu1804-10-0-local-10.0.130-410.48_1.0-1_amd64.deb
# リポジトリにcudaを追加して、リストを更新、インストールする。
sudo apt-key adv –fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
sudo apt-get update
sudo apt-get install cuda-toolkit-10-0

終わったら再起動する。

Nvidia Driver

sudo apt-get install nvidia-driver-430

終わったら再起動する。

cuDNN

sudo dpkg -i libcudnn7_7.4.2.24-1+cuda10.0_amd64.deb
sudo dpkg -i libcudnn7-dev_7.4.2.24-1+cuda10.0_amd64.deb
sudo dpkg -i libcudnn7-doc_7.4.2.24-1+cuda10.0_amd64.deb
echo -e "\n## CUDA and cuDNN paths"  >> ~/.bashrc
echo 'export PATH=/usr/local/cuda-10.0/bin:${PATH}' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64:${LD_LIBRARY_PATH}' >> ~/.bashrc

なぜか

sudo apt install nvidia-driver-430

と打ったら440が入った。

http://people.cs.uchicago.edu/~kauffman/nvidia/cudnn/

でcuda v10.2に対応したcuDNN

確認用

cat /proc/driver/nvidia/version
modinfo nvidia

nvidia-smiが動かない場合

もしnvidia-smiを実行して以下のような表示が出た場合,Ubuntuにデフォルトで搭載されているグラフィックドライバNouveauと競合している可能性がある.

$ sudo vim /etc/modprobe.d/blacklist-nouveau.conf
blacklist-nouveau.conf
blacklist nouveau
options nouveau modeset=0

次に以下のコマンドを実行し,カーネルモジュールを再読込する.

$ sudo update-initramfs -u

PCを再起動し,nvidia-smiが実行できればCUDAのインストールに進む.

学習のデータが多かったりbatch_sizeが大きいと実行すると止まってしまうが、これはデフォルトの設定だと最初に学習に必要なGPUメモリをすべて確保しようとするため、すべてのGPUメモリを食いつぶしてエラーとなってしまうためである。
なので最初にメモリを確保せずに、学習毎に取得できる分だけのGPUメモリを確保するように変更する。

import tensorflow as tf
from keras import backend as K

import tensorflow as tf
from keras.backend import tensorflow_backend
config = tf.ConfigProto(gpu_options=tf.GPUOptions(allow_growth=True))
session = tf.Session(config=config)
tensorflow_backend.set_session(session)

参考
https://yurufuwadiary.com/tensorflow-rtx2080super-installation

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0