하드웨어 드라이버 느낌.
application을 run하기 위한 driver components.
CUDA user-mode driver와 GPU kernel-mode driver 존재.
두 개의 driver를 묶어서 NVIDIA driver라고 한다.
소프트웨어 드라이버 느낌.
application을 build하기 위한 toolkit component.
두 드라이버의 버전을 잘 맞춰주어야 한다.
이전에는 이런 식으로 3개를 다 업그레이드 했어야 했는데
CUDA 10 이상부터는 이렇게 user-mode driver만 업데이트 해도 호환이 된다.
kernel mode driver를 업데이트 하지 않아도 최신 CUDA Toolkit를 사용할 수 있음. 최신 버전의 CUDA를 조금 낮은 NVIDIA driver에서 돌리는게 가능.
CUDA version이 높아지면 지원하지 않는 NVIDIA driver가 생길 수 있다. NVIDIA driver를 업데이트 했을 때, CUDA는 업데이트 하지 않아도 compatible하지만, CUDA를 업데이트 하게 되면 해당 CUDA version과 호환되는 NVIDIA driver version으로 업데이트를 해주는게 필요하다.
CUDA version에 대한 최소한의 NVIDIA driver version이다.
TorchServe를 사용하려고 하는데, 지원하는 cuda version이 11.6.
CUDA 11.6을 사용하기로 함.
현재 깔려있는 NVIDIA driver version: 510
위 표에 따르면 CUDA 11.6는 NVIDIA driver 450 이상이면 호환된다.
옆에 CUDA Version은 현재 깔려있는게 아니라 NVIDIA driver version인 510에 딱 알맞는 CUDA Version이라고 한다. 저렇게 써놓으면 당연히 깔려있는 CUDA version이라고 생각하지 누가 추천하는 CUDA Version이라고 할까 싶다.
현재 깔려있는 내 CUDA version은 10.1. 따라서 CUDA 11.6을 설치.
recommended를 보면 내 nvidia-driver 520을 설치할 수 있기는 한데, 어짜피 CUDA 11.6에서 NVIDIA driver 510을 쓰면 호환되기 때문에 굳이 업데이트를 하지는 않았다.
https://docs.nvidia.com/deploy/cuda-compatibility/index.html#source-compatibility
https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html