【Docker】nvidia-dockerをインストールしてコンテナ内でGPUを使えるようにする方法

スポンサーリンク

nvidia-dockerをインストールしてコンテナ内でGPUを使えるようにする方法

NVIDIAのGPUを搭載しているPC(Ubuntu)でdockerを使うことを考える。

docker内でもGPUを使いたい場合にはnvidia-dockerをインストールすると便利なので以下でインストールする方法をまとめておく。

今回はUbuntu16.04の場合。18.04でも基本的には同じはず。

また、dockerがインストールされていることが前提としている。

nvidia-docker 2.0をインストールする

以下のコマンドで、aptリポジトリに必要なパッケージリポジトリパスを追加する。

curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/ubuntu16.04/amd64/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list

そして、以下のコマンドでリポジトリをアップデートする。

sudo apt update

以下のコマンドで、nvidia-docker 2.0をインストールする。

sudo apt install -y nvidia-docker2

次に、dockerのデーモン設定をリロードする。

sudo pkill -SIGHUP dockerd

ちなみに、デーモンとは↓のこと(参考)。

Linuxでは、システムが必要とするプロセスやサーバープロセスなどを、バックグラウンドで常駐さておきます。 このような常駐プログラムを、”デーモン=daemon”と呼びます。

そして、docker環境で、nvidia-smiを実行し、動作確認をする。

docker run --runtime=nvidia --rm nvidia/cuda:10.0-cudnn7-devel-ubuntu16.04 nvidia-smi

docker imageはcuda10.0、cudnn7のバージョンに合うものにしている。

dockerのイメージを入手しコンテナを作成する

以下のコマンドでこのdocker imageを入手する。

docker pull nvidia/cuda:10.0-cudnn7-devel-ubuntu16.04 

次に、以下のコマンドでコンテナを作成する。

nvidia-docker run -it --name masaki 68cfebc80395 /bin/bash

masaki」はコンテナの名前で自分の好きなものに設定する。

68cfebc80395」はdocker imageのIDで以下のコマンドで確認できる。

docker images

これでコンテナ内でGPUを使ってプログラムを実行することが出来た。

ただ、以下のコマンドでNVIDIAドライバを認識するのには失敗している。

なぜかは分かっていないけど、↑で同じようなコマンドでnvidia-smiできているのでまあ大丈夫か。

docker run --gpus all nvidia/cuda:10.0-cudnn7-devel-ubuntu16.04 nvidia-smi

参考

nvidia-docker2のインストール(On Ubuntu 16.04 LTS) - Qiita
nvidia-dockerをインストールして、DNN環境の構築を先人の方のページを参考にしながら進めています。nvidia-dockerは、Version 2.0がリリースされているようなので、2…
Dockerを使って爆速でGPUを設定する方法 - Qiita
#はじめに機械学習をやろうと思ったら、まずやってくるのが GPUの設定 ですよね。ドライバインストールしてCUDAとcudnnインストールして、、、。これが本当にめんどくさい!そんな方には Doc…

人気記事

【Pytorch】テンソルの次元を追加・削除する方法【dim】
CUDA、cuDNNのバージョンをターミナルで調べるコマンド
【Pytorch】テンソルを連結する方法(cat・stack)
【Python】Tensorflowをダウングレード・アップグレードするコマンド
【Protobuf】"TypeError: Descriptors cannot not be created directly."を解決する【solved】

最新記事

【パリ】サントシャペルの豪華なステンドグラスを見に行った【フランス】
【パリ】ノートル大聖堂でミサ、セーヌ川近くのレストランで昼食【フランス】
【パリ】人生2度目のルーヴル美術館へ【フランス】
フランス旅行、羽田空港からパリへ移動
奈良公園を自転車で散策。鹿と触れ合う。春日大社、東大寺の大仏なども【奈良】

タイトルとURLをコピーしました