個人的な NVIDIA GPU ポインタ集 : Installation / architectures
<aside> 🚨
</aside>
様々なブログ記事(本稿含む) や Tips が公開されているが、推奨構成は変化し続けているため常に NVIDIA 公式の最新情報を参照すること【完】
NVIDIA CUDA Installation Guide for Linux
<aside> 🪛
</aside>
CUDA は GPUデバイスを管理するための低レベルの Driver API
と 抽象化されたインタフェースを提供する高レベルの Runtime API
という、2つのレベルの API で構成されている.
どのversion以降の driver を入れるべきかは ① Driver API と互換性のあるハードウェアか ②どの versionのCUDA Toolkitを使いたいか によって決定する.
https://docs.nvidia.com/deploy/cuda-compatibility/#frequently-asked-questions
Hardware Generation | Compute Capability | Driver |
---|---|---|
Hopper | 9.x | 525.60.13+ |
Ampere | 8.x | 470.57.02+ |
Turing | 7.5 | |
Volta | 6.x |
**CUDA Toolkit は docker container 内で使うためホスト側で必要なのは driver のversion管理のみである.**
CUDA 12.6 Update 2 Release Notes
CUDA Toolkit | Driver |
---|---|
CUDA 12.6 Update 2 | >=560.35.03 |
CUDA 12.6 Update 1 | >=560.35.03 |
CUDA 12.6 GA | >=560.28.03 |
CUDA 12.5 Update 1 | >=555.42.06 |
CUDA 12.5 GA | >=555.42.02 |
CUDA 12.4 Update 1 | >=550.54.15 |
CUDA 12.4 GA | >=550.54.14 |
CUDA 12.3 Update 1 | >=545.23.08 |
CUDA 12.3 GA | >=545.23.06 |
図1 driver, docker, cuda の構造
1. Why CUDA Compatibility — CUDA Compatibility r555 documentation
CUDAアプリケーションを実行するにはそれをビルドしたCUDA version と互換性のある driver が必要.driver package には以下が含まれており、ホスト側では driver package のみを管理する.
nvidia.ko
libcuda.so
NVIDIA CUDA Toolkit (CTK) は CUDA Runtime (libcudart), CUDA library, Compiler Toolchains (nvccとか)で構成されおり,これらは docker container 内で管理するため,ホストにCUDA Toolkit を install する必要はない.
下記が詳しいので、精読を薦める.