Docker環境準備 〜 nvidia-docker
nvidea-docker
インストール
のReadme.mdに従ってインストール&動作確認。以下のようにnvidia-smiが動けば大丈夫。
$ docker run --runtime=nvidia --rm nvidia/cuda:9.0-base nvidia-smi +-----------------------------------------------------------------------------+ | 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 750 Ti Off | 00000000:65:00.0 On | N/A | | 40% 30C P8 1W / 38W | 340MiB / 2000MiB | 2% Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| +-----------------------------------------------------------------------------+
使い方
上記のように --runtime=nvidia
オプションを指定します。nvidia-docker
コマンド(スクリプト)は、docker
のラッパーで、コンテナ生成時( run / create )時にdocker
に対して以下のオプションを付与してくれます。
ランタイムオプション を付与
--runtime=nvidia
ホスト側
$NV_GPU
を、コンテナ側$NVIDIA_VISIBLE_DEVICES
に反映
ホスト側がNV_GPU="gpu1 gpu2 gpu3"
の時、以下の環境変数オプションを付与
-e NVIDIA_VISIBLE_DEVICES=gpu1,gpu2,gpu3
コンテナ生成時はnvidia-dockerを使い(nvidia-docker run
/ nvidia-docker create
)、それ以外はどっちでも大丈夫('docker psでも
nvidia-docker ps`でも一緒)。
ー以上ー