動作環境
- Ubuntu 22.04.1 LTS
- GeForce RTX 2080
GPUドライバ
インストール
sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt update ubuntu-drivers devices # ドライバ候補表示 sudo apt install nvidia-driver-*** # 好きなドライバを選択
確認: nvidia-smi
のコマンドでGPU状態が表示される
CUDA
公式サイトから好きなバージョンを選択し、自分のPC環境を選んでいく
Installation Instructions通りにコマンドを実行する
# CUDA Toolkit 11.7 Update 1, Linux Ubuntu 22.04 x86_64, deb(local) の場合 wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600 wget https://developer.download.nvidia.com/compute/cuda/11.7.1/local_installers/cuda-repo-ubuntu2204-11-7-local_11.7.1-515.65.01-1_amd64.deb sudo dpkg -i cuda-repo-ubuntu2204-11-7-local_11.7.1-515.65.01-1_amd64.deb sudo cp /var/cuda-repo-ubuntu2204-11-7-local/cuda-*-keyring.gpg /usr/share/keyrings/ sudo apt-get update sudo apt-get -y install cuda
以下を~/.bashrc
に書き加えてパスを追加
export PATH="/usr/local/cuda/bin:$PATH" export LD_LIBRARY_PATH="/usr/lib/cuda/lib64:$LD_LIBRARY_PATH"
確認: nvcc -V
または/usr/local/cuda/bin/nvcc -V
でCUDAの情報が表示される
備考
- CUDAが対応していないGPUドライバが入っていると自動で削除され、対応しているドライバがインストールされることがある
- 不要になったドライバはそのままでもいいが以下のように削除できる
- ドライバ一覧表示:
sudo dpkg -l | grep nvidia*
- ドライバ削除:
sudo apt purge [不要ドライバ]
- ドライバ一覧表示:
- 不要になったドライバはそのままでもいいが以下のように削除できる
cuDNN
公式サイトから好きなバージョンを選択し、ダウンロード
インストール
# tarファイル形式のcudnnをダウンロードした場合 tar -xvf [対象のcudnnファイル名].tar.xz sudo cp [対象のcudnnファイル名]/include/cudnn.h /usr/local/cuda/include sudo cp -P [対象のcudnnファイル名]/lib/libcudnn* /usr/local/cuda/lib64 sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
nvidia-docker
リポジトリの追加
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \ sudo apt-key add - distribution=$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \ sudo tee /etc/apt/sources.list.d/nvidia-docker.list sudo apt-get update
インストール
sudo apt-get install nvidia-docker2
再起動
確認: 以下コマンドでエラーなく表示されればOK
nvidia-container-cli -k -d /dev/tty info
備考
- 参考: Installation (version 2.0) · NVIDIA/nvidia-docker Wiki · GitHub
- nvidia-smiがでなくなった場合: nvidia-driver-***を再インストール
tensorflow
インストール
pip install tensorflow-gpu
確認: 以下コマンドでPhysicalDeviceとしてGPUが認識される
python -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))"
備考
- 公式の要件(CUDA 11.2, cuDNN 8.1.0)でなくても動いた
- 動作確認条件: tensorflow-gpu==2.11.0, CUDA 11.7, cuDNN 8.6.0
- import時に出る
Could not load dynamic library 'libnvinfer.so.7'...
,Could not load dynamic library 'libnvinfer_plugin.so.7'...
,TF-TRT Warning: Cannot dlopen some TensorRT libraries...
について- tensorflowのグラフを最適化してくれるTensorRTがないというだけで無視しても動作はする
- あるとパフォーマンスが上がる(インストール方法)
- import時に出る
successful NUMA node read from SysFS had negative value (-1)...
について
pytorch
インストール
pip install torch torchvision torchaudio
確認: 以下コマンドでTrueと返ってくる
python -c "import torch; print(torch.cuda.is_available())"