일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- semi-project
- 크롤링
- SMTP
- PYTHON
- ML
- Trouble shooting
- pandas
- Roc curve
- 그리디
- json
- aof
- EarlyStopping
- cuda
- 트러블슈팅
- 이것이 코딩 테스트다
- nvidia-smi
- 인공지능
- nvidia
- auc
- IOPub
- category_encoders
- 파일입출력
- Django
- beautifulsoup
- AI
- 머신러닝
- selenium
- Logistic linear
- 잡담
- nvcc
- Today
- Total
개발 블로그
nvidia-smi와 nvcc -v 각 명령어의 CUDA 버전이 다른 이유 본문
nvidia graphic driver를 설치한 후 nvidia-smi 명령어를 통해 그래픽카드의 사용 상태를 확인할 있으며,
CUDA-toolkit을 설치를 할 경우 nvcc -V(--version) 명령어를 사용하여 cuda 버전을 확인 할 수 있다.
https://www.nvidia.com/ko-kr/drivers/
https://developer.nvidia.com/cuda-toolkit-archive
그런데, 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 기준) 이상이여야 된다는 것을 확인 할 수 있다.
그리고 CUDA version과 호환되는 그래픽카드의 아키텍처 버전에 대한 Compute Capability 표도 제공해주고 있으니 그래픽카드의 아키텍처에 맞는 CUDA version을 설치해야 한다.
즉, 위 표들을 참고하여 예를 들자면
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 그래픽카드의 구조에 대해서 작성해보려고 한다.