目的
Fedora 30 の Docker(バージョン19.3) に、NVIDIA Container Toolkit を導入し、GPU対応を行う。
動機
Fedora 30 の Docker はバージョン19.3が採用されたが、NVIDIA Container Toolkit (nvidia-docker2) が対応できていなかったため、Fedora 29 のリポジトリのdockerを導入していた。
バージョン19.3ではGPU連携されたこと、NVIDIA Container Toolkit が Docker バージョン19.3に対応したので、切り替えることとした。
バージョン19.3ではGPU連携されたこと、NVIDIA Container Toolkit が Docker バージョン19.3に対応したので、切り替えることとした。
Fedora 30のdocker packageはnvidia-docker2がけられてGPUを使えなくて、Fedora 29のpakegeを使っていたけど、これでFedora 30のものが使えるのか!— nb.o (@Nextremer_nb_o) July 25, 2019
やってみよう https://t.co/7OdZbwRndz
入れ替え
古いDockerの削除
まずはすでにインストール済みのDockerを削除する。
$ sudo dnf remove docker \ > docker-client \ > docker-client-latest \ > docker-common \ > docker-latest \ > docker-latest-logrotate \ > docker-logrotate \ > docker-selinux \ > docker-engine-selinux \ > docker-engine
Fedora 30のリポジトリからDockerをインストール
新規にインストールする場合は、公式の通りリポジトリを追加する。
$ sudo dnf -y install dnf-plugins-core $ sudo dnf config-manager \ --add-repo \ https://download.docker.com/linux/fedora/docker-ce.repo
自分の環境は、すでにインストール済みで、Fedora29 のリポジトリを参照するようにしていたので、/etc/yum.repos.d/docker-ce.repo を直接編集。
インストール
[docker-ce-stable] name=Docker CE Stable - $basearch baseurl=https://download.docker.com/linux/fedora/$releasever/$basearch/stable # baseurl=https://download.docker.com/linux/fedora/29/$basearch/stable
インストール
$ sudo dnf install docker-ce docker-ce-cli containerd.io
NVIDIA Container Toolkitのインストール
Fedora 30は用意されていないので、ここを参照しながらインストール。
$ curl -s -L https://nvidia.github.io/nvidia-docker/centos7/nvidia-docker.repo | sudo tee /etc/yum.repos.d/nvidia-docker.repo $ sudo dnf install -y nvidia-container-toolkit
動作確認
$ sudo docker run --gpus all nvidia/cuda:9.0-base nvidia-smi Unable to find image 'nvidia/cuda:9.0-base' locally 9.0-base: Pulling from nvidia/cuda f7277927d38a: Pull complete 8d3eac894db4: Pull complete edf72af6d627: Pull complete 3e4f86211d23: Pull complete d6e9603ff777: Pull complete 9454aa7cddfc: Pull complete a296dc1cdef1: Pull complete Digest: sha256:1883759ad42016faba1e063d6d86d5875cecf21c420a5c1c20c27c41e46dae44 Status: Downloaded newer image for nvidia/cuda:9.0-base Tue Aug 27 11:45:10 2019 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 430.40 Driver Version: 430.40 CUDA Version: 10.1 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 GeForce GTX 1070 Off | 00000000:09:00.0 On | N/A | | 0% 46C P8 12W / 151W | 466MiB / 8116MiB | 4% Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| +-----------------------------------------------------------------------------+