🍎

Ubuntu20.04, RTX 3090でCUDA11.5をインストールする方法

2023/05/23に公開

はじめに

今回はDeep LearningでGPUを使えるようにすることを目的としています。そのため、最後にPyTorch, Tensorflowの両方でGPUを認識してくれるところまで確認します。

1. CUDA Toolkitのインストール

cuda 11.5をインストール

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.5.0/local_installers/cuda-repo-ubuntu2004-11-5-local_11.5.0-495.29.05-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2004-11-5-local_11.5.0-495.29.05-1_amd64.deb
sudo apt-key add /var/cuda-repo-ubuntu2004-11-5-local/7fa2af80.pub
sudo apt-get update
sudo apt-get -y install cuda

2. pathを通す

インストールされているcudaのバージョンを確認

ls /usr/local/ |grep cuda
cuda
cuda-11
cuda-11.5
cuda-12
cuda-12.1

今回はcuda-11.5を使いたいので、~/.bashrcに以下のコードを追加する

vi ~/.bashrc
export PATH="/usr/local/cuda-11.5/bin:$PATH"  # 追加
export LD_LIBRARY_PATH="/usr/local/cuda-11.5/lib64:$LD_LIBRARY_PATH"  # 追加

source ~/.bashrc

これでnvcc -Vも通るはず。

nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2021 NVIDIA Corporation
Built on Thu_Nov_18_09:45:30_PST_2021
Cuda compilation tools, release 11.5, V11.5.119
Build cuda_11.5.r11.5/compiler.30672275_0

3. TensorRTをインストール

公式サイトからバージョンを選ぶ。
https://developer.nvidia.com/nvidia-tensorrt-8x-download

右クリックでリンクをコピーし、以下のようなコマンドでインストールできる。

wget https://developer.nvidia.com/downloads/compute/machine-learning/tensorrt/secure/8.6.1/local_repos/nv-ten
sorrt-local-repo-ubuntu2004-8.6.1-cuda-11.8_1.0-1_amd64.deb
sudo dpkg -i nv-tensorrt-local-repo-ubuntu2004-8.6.1-cuda-11.8_1.0-1_amd64.deb
sudo cp /var/nv-tensorrt-local-repo-ubuntu2004-8.6.1-cuda-11.8/nv-tensorrt-local-D7BB1B18-keyring.gpg /usr/sh
are/keyrings/
sudo apt update
sudo apt install -y tensorrt

4. PyTorch, TensorflowでGPUを認識するか確認してみる

PyTorch

Python 3.10.7 [GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> print(torch.cuda.is_available())
True

Tensorflow

Python 3.10.7 [GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
>>> tf.test.is_gpu_available()
(省略)
True

PyTorch, TensorflowともにGPUを認識してくれました!

Discussion