個人的な NVIDIA GPU ポインタ集 : Installation / architectures
<aside> 🚨
</aside>
様々なブログ記事(本稿含む) や Tips が公開されているが、推奨構成は変化し続けているため常に NVIDIA 公式の最新情報を参照すること【完】
NVIDIA CUDA Installation Guide for Linux
<aside> 🪛
</aside>
図1 driver, docker, cuda の構造 まずこれをイメージしよう
CUDA は GPUデバイスを管理するための API Driver API
と スレッドを管理するための API Runtime API
という、2つのレベルの API で構成されている(Driver API は Runtime API の土台となっている低レイヤのAPIである).
どのversion以降の driver を入れるべきかは、1) Driver API と 互換性のある HWか 2) どの CUDA Toolkit version を使いたいか によって決定する.
1) HWアーキテクチャと Driver Version の対応状況
例えばAmpere は 450.36.06+
以降、Turing は 410.48+
以降である必要がある
https://docs.nvidia.com/deploy/cuda-compatibility/index.html#support-hardware
2) CUDA Toolkit と Driver Version の対応状況
**CUDA Toolkit は docker container 内で使うためホスト側に必要なのは driver のみである.**
最新の HWの機能 + その機能を用いる CUDA Drier API / Runtime API を使うには対応する Driver version を入手する必要がある.
https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html#cuda-major-component-versions__table-cuda-toolkit-driver-versions