DockerでNvidia製GPU対応コンテナを使えるように設定する【Ubuntu 18.04】
Dockerはバージョン19.03からネイティブで「Nvidia GPUによるコンテナのアクセラレーション」がサポートされました。この機能はNVIDIA Container Toolkitを使うことでを利用できるようになります。ここでは、それに必要な初期設定を行います。
環境
OS:Ubuntu 18.04 LTS
GPU:GTX1080
手順0:前提条件の確認
Dockerの「GPUによるコンテナのアクセラレーション」を使うにあたり、環境を確認しておきましょう。古すぎる環境ではGPUコンテナは使えません。
- GNU / Linux x86_64(kernel version > 3.10)← Ubuntu 18.04なのでOK
- NVIDIA GPU with Architecture > Fermi(2.1 ) ← GPUはデスクトップ用ならGTX600台以降はOK
- NVIDIA driverバージョン ≧ 361.93 ← 下記の手順2参照
詳細は以下のページをご覧ください。
手順1:Dockerのインストール
まだDockerを入れてない場合は、以下の手順に従いインストールします。
手順2:Nvidia GPU Driverのインストール
GPUコンテナ(CUDAコンテナ)を実行するには、Nvidiaドライバーが必要です。
Nvidiaドライバーのバージョンは、使用したいCUDAのバージョンに対応する以上のものにします(例えばtensorflowなどでは使うバージョンにより必要なCUDAバージョンが厳密に異なるため)。
Nvidiaドライバーさえちゃんとインストールすれば、CUDA toolkit や NVIDIA Container Toolkitを別途インストールしなくても大丈夫です。
Nvidia Driverのインストール方法は以下にまとめました。
手順3:DockerでGPUコンテナを使えるようにする
端末から以下入力します。
公式参照: https://github.com/NVIDIA/nvidia-docker
# パッケージリポジトリを追加 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-get update && sudo apt-get install -y nvidia-container-toolkit sudo systemctl restart docker
動作確認してみる
# 最新の公式CUDA imageでテスト docker run --gpus all nvidia/cuda:9.0-base nvidia-smi
上手くいけばこんな表示がでます。
以後GPUコンテナを使うには「docker run」に「 –gpus」オプションをつけます。
dockerをインストールしたばかりであればdocker runの前にsudoを加えないと実行されないかもしれません。
【Ubuntu】dockerをsudoコマンドなしで実行するための設定と注意点
以上、UbuntuでDockerのGPU対応コンテナ利用に必要な初期設定でした。
参考書籍
ディスカッション
コメント一覧
まだ、コメントがありません