CUDA 버전이 하위 호환이라는 말을 들어서 최신 버전인 CUDA 10.2를 설치하였더니 설치 시 제공되는 CUDA 샘플이 에러가 나며 실행되지 않는 문제가 발생했네요.
- CUDA 샘플(asyncAPI)을 실행했을 때 나오는 오류 (GT 540M 환경)
[C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.2\0_Simple\asyncAPI\../../bi n/win64/Debug/asyncAPI.exe] - Starting... CUDA error at C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.2\common\inc\helper_cuda.h:775 code=35(cudaErrorInsufficientDriver) "cudaGetDeviceCount(&device_count)" |
반면 CUDA 10.2를 설치한 데스크탑 GTX 660에서는 샘플 코드가 잘 실행되는데요.
구글 검색을 해보니 GT 540M 아키텍처는 페르마(GTX 4xx ~ GTX 5xx 등)라 CUDA 8.0 버전 이하의 버전만 제공하며, 샘플 기준 비주얼 스튜디오(VS, Visual Studio) 2010, 2012, 2013, 2015를 지원해요.
그리고 CUDA 8.0 설치 시 그래픽 드라이버도 함께 설치할 수 있는데 이때 설치되는 드라이버 버전은 <NVIDIA 그래픽 드라이버 376.51>이니 이점 참고하시고 CUDA 버전과 그래픽 드라이버 버전도 서로 지원하는 버전 관계가 있으니 주의하세요.
CUDA - 그래픽 드라이버 호환 정보
(NVIDIA CUDA DOCS 홈페이지)
각 그래픽 카드별 아키텍처 정보가 필요하신 분은 아래의 링크를 통해 위키백과에서 아키텍처, 모델명 등의 정보를 확인하세요. (https://ko.wikipedia.org/wiki/CUDA)
아직 제대로 모든 샘플 코드를 테스트해보지는 않았지만 GTX 660 이상의 최신 그래픽 카드에서 CUDA 10.x 버전을 사용해도 별문제가 없을 거 같네요.
그럼 CUDA 8.x 설치가 필요하신 분은 아래의 링크를 통해 NVIDIA CUDA 목록에서 설치할 버전을 선택하여 다운로드하고 설치하세요.
※ OS 별 설치 방법이 다르니 메뉴에서 OS를 선택하면 밑에 나오는 설치 과정을 참고하세요.
GT 540M 같은 옛날 그래픽 카드 환경은 혹시 모르니 기존에 설치된 다른 버전의 CUDA, NVIDIA 그래픽 드라이버를 삭제하고 CUDA를 설치하세요. (Windows, Linux 둘 다)
CUDA 설치 시 그래픽 드라이버도 같이 설치되어 기존에 설치된 드라이버가 더 상위 버전이라도 그냥 안전하게 기존에 설치된 것을 삭제하는 게 좋을 듯하네요.
CUDA 8.0 설치가 완료되면 다음과 같이 프로그램들이 설치된 것을 볼 수 있어요.
(제어판 - 프로그램 추가/삭제 화면 )
OS가 Windows인 경우 윈도키를 눌러 검색창에 CMD를 입력하여 실행하고, 리눅스(Ubuntu)는 터미널을 실행하여 nvcc -V 명령어를 입력하고 실행하면 현재 설치된 CUDA 버전을 볼 수 있어요.
(실행이 제대로 안되는 경우 환경 변수 설정에 문제 가능성)
CUDA 샘플을 실행해보면 제대로 CUDA 환경이 구축되어 작동하나 확인할 수 있어요.
샘플 경로 : C:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0
그럼 이상으로 포스팅을 마치며 오늘도 즐거운 하루 보내세요.
'프로그래밍 > OS (Windows, Linux)' 카테고리의 다른 글
NVIDIA CUDA Window에 설치하기(병렬처리, 엔비디아 쿠다 설치) (1) | 2020.01.18 |
---|---|
Ubuntu 18.04에 NVIDIA CUDA 설치하기 (0) | 2020.01.10 |
Ubuntu 터미널(terminal) 글자 크기, 배경색, 창 크기 변경하는 방법 (0) | 2020.01.10 |
NVIDIA CUDA 버전 확인하기 (ubuntu, cuda version check) (0) | 2020.01.09 |
ubuntu 프로세스 강제 종료시키기 (프로세스 먹통 일 때) (1) | 2020.01.09 |