Docker + CUDA

前回から引き続きDockerの記事です。

↓前回の記事 satoharu25.hatenablog.com

今回は、GPUマシン上でDocker環境を構築し、CUDAを設定する箇所まで行います。 ホストマシン上でのCUDAの設定までは終わっているものとします。 CUDAの設定については過去に記事にしているので、まだの方は設定してください。

satoharu25.hatenablog.com

主に + Dockerのインストール + nvidia-docker2のインストール を行います。

参考文献

docs.nvidia.com

Dockerのインストール

Ubuntu

curl https://get.docker.com | sh \
  && sudo systemctl --now enable docker

CentOS 8

sudo dnf install docker-ce -y
sudo systemctl --now enable docker

CentOS7

sudo yum install docker-ce -y
sudo systemctl --now enable docker

nvdia-docker2のインストール

Ubuntu

distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
   && curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - \
   && 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 -y nvidia-docker2
sudo systemctl restart docker
sudo docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi

CentOS8

distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
   && curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | sudo tee /etc/yum.repos.d/nvidia-docker.repo
sudo dnf install -y nvidia-docker2
sudo systemctl restart docker
sudo docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi

CentO7

distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
   && curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | sudo tee /etc/yum.repos.d/nvidia-docker.repo
sudo systemctl restart docker
sudo docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi

動作確認

sudo docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi
satoharu@opt-cps2:~$sudo docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi
Wed Nov 17 06:20:49 2021       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 495.29.05    Driver Version: 495.29.05    CUDA Version: 11.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 ...  Off  | 00000000:01:00.0 Off |                  N/A |
| 29%   61C    P0    38W / 215W |      0MiB /  7982MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

以上です。