보통 내가 아는 주변에는 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
참고로 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 |