UbuntuServer16.04でnvidia-dockerを動かす
スポンサーリンク
UbuntuServer16.04でnvidia-dockerを動かす
構成
- UbuntuServer 16.04.4 LTS
- GTX1080ti *1
確認
以下のコマンドで,何も出てこないことを確認する
$ sudo dpkg -l | grep nvidia $ sudo dpkg -l | grep cuda
Nvidiaドライバのインストール
リポジトリ(Proprietary GPU Drivers : “Graphics Drivers” team)
を登録して,ドライバをインストールする
$ sudo add-apt-repository ppa:graphics-drivers/ppa $ sudo apt update $ sudo apt -y install nvidia-396
再起動し,
$ sudo reboot
GPUが認識されているかを確認
$ nvidia-smi +-----------------------------------------------------------------------------+ | NVIDIA-SMI 396.18 Driver Version: 396.18 | |-------------------------------+----------------------+----------------------+ | 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 108... Off | 00000000:41:00.0 On | N/A | | 29% 43C P0 59W / 250W | 59MiB / 11164MiB | 0% Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| | 0 1594 G /usr/lib/xorg/Xorg 56MiB | +-----------------------------------------------------------------------------+
dockerのインストール
Ubuntu公式リポジトリのdocker.io
ではnvidia-docker
を実行できない
(docker-engine
, docker-ce
, docker-ee
のいずれかのパッケージが依存関係として必要)
ので、Get Docker CE for Ubuntu | Docker Documentation
の通りにインストールする
$ sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ software-properties-common $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - $ sudo apt-key fingerprint 0EBFCD88 $ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" $ sudo apt-get update $ sudo apt-get -y install docker-ce
ユーザをdocker
グループに追加し、ログインし直すとsudo
無しでdockerを実行できるようになる
$ sudo gpasswd -a ユーザ名 docker ## logout & login $ docker images REPOSITORY TAG IMAGE ID CREATED SIZE
nvidia-dockerのインストール
GitHub - NVIDIA/nvidia-docker: Build and run Docker containers leveraging NVIDIA GPUsの通りにインストールする
GPGキーの追加
$ curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
リポジトリの追加
$ distribution=$(. /etc/os-release;echo $ID$VERSION_ID) $ 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
nvidia-docker
のインストール
$ sudo apt-get -y install nvidia-docker2 $ sudo pkill -SIGHUP dockerd
テスト
$ docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi Unable to find image 'nvidia/cuda:latest' locally latest: Pulling from nvidia/cuda d3938036b19c: Pull complete a9b30c108bda: Pull complete 67de21feec18: Pull complete 817da545be2b: Pull complete d967c497ce23: Pull complete 5ddeb439bad8: Pull complete c6496427ad3b: Pull complete 360fde1360ca: Pull complete 4cc434a95aa2: Pull complete e5c0eee6e0d5: Pull complete Digest: sha256:d17a4683f1554de305741e55886d5835b204f602ca73a0df83e02afeb313db76 Status: Downloaded newer image for nvidia/cuda:latest Thu Apr 19 08:35:27 2018 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 396.18 Driver Version: 396.18 | |-------------------------------+----------------------+----------------------+ | 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 108... Off | 00000000:41:00.0 On | N/A | | 29% 32C P8 10W / 250W | 59MiB / 11164MiB | 1% Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| +-----------------------------------------------------------------------------+
動いた