개발 블로그

nvidia-smi와 nvcc -v 각 명령어의 CUDA 버전이 다른 이유 본문

카테고리 없음

nvidia-smi와 nvcc -v 각 명령어의 CUDA 버전이 다른 이유

draidev 2025. 1. 30. 18:05

nvidia graphic driver를 설치한 후 nvidia-smi 명령어를 통해 그래픽카드의 사용 상태를 확인할 있으며,

CUDA-toolkit을 설치를 할 경우 nvcc -V(--version) 명령어를 사용하여 cuda 버전을 확인 할 수 있다. 

https://www.nvidia.com/ko-kr/drivers/

 

최신 정식 NVIDIA 드라이버 다운로드

최신 정식 NVIDIA 드라이버를 다운로드하여 PC 게임 경험을 향상시키고 앱을 더 빠르게 실행하세요.

www.nvidia.com

https://developer.nvidia.com/cuda-toolkit-archive

 

CUDA Toolkit Archive

Previous releases of the CUDA Toolkit, GPU Computing SDK, documentation and developer drivers can be found using the links below. Please select the release you want from the list below, and be sure to check www.nvidia.com/drivers for more recent production

developer.nvidia.com

 

 

그런데, nvidia-smi 명령어로 확인하는 CUDA version과 nvcc -V 명령어로 확인한 CUDA version이 다른 경우가 있는데 왜 그럴까?

본론부터 말하자면 nvidia-smi 명령어로 표시해주는 CUDA version은 실제 설치된 CUDA version이 아니라 현재 nvidia graphic driver 버전에서 설치 가능한 최상위 버전의 CUDA version를 보여주는 것 뿐이다.

 

nvidia-smi  vs  nvcc -V

  • nvidia-smi는 NVIDIA 시스템 관리 인터페이스 도구이다. 이 도구는 GPU 드라이버 및 GPU 상태를 모니터링하는데 사용.
  • nvidia-smi 명령어에서 출력되는 CUDA 버전은 GPU 드라이버가 지원하는 CUDA Runtime의 버전을 나타냅니다.
  • 이는 드라이버가 지원하는 최대 CUDA 버전을 나타내며, 실제로 설치된 CUDA Toolkit의 버전과는 무관.
  • 아래 사진에서 현재 graphic driver 버전에서 설치할 수 있는 가장 높은 버전의 CUDA는 10.1인 것을 확인할 수 있다.

nvcc -V:

  • nvcc는 NVIDIA의 CUDA 컴파일러 드라이버.
  • nvcc -V 명령어는 CUDA Toolkit의 버전을 출력. 이 버전은 시스템에 설치된 CUDA 컴파일러의 버전이다.
  • 이 버전은 실제로 개발 환경에서 CUDA 코드를 컴파일할 때 사용하는 버전.

 

Compute Capability

위에서 확인한 바와 같이 graphic driver 버전에 따른 최상위 CUDA 버전을 지켜서 설치가 진행되어야 하는 것을 알 수 있으며
Nvidia의 그래픽카드를 활용하기 위해 호환성을 지켜서 패키지들을 설치해야 한다.

 

아래 표에서와 같이 CUDA 12.x 버전이 동장 하기 위해서는 nvidia graphic driver의 버전은 최소 525.60.13(Linux 기준) 이상이여야 된다는 것을 확인 할 수 있다.

https://docs.nvidia.com/deploy/cuda-compatibility/#
https://docs.nvidia.com/deploy/cuda-compatibility/#

 

그리고 CUDA version과 호환되는 그래픽카드의 아키텍처 버전에 대한 Compute Capability 표도 제공해주고 있으니 그래픽카드의 아키텍처에 맞는 CUDA version을 설치해야 한다.

https://forums.developer.nvidia.com/t/cuda-compatibility-between-nvidia-rtx-a5000-and-geforce-rtx-4060-ti/264216

 

즉, 위 표들을 참고하여 예를 들자면

Ampere 아키텍처(Nvidia RTX A5000, Nvidia RTX A6000)의 경우 사용 가능한 CUDA version은 11.0 ~ 12.2 이며 graphic driver 버전은 CUDA-11.x의 경우 최소 450.80.02(Linux 기준) 이상, CUDA-12.x의 경우 최소 525.60.13(Linux 기준) 이상이여야 한다.

 

이렇듯 Nvidia 그래픽카드를 활용하기 위해선 Linux 운영체제와 그래픽카드에 대한 이해가 깊어야 됨을 느꼈다.
다음 글은 Nvidia 그래픽카드의 구조에 대해서 작성해보려고 한다.

Comments