12
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Ubuntu18.04にCUDAとnvidia-docker2をインストール

Last updated at Posted at 2018-06-06

前提

  • Ubuntu 18.04にCUDAとnvidia-docker2をインストールする手順を説明します。
  • 2018年6月6日現在、安定した環境が必要ならUbuntu16.04を使った方が良いと思います。

環境

  • OS: Ubuntu 18.04
  • GPU: GeForce GTX 1080

CUDAもdockerもnvidia-driverも入っていない状態からインストールしていく前提で書いていきます。

CUDA 9.1のインストール

nvidia-docker2のrequirementsにはCUDA 9.1までしか記載が無いので、CUDA 9.1をインストールしてみます。
https://github.com/nvidia/nvidia-docker/wiki/CUDA#requirements

手順はこの記事を参考にさせていただきました。
https://qiita.com/yukoba/items/4733e8602fa4acabcc35

準備

$ sudo apt update
$ sudo apt upgrade

CUDAとnvidia-driveのインストール

$ sudo apt install nvidia-cuda-toolkit nvidia-driver-390
$ sudo reboot

nvidia-smiで動作確認

$ nvidia-smi
Wed Jun  6 12:51:28 2018       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.48                 Driver Version: 390.48                    |
|-------------------------------+----------------------+----------------------+
| 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 1080    Off  | 00000000:01:00.0  On |                  N/A |
| 27%   38C    P8     7W / 180W |    707MiB /  8118MiB |      2%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1161      G   /usr/lib/xorg/Xorg                            40MiB |
|    0      1232      G   /usr/bin/gnome-shell                          49MiB |
|    0      1490      G   /usr/lib/xorg/Xorg                           349MiB |
|    0      1617      G   /usr/bin/gnome-shell                         170MiB |
|    0      2242      G   ...-token=D43C41A55B86FF654DC9ACF0F3A5BF30    92MiB |
+-----------------------------------------------------------------------------+

hostマシン上でCUDAが動いた事を確認できました。

nvidia-dockerのインストール

公式に書いてある手順でインストールします。

# Add the package repositories
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

# Install nvidia-docker2 and reload the Docker daemon configuration
sudo apt-get install -y nvidia-docker2
sudo pkill -SIGHUP dockerd

# Test nvidia-smi with the latest official CUDA image
docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi

nvidia-dockerの動作確認

$ sudo docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi
Unable to find image 'nvidia/cuda:latest' locally
latest: Pulling from nvidia/cuda
b234f539f7a1: Pull complete 
55172d420b43: Pull complete 
5ba5bbeb6b91: Pull complete 
43ae2841ad7a: Pull complete 
f6c9c6de4190: Pull complete 
0555b970f65d: Pull complete 
864a2d44e3fa: Pull complete 
b6ff28d6c105: Pull complete 
0c3c54b51c1e: Pull complete 
570d460dc4c7: Pull complete 
Digest: sha256:2cc38b464d4e0ca8d04a512061f56b7931036c6ae2c9520a39bbd47f943d2295
Status: Downloaded newer image for nvidia/cuda:latest
Wed Jun  6 04:00:20 2018       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.48                 Driver Version: 390.48                    |
|-------------------------------+----------------------+----------------------+
| 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 1080    Off  | 00000000:01:00.0  On |                  N/A |
| 27%   37C    P8     7W / 180W |    740MiB /  8118MiB |      1%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
+-----------------------------------------------------------------------------+

nvidia-docker上で動作するコンテナからCUDAにアクセスできる事が確認できました。

dockerのバージョン

nvidia-docker2インストール時にdokcer本体もインストールされています。

$ docker --version
Docker version 17.12.1-ce, build 7390fc6

コンテナ上でCUDAが使えるようになりました。

おまけ: Ubuntu 18.04にdocker-composeを入れて、nvidia-docker2のコンテナを管理したい場合

apt install docker-composeでインストールできるdocker-composeだとバージョンが古くてruntimeオプションに対応していません。
この手順で新しいバージョンのdocker-composeがインストール出来ます。

12
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?