보통 내가 아는 주변에는 nvidia driver를 설치할 때 늘 사용하던 version을 설치하고는 한다.
driver는 물론이고 cuda 역시 특정 version이 없다면 이 또한 편하게 설치하던 것으로
그런데 driver와 cuda사이에도 호환성 리스트라는 게 존재하며, 그 호환성을 벗어난다고 해서 driver나 cuda가 사용되지
않거나 하지는 않는 것 같지만 그래도 nvidia에서 제시하는 최소한의 틀은 지키면서 설치하고 사용해야
GPU 서버 사용 시 어떠한 사소한 문제를 일으킬지 모르는 것에 대해 대비하는 게 좋을 것 같다.
이 글을 쓰는 이유는 많은 사람들은 그 사이트의 영문 document보다 국내 블로그에서 가볍게 설명해주는 것이
보기 좋아하는 것 같아서이다.
일단 호환성 list를 보기 전에 cuda가 upgrade시 어떠한 방식으로 되었는지 잠시만 살펴보도록 하자.
cuda toolkit은 두 가지 주요 구성요소가 있다.
위 사진과 같이 cuda toolkit and runtime과 driver에서는 또 두 가지로
user mode ( cuda driver, OpenGL driver 등 )
kernel mode ( display driver )
위와 같은 방식으로 upgrade가 되었다면 cuda 10.0 부터는 아래 그림과 같아진다.
cuda 드라이버가 업그레이드 되는 동안 kernel mode 구성요소를 그대로 유지할 수 있는 새로운 포워드 업그레이드
경로를 도입했다.
이를 통해 기존 시스템 설치에서 최신 툴킷을 사용할 수 있으므로 최신 cuda의 개선 사항과 기능을 제공하는 동시에
새로운 드라이버 배포와 관련된 위험을 최소화할 수 있게 되었다.
cuda toolkit | linux x86_64 driver version |
CUDA 11.0 (11.0.171) | >= 450.36.06 |
CUDA 10.2 (10.0.89) | >= 440.33 |
CUDA 10.1 (10.1.105) | >= 418.39 |
CUDA 10.0 (10.0.130) | >= 410.48 |
CUDA 9.2 (9.2.88) | >= 396.26 |
CUDA 9.1 (9.1.85) | >= 390.46 |
CUDA 9.0 (9.0.76) | >= 384.81 |
CUDA 8.0 (8.0.61 GA2) | >= 375.26 |
CUDA 7.5 (7.5.16) | >= 352.31 |
CUDA 7.0 (7.0.28) | >= 346.46 |
현재는 내가 알고 있는 모든 업체는 CUDA 9.0 이상을 쓴다.
9.0 도 낮은 편이니 그 이전에 Version까지 신경 쓸 필요가 없을 것 같다.
H/W Generation | Compute Capability | Driver 384.111+ | Driver 410.48+ | Driver 418.40.04+ | Driver 440.33.01+ | Driver 450.36.06+ |
Ampere | 8.0 | No | No | No | No | Yes |
Turing | 7.5 | No | Yes | Yes | Yes | Yes |
Volta | 7.x | Yes | Yes | Yes | Yes | Yes |
Pascal | 6.x | Yes | Yes | Yes | Yes | Yes |
Maxwell | 5.x | Yes | Yes | Yes | Yes | Yes |
Kepler | 3.x | Yes | Yes | Yes | Yes | Yes |
Fermi | 2.x | No | No | No | No | No |
GPU tesla계열이 아닌 Quadro, NVS, GeForce계열을 확인하고 싶다면 아래 링크를 확인해 보도록
https://developer.nvidia.com/cuda-gpus
CUDA GPUs
Recommended GPU for Developers NVIDIA TITAN RTX NVIDIA TITAN RTX is built for data science, AI research, content creation and general GPU development. Built on the Turing architecture, it features 4608, 576 full-speed mixed precision Tensor Cores for accel
developer.nvidia.com
참고로 RTX 2080Ti가 Compute Capability가 7.5 그전 세대인 GTX 1080Ti가 6.1이다.
다음으로 볼 것은 맨처음 cuda toolkit 및 호환 가능한 드라이버와 얼핏 비슷해 보이지만 약간 다른 것이다.
Linux_x86_64 Tesla driver | CUDA 10.0 Compatibility | CUDA 10.1 Compatibility | CUDA 10.2 Compatibility | CUDA 11.0 Compatibility |
450.36.06+ | N/A | N/A | N/A | Compatible |
440.33.01+ | N/A | N/A | Compatible | Compatible |
418.40.04+ | N/A | Compatible | Compatible | Compatible |
410.72+ | Compatible | Compatible | Compatible | Compatible |
396.26+ | Not Compatible | Compatible | Compatible | Not Compatible |
390.46+ | Not Compatible | Not Compatible | Not Compatible | Not Compatible |
384.111+ | Compatible | Compatible | Not Compatible | Not Compatible |
위 표를 참고 하여 cuda10.0 이상의 버전에서는 3xx version의 nvidia driver는 주의해서 사용해야 할 것이다.
Nvidia gpu 장치 확인하는 방법 (4) | 2020.08.18 |
---|---|
Tensorflow python packages list (2) | 2020.08.15 |
cuda 11.0 설치 리눅스 환경 (4) | 2020.07.23 |
NVIDIA_NCCL 이란? 설치 방법 (2) | 2020.07.03 |
NVIDIA GPU error 확인 (0) | 2020.07.02 |