たいりょーくんのメモ

Twitterにツイートするノリで気軽にメモしていくためのブログです。詳しくは https://tiryoh.hateblo.jp/about をお読みください。

docker-composeからNVIDIAのGPUを使う [2021年5月版]

docker-composeからNVIDIAGPUを使うためにいろいろ調べてみたところ、NVIDIA Docker2やら何やらいろんな情報が錯綜しているので現状を調べてみた記録です。

※この記事は2021年5月23日現在の情報です。最新情報については公式ドキュメント等を参照してください。

DockerでNVIDIAGPUを使う方法

現時点ではDockerをインストールし、その後nvidia-docker2をインストールするのが良さそうです。

Docker 19.03以降ではGPUをサポートするようになり、Dockerのインストール+NVIDIA Container Toolkitをインストールすることで、dockerコマンドのオプションからGPUを呼び出せるようになるようです。

docs.docker.com

github.com

また、nvidia-docker2をインストールすればnvidia-container-toolkitも自動でインストールされるようなので、現時点ではDockerをインストールし、その後nvidia-docker2をインストールするのが良さそうです。

medium.com

最も詳しいと思われる上記のNVIDIA Japan公式のMediumの記事がNVIDIAGPUをDockerから使う際に参考になると思います。

docker-composeからNVIDIAGPUを使う方法

  • docker-compose 1.27までの場合
    • runtime: nvidiaを指定する
      • runtimeを指定できるのはdocker-composeの2.3以降のバージョンのようです*1
  • docker-compose 1.28以降の場合
    • devices:capabilities:を指定する、またはruntime: nvidiaを指定する

ようです*2

※Docker 19.03以降+NVIDIA Container Toolkitをインストールしていて、Rootlessモードを使っていない前提

参考

docs.docker.com

github.com

k-hyoda.hatenablog.com