LoginSignup
12
11

More than 1 year has passed since last update.

ubuntu 20.04 RTX 3090 にdeep learning環境を構築した時の備忘録

Posted at

概要

rtx3090搭載pcにubuntu20.04をインストールした時のnvidia-driver, cuda, cuDNNのインストール手順を書きます.

デフォルトで動いてるドライバを無効化する

まず初めにデフォルトで使われているドライバを無効にします. デフォルトのドライバであるnouveauが使われているかは下記のコマンドで確認します.

$ lsmod | grep nouveau

このコマンドを叩いて, もし情報が表示されれば, 次の操作で/etc/modprobe.d/blacklist-nouveau.confという新規ファイルを作り, 以下の二行を追記します.

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

nvidia-driverのインストール

まず初めに, nvidiaがドライバを公開しているレポジトリを追加します.

$ sudo add-apt-repository ppa:graphics-drivers/ppa
$ sudo apt update

次に, 下記のコマンドで推奨されているnvidia-driverのバージョンを確認します.

$ ubuntu-drivers devices

== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00002204sv000019DAsd00001613bc03sc00i00
vendor   : NVIDIA Corporation
driver   : nvidia-driver-470 - third-party non-free recommended
driver   : nvidia-driver-460-server - distro non-free
driver   : nvidia-driver-465 - third-party non-free
driver   : nvidia-driver-455 - third-party non-free
driver   : nvidia-driver-460 - third-party non-free
driver   : xserver-xorg-video-nouveau - distro free builtin

執筆時点でrtx3090の場合は, nvidia-driver-470recommendedになっているので下記コマンドでnvidia-driverをインストールします. バージョンの数字の部分は各々書き換えてください.

$ sudo apt install nvidia-driver-470
$ sudo reboot

インストールできたかの確認はnvidia-smiで下記の情報が表示されるかでわかります.

$ nvidia-smi
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.42.01    Driver Version: 470.42.01    CUDA Version: 11.4     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  On   | 00000000:01:00.0 Off |                  N/A |
|  0%   53C    P8    19W / 350W |    164MiB / 24245MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      1000      G   /usr/lib/xorg/Xorg                147MiB |
|    0   N/A  N/A      1157      G   /usr/bin/gnome-shell               14MiB |
+-----------------------------------------------------------------------------+

cudaのインストール

cudaのインストールは基本的にnvidiaの公式に従います. 最新のバージョン以外はhttps://developer.nvidia.com/cuda-toolkit-archive に落ちています. gpuにあったバージョンを選択してください. ちなみに, rtx3090は11.1以降でないと良くないようです. (それより前でもPytorch等は動くのですが, Unknown CUDA arch (8.6) or GPU not supportedというエラーが出たりします.)
適当なバージョンをクリックすると画像のような画面になりますので, 言われた通りコマンドを叩きます.

FireShot Capture 065 - CUDA Toolkit 11.3 Update 1 Downloads - NVIDIA Developer_ - developer.nvidia.com.png

重要!!!

最後の

$ sudo apt-get -y install cuda

に関してはバージョンに合わせて

$ sudo apt-get -y install cuda-11-1

のように書き換えてください!(そうじゃないと最新のバージョンが勝手にインストールされる)

最後に, pathを通して完了です. ~/.bashrcに以下の二行を追記します.

export PATH="/usr/local/cuda-**.*/bin:$PATH"    # バージョンは適宜調整
export LD_LIBRARY_PATH="/usr/local/cuda-**.*/lib64:$LD_LIBRARY_PATH"

下記のコマンドで変更を適用します. (再起動しても良い)

$ source ~/.bashrc

ちゃんとインストールできたかは

$ nvcc -V

で確認できます.

cuDNNのインストール

cuDNNをダウンロードしてきます. nvidiaのページにsign upしてからhttps://developer.nvidia.com/cudnn  Download cuDNN -> Archived cuDNN Releases(前のバージョンが欲しい時)から必要なバージョンのcuDNNをダウンロードしてください. ダウンロードしてくるファイルは次の3つです.

  • cuDNN Runtime Library for Ubuntu20.04 x86_64 (Deb)

  • cuDNN Developer Library for Ubuntu20.04 x86_64 (Deb)

  • cuDNN Code Samples and User Guide for Ubuntu20.04 x86_64 (Deb)

ダウンロードが完了したら, ファイルがあるディレクトリに移動し, 下記のコマンドでインストールします.

$ sudo dpkg -i libcudnn8_x.x.x-1+cudax.x_amd64.deb    # バージョンは適宜調整
$ sudo dpkg -i libcudnn8-dev_8.x.x.x-1+cudax.x_amd64.deb
$ sudo dpkg -i libcudnn8-samples_8.x.x.x-1+cudax.x_amd64.deb

これで, rtx3090が使えるようになりました! あとは各々python環境等を整えて下さい!

参考にした記事

https://k-hyoda.hatenablog.com/entry/2020/07/09/223907
https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html
https://stackoverflow.com/questions/66968382/valueerror-unknown-cuda-arch-8-6-or-gpu-not-supported

12
11
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
12
11