이 글은 CUDA를 Window의 Visual Studio 환경에서 사용할 수 있도록 local 컴퓨터에 설치하는 내용이다. docker를 이용한 설치는 아래 링크 참조. —docker pull nvidia/cuda 만 하면 안되고, 그 뒤에 버전까지 입력해야 한다. ex) docker pull nivida/cuda:11.4.2-cudnn8-runtime-centos8
CUDA 설치
CUDA를 그냥 다운로드 하려고 하면 최신 버전으로 다운 받게 되는데, Tensorflow, Pytorch, TensorRT 등 자신이 CUDA를 사용하려고 한 이유에 맞는 버전을 별도로 받아야 한다. 당장 cuDNN만 해도 최신 버전 CUDA가 지원 안 되면 cuDNN이 지원하는 버전을 다운 받아야 함. 아래의 Archive에서 버전을 다운 받는다. —CUDA 10.x 버전은 C++14 버전을 지원하고 CUDA 11.x 버전은 C++17 버전을 지원하므로 참고.
exe 파일을 받으면 설치 프로그램으로 알아서 설치 해주므로 그대로 진행한다.
설치가 완료되면 Window 환경 변수에 CUDA_PATH 항목이 있는지를 확인하고
cmd에서 nvcc —version 정보가 잘 나오는지만 확인하면 된다.
cuDNN 설치
cuDNN은 아래의 주소에서 다운 받아 설치할 수 있다. CUDA 버전에 맞는 cuDNN 버전을 받아서 설치한다.
윈도우 버전은 중간에 1개 밖에 없으므로 (나머지는 다 Ubuntu) 해당 버전을 받는다.
압축 파일을 받은 후 해제하면 다음과 같이 bin, include, lib 파일이 있다.
해당 파일들을 모두 CUDA Toolkit이 설치된 위치 (내 경우에는 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4') 에 옮긴다.
Visual Studio에 세팅
CUDA 설치가 완료되면 환경변수까지 자동으로 등록 되어 있을 것이므로 아래와 같은 방법으로 Visual Studio에 세팅한다.
1.
사용자 지정빌드 세팅
Visual Studio에서 프로젝트 우클릭 → 빌드 종속성 → 사용자 지정빌드 → CUDA 체크
2.
cu/ cuh 확장자 등록
Visual Studio에서 도구 → 옵션 → 텍스트 편집기 → 파일 확장명 선택 후 cu/cuh 등록
3.
CUDA 헤더 파일 경로 추가
Visual Studio에서 프로젝트 우클릭 → 속성 → C/C++ → 일반 → 추가 포함 디렉터리에 아래의 CUDA의 헤더파일 경로 추가
•
$(CUDA_PATH)\include
4.
CUDA lib 경로 추가
Visual Studio에서 프로젝트 우클릭 → 속성 → 링커 → 일반 → 추가 라이브러리 디렉터리에 아래의 CUDA의 라이브러리 경로 추가
•
$(CUDA_PATH)\lib\x64
5.
CUDA lib 파일 추가
Visual Studio에서 프로젝트 우클릭 → 속성 → 링커 → 입력 → 추가 종속성에 아래의 파일 등록
•
cuda.lib, cudart.lib, cublas.lib, cufft.lib
5.
CUDA cu/cuh 파일에 속성 세팅
cuh 파일 생성 후 우클릭 → 속성 → 일반 → 항목 형식에 사용자 지정 빌드 도구 설정
cu 파일 생성 후 우클릭 → 속성 → 일반 → 항목 형식에 CUDA C/C++ 설정
6.
CUDA header 파일에 extern "C" 구문 추가