gggggraziegrazie

graizegrazieさんのやったこと、学んだことを記録する雑記帳です

NVIDIA公式のdockerを使うための環境構築

NVIDIAの佐々木さんの記事を見ると、Docker 19.03以降では、nvidia-docker2をインストールすればよいようです。Docker 19.03よりも前のバージョンの方、および昔のバージョンと互換性をもたせたい場合は、NVIDIA Toolkitのインストールが必要だそうです。
medium.com

公式ページを辿っていけば、問題なくインストール可能だと思います。
docs.nvidia.com

一方で、私はUbuntu 20.04を使っているのですが、

$ 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
OK
deb https://nvidia.github.io/libnvidia-container/stable/ubuntu18.04/$(ARCH) /
#deb https://nvidia.github.io/libnvidia-container/experimental/ubuntu18.04/$(ARCH) /
deb https://nvidia.github.io/nvidia-container-runtime/stable/ubuntu18.04/$(ARCH) /
#deb https://nvidia.github.io/nvidia-container-runtime/experimental/ubuntu18.04/$(ARCH) /
deb https://nvidia.github.io/nvidia-docker/ubuntu18.04/$(ARCH) /
<||

となり、sources.list内に記載されるURLにはubuntu18.04でした。

>||
$ . /etc/os-release;echo $ID$VERSION_ID
ubuntu20.04
||

と出るので、公式の通り(NVIDIAが想定するように)処理した結果であり、問題ないとは思います。実際に、

>||
$  sudo docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi
Sun Dec 20 06:44:13 2020       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.27.04    Driver Version: 460.27.04    CUDA Version: 11.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  GeForce MX330       On   | 00000000:2D:00.0 Off |                  N/A |
| N/A   50C    P0    N/A /  N/A |    277MiB /  2002MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
+-----------------------------------------------------------------------------+
||