본문 바로가기

Development

Visual Studio nvcc 바꿔서 컴파일

(1) 설치/환경설정

복수개의 CUDA SDK 설치되야하고, 

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Microsoft\VC\v160\BuildCustomizations\ 

위치에 다음과 같은 파일 존재해야 함.

(당연하게도 파일 이름에 포함된 숫자 11.2는 해당 버전에 따라 다름)

CUDA 11.2.props

CUDA 11.2.targets

CUDA 11.2.xml

(*혹시 없다면... CUDA SDK 설치된 곳에서 복사해오길, CUDAPATH\v11.3\extras\visual_studio_integration\MSBuildExtensions 위치에 있음)

 

CUDA 컴파일러 NVCC를 다르게 사용하고자 할 때...

Windows 시스템 속성 - 환경 변수 - 사용자 변수 편집에

변수이름 : CudaToolkitDir

변수 값:   C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2

와 같이 설정.

 

컴파일 설정은 됐고, 실제 컴파일 후 실행할 때 적절한 CUDA DRIVER를 사용하기 위해 CUDA_PATH 설정.

그 외 CUDA_DIR, CUDA_PATH 등 전부 적절한 버전에 해당하는 path로 설정.

 

 

(2) Visual Studio Project 설정

프로젝트.vcxproj 파일을 메모장으로 열어서 CUDA 버전 수정.

예) v11.1 을 v11.3 으로 수정하고자 한다면, 

    <Import Project="$(VCTargetsPath)\BuildCustomizations\CUDA 11.1.props" />

    <Import Project="$(VCTargetsPath)\BuildCustomizations\CUDA 11.3.props" /> 으로 수정.

 

 

 

- Visual Studio 실행 중이라면, 종료 후 재실행. 처음 실행될 때 환경 변수 path들을 읽어오는 듯.

- cmd(명령 프롬프트)에서 nvcc --version 을 치면 컴파일러 버전을 볼 수 있는데, 이것도 마찬가지로 환경변수 설정 후 cmd를 재실행 해줘야 버전이 갱신됨...;;; 

예) 11.1버전은 이렇게 뜸. Cuda compilation tools, release 11.1, V11.1.74