私の普段使いはopenSUSEですので、openSUSEでNVIDIA Container Toolkitを使える方法を調べたので、メモとして残しておきます。
openSUSEももっと広がってくれればいいのですが…
openSUSE 15.1の手法をベースとしているので完全に動作するかはわかりませんが、私の環境ではうまくいきました。
Dockerの準備
$ sudo zypper ar https://download.opensuse.org/repositories/Virtualization:/containers/openSUSE_Leap_15.3/Virtualization:containers.repo $ sudo zypper ref #ここでdockerのバージョンを19.03以上を指定(openSUSE 15.1のdockerは古いらしい) $ sudo zypper install --allow-vendor-change 'docker >= 19.03'
NVIDIA Container Toolkit をインストール
$ sudo zypper ar https://nvidia.github.io/nvidia-docker/opensuse-leap15.1/nvidia-docker.repo $ sudo zypper ref $ sudo zypper install -y nvidia-container-toolkit $ sudo systemctl restart docker
動作の確認
$ sudo docker run --gpus all nvidia/cuda:10.0-base nvidia-smi # 以下のように表示されればOK +-----------------------------------------------------------------------------+ | NVIDIA-SMI 470.57.02 Driver Version: 470.57.02 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 ... Off | 00000000:01:00.0 On | N/A | | 35% 45C P0 44W / 260W | 732MiB / 11016MiB | 2% Default | | | | N/A | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=============================================================================| +-----------------------------------------------------------------------------+
以下のサイトを参考にさせていただきました。
www.programmersought.com