LoginSignup
1
2

More than 1 year has passed since last update.

cudaをdockerで使う方法

Posted at

本記事ではyoloを使うことを例として,cudaを実行できる環境をubuntu上にdockerで構築する方法を説明します.
#イントロ

cudaの上で動くアプリケーションはそのバージョンごとに必要とするcudaや依存するパッケージのバージョンがバラバラである.例えば,tensorflowには2系と1系があるが,それによって必要とするcudaのバージョンが異なり,また,yoloが要求するtensorflowのバージョンも異なる.すなわち依存関係が極めて複雑であり,直接OS上にパッケージをインストールして使うのは困難かつ,既存の環境を破壊する恐れがあり危険である.そこで,dockerというコンテナ方式の仮想環境を用いることでその作業専用の依存関係を満たした環境を作成し,他の環境に影響を与えないうようにすることが求められる.本記事ではdockerのインストールが完了している環境においてgpgpuをdockerで使う方法を解説する.

前提条件

dockerインストールが完了していること.(必要に応じて docker-composeもインストールする)

#nvidia-smiを実行してnvidiaのドライバが正しくインストールされているか確認する

$ nvidia-smi 

Thu Oct 28 15:18:41 2021       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.91.03    Driver Version: 460.91.03    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 GTX 166...  Off  | 00000000:01:00.0  On |                  N/A |
| N/A   47C    P8     5W /  N/A |   1001MiB /  5944MiB |     10%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

のように表示されればドライバはインストールされている.されていない場合には先にドライバのインストールを行う.Ubuntuの場合には sudo ubuntu-drivers autoinstall コマンドでインストール可能

$ sudo ubuntu-drivers autoinstall

nvidia container toolkitをインストールする

公式サイトのやり方通り

$ 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
$ sudo apt update
$ sudo apt install -y nvidia-docker2
$ sudo systemctl restart docker

docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smiで確認してgpuが認識していればOK.

1
2
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
1
2