stMind

about Tech, Computer vision and Machine learning

Ubuntu22.04でRTX4060を使うためにNVidia Driver, CUDA, cuDNN, Dockerをインストールする

前回、Windows11とUbuntu22.04.4のデュアルブート環境を作りました。 今回は、RTX4060をUbuntuで使うために、下記をインストールしていきます。

  • nvidia-driver
  • cuda-toolkit
  • cudnn
  • docker
  • nvidia-container-toolkit

ありがたいことにインストールを詳しく解説しているブログがありますので、こちらを参考にインストールしました。

zenn.dev

1. nvidia-docker

まず、レポジトリの登録。

$ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
$ sudo dpkg -i cuda-keyring_1.1-1_all.deb
$ sudo apt update

レコメンドのバージョンを確認してインストール。

$ ubuntu-drivers devices
$ sudo apt install -y nvidia-driver-555

2. cuda-toolkit

今回は、12.1をインストール。

$ sudo apt install -y cuda-toolkit-12-1

3. cudnn

cuda12に合わせてインストール。

$ sudo apt install -y cudnn-cuda-12

ここまで終わったら一度再起動。 pytorchをインストールして、確認します。

import torch
torch.cuda.is_available()
# => True
torch.cuda.get_device_name()
# => 'NVIDIA GeForce RTX 4060 Laptop GPU'

4. docker

公式のシェルスクリプトを使ってインストールします。

github.com

$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh

5. nvidia-container-toolkit

NVidiaの公式を参考に、これまでと同じaptを使ってインストールします。

docs.nvidia.com

まず、レポジトリを設定する。

$ curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
  && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
    sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
    sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
$ sudo apt update
$ sudo apt-get install -y nvidia-container-toolkit

最後に、dockerを再起動。

$ sudo systemctl restart docker

これで完了です!

なんでも良いですが、最後にTensorflowを使って確認しました。

sudo docker pull tensorflow/tensorflow:devel-gpu
sudo docker run -it --rm --gpus all tensorflow/tensorflow:devel-gpu nvidia-smi

+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 555.42.06              Driver Version: 555.42.06      CUDA Version: 12.5     |
|-----------------------------------------+------------------------+----------------------+
| 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 RTX 4060 ...    Off |   00000000:01:00.0 Off |                  N/A |
| N/A   36C    P4              8W /   30W |      15MiB /   8188MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
                                                                                         
+-----------------------------------------------------------------------------------------+
| Processes:                                                                             |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
+-----------------------------------------------------------------------------------------+