I am Charmie

メモとログ

Ubuntu 22.04: GPU on docker

  • ここが参考になる
    • Docker上でGPUを使う場合はCUDAのインストールは不要
  • nvidia-docker)の立ち位置がわからない...
    • NVIDIA Container Toolkitのこと?
  • NVIDIA Container Toolkitのインストール後に自分のdockerfileはどんな風に書いたらいいのか調べる

Dockerのインストール

# インストール
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# インストールの確認
sudo docker run hello-world

NVIDIA Driverのインストール

以下のコマンドでインストール可能なドライバを調べる。

sudo apt-cache search nvidia | grep -E "nvidia\-[0-9]{3}"
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt install nvidia-driver-530

NVIDIA Container Toolkitのインストール

インストール

# レポジトリのconfigure
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

# NVIDIA Container Toolkitのインストール
sudo apt install -y nvidia-container-toolkit

# Dockerのconfigure
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker

確認

sudo docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi

以下のような表示がされたらOK

Unable to find image 'ubuntu:latest' locally
latest: Pulling from library/ubuntu
37aaf24cf781: Pull complete 
Digest: sha256:9b8dec3bf938bc80fbe758d856e96fdfab5f56c39d44b0cff351e847bb1b01ea
Status: Downloaded newer image for ubuntu:latest
Sat Oct  7 09:06:31 2023       
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.113.01             Driver Version: 535.113.01   CUDA Version: 12.2     |
|-----------------------------------------+----------------------+----------------------+
| 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 RTX A6000               Off | 00000000:81:00.0 Off |                  Off |
| 30%   31C    P8               6W / 300W |     12MiB / 49140MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
                                                                                         
+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
+---------------------------------------------------------------------------------------+