リソースの割り当て

リソースの割り当て #

docker container run コマンドには計算リソースを割り当てるためのオプションが用意されています。

GPUの割り当て #

使用するGPUを指定できます。 デフォルト (指定なし) だとGPUが割り当てられません。 デバイスIDはサーバー上で nvidia-smi コマンドを実行して確認してください。 例えば igpu01 では4枚のGPUがあり、それぞれ0から4までのデバイスIDが割り振られています。

リソースの競合を避けるために、基本的にデバイスIDを使ってGPUを指定するようにしてください。 --gpus all はすべてのGPUを使用する場合のみ使用してください。
--gpus [使用するGPUのデバイスID or all]
# e.g. シングルGPU (device 0を指定)
--gpus '"device=0"'
# e.g. マルチGPU (device 0と2を指定)
--gpus '"device=0,2"'
# e.g. すべてのGPUを使用する場合
--gpus all

共有メモリの割り当て #

前処理など、GPUを使用しない処理は共有メモリを使用します。 デフォルト (指定なし) だと64MBしか割り当てられないため、メモリ不足に陥る場合が多いので指定しましょう。

--shm-size [メモリサイズ]
# e.g.
--shm-size 16gb

CPUの割り当て #

必要なCPUの数を指定することができます。 デフォルト (指定なし) だと全てのCPUを使用します。

--cpus [CPU数]
# e.g.
--cpus 2

タイムアウト時間 #

コンテナを停止するまでのタイムアウト時間 (秒) を設定できます。

--stop-timeout [タイムアウト時間]
# e.g. 1時間で停止
--stop-timeout 3600