個人的な NVIDIA GPU ポインタ集 : Installation / architectures


<aside> 🚨

TL;DR

</aside>

様々なブログ記事(本稿含む) や Tips が公開されているが、推奨構成は変化し続けているため常に NVIDIA 公式の最新情報を参照すること【完】

NVIDIA CUDA Installation Guide for Linux


<aside> 🪛

Driver Version Management

</aside>

CUDA は GPUデバイスを管理するための低レベルの Driver API と 抽象化されたインタフェースを提供する高レベルの Runtime API という、2つのレベルの API で構成されている.

どのversion以降の driver を入れるべきかは ① Driver API と互換性のあるハードウェアかどの versionのCUDA Toolkitを使いたいか によって決定する.

1) Hardware x Driver Version の対応表

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

2) CUDA Toolkit x Driver Version の対応表

**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 driver, docker, cuda の構造

1. Why CUDA Compatibility — CUDA Compatibility r555 documentation

CUDAアプリケーションを実行するにはそれをビルドしたCUDA version と互換性のある driver が必要.driver package には以下が含まれており、ホスト側では driver package のみを管理する.

NVIDIA CUDA Toolkit (CTK) は CUDA Runtime (libcudart), CUDA library, Compiler Toolchains (nvccとか)で構成されおり,これらは docker container 内で管理するため,ホストにCUDA Toolkit を install する必要はない.

3) CUDAの互換性の仕組みについて

下記が詳しいので、精読を薦める.

CUDA C++ Best Practices Guide