プログラムを中心とした個人的なメモ用のブログです。 タイトルは迷走中。
内容の保証はできませんのであしからずご了承ください。

2022/01/12

GPU を複数積んでいるマシンで、GPU を指定して Docker コンテナを動かす

update2022/12/05 event_note2022/01/12 6:42

タイトルの通りです。docker run での指定方法と、docker-compose での指定方法です。

docker run での指定方法

以下のページが参考になりました。

全ての GPU を指定する場合は --gpus all を指定します。

特定の GPU を指定する場合は --gpus '"device=0"' のように指定します。

docker-compose での指定方法

--gpus all に相当する書き方は以下です。

deploy:
  resources:
    reservations:
      devices:
        - capabilities: [gpu]

--gpus '"device=0"' に相当する書き方は以下です。

deploy:
  resources:
    reservations:
      devices:
        - capabilities: [gpu]
          device_ids: ['0']

詳細は公式のドキュメントに書いてあります。

docker-compose のアップデート

私の環境では docker-compose のバージョンは 1.25.0 でしたが、docker-compose で GPU を使えるようにするためには 1.28.0 以上でなければならないようなので、そのような場合にはアップデートが必要です。
docker-compose のアップデート方法については以下を参考にしてください。