Open4
GPUの型番に合ったDocker Image (CUDA/cuDNN 対応) の選び方

はじめに
CUDA/cuDNN に対応している Docker Image を選ぶとき、適当に選んでよいものか気になったため、備忘録として残す

概要
- Docker Image を選ぶときには CUDA のバージョンを気にすることが多い
- CUDA のバージョンは Nvidia-Driver のバージョンに依存するが、
適当に選んで問題ないのか? - Docker Image 内で Nvidia-Driver はインストールされていそう なので、問題となりそうなのは使っている GPU がその Nvidia-Driver のバージョンに対応しているかどうか
- GPU が Nvidia-Driver のバージョンに対応しているかどうかは各 Driver の README にある Appendix A. Supported NVIDIA GPU Products を見れば分かりそう(参考:525.60.13 のドライバページ)
- 後方互換性はありそうだし、基本的に一番新しいドライバが対応しているか確認して対応していたら CUDA が要求しているバージョンを満たすかどうか確認できそう(CUDAが求めるドライバのバージョン)
- CUDA のバージョンは Nvidia-Driver のバージョンに依存するが、
- 後は基本的にセットで入れるであろう PyTorch の要求を満たすようなものを選択すれば大丈夫そう
- 概ねバージョンが多少ズレていても動作はするだろうが、公式に書かれているものに合わせるに越したことはない(PyTorch 公式インストールページ)
- 公式インストールページにある Compute Platform を参考にインストールすればよさげ

結論
ぐだぐだ言ったものの、見た感じ 3060Ti 程度であれば最新ドライバでも対応していそうなので、PyTorch のインストールに合わせて Docker Image を選ぶだけでよさそう(nvidia/cuda の DockerHub から選ぶのであれば )
PyTorch を必要としない場合には適当に選んでも動く気がする