목차
- 윈도우에서의 도구
-
- QTCreator를 이용한 CUDA 프로그래밍
- 1.1 프로젝트 파일 수정
- 1.2 주의사항
-
- QT 프로젝트를 VS 프로젝트로 변환하여 디버깅
- 2.1 문제 해결 기록
-
- VSCode를 이용한 CUDA 코드 작성
윈도우에서의 도구
윈도우에서는 VS 또는 QTCreator를 사용하여 CUDA 프로그래밍을 수행할 수 있습니다. 아래에 각 도구의 설정 방법을 설명합니다.
- QTCreator를 이용한 CUDA 프로그래밍
1.1 프로젝트 파일 수정
기존 프로젝트에 다음 설정을 추가하세요:
# CUDA 라이브러리 경로 추가
LIBS += -L"/usr/local/cuda/lib64" \
-lcudart -lcufft
DEPENDPATH += .
# CUDA 소스 파일 추가
CUDA_SOURCES += my_kernel.cu
CUDA_SDK = "/usr/local/cuda-10.1/" # CUDA SDK 설치 경로
CUDA_DIR = "/usr/local/cuda-10.1/" # CUDA 툴킷 설치 경로
SYSTEM_NAME = windows # 시스템 유형 ('windows', 'linux' 등)
SYSTEM_TYPE = 64 # 시스템 비트 (32 또는 64)
CUDA_ARCH = sm_35 # CUDA 아키텍처 타입
NVCC_OPTIONS = --use_fast_math
INCLUDEPATH += $$CUDA_DIR/include
QMAKE_LIBDIR += $$CUDA_DIR/lib/x64/
CUDA_OBJECTS_DIR = ./cuda_build/
CUDA_LIBS = cudart cufft
CUDA_INC = $$join(INCLUDEPATH,'" -I"','-I"','"')
NVCC_LIBS = $$join(CUDA_LIBS,' -l','-l', '')
CONFIG(debug, debug|release) {
cuda_debug.input = CUDA_SOURCES
cuda_debug.output = $$CUDA_OBJECTS_DIR/${QMAKE_FILE_BASE}_cuda.o
cuda_debug.commands = $$CUDA_DIR/bin/nvcc -D_DEBUG $$NVCC_OPTIONS $$CUDA_INC $$NVCC_LIBS --machine $$SYSTEM_TYPE -arch=$$CUDA_ARCH -c -o ${QMAKE_FILE_OUT} ${QMAKE_FILE_NAME}
cuda_debug.dependency_type = TYPE_C
QMAKE_EXTRA_COMPILERS += cuda_debug
} else {
cuda_release.input = CUDA_SOURCES
cuda_release.output = $$CUDA_OBJECTS_DIR/${QMAKE_FILE_BASE}_cuda.o
cuda_release.commands = $$CUDA_DIR/bin/nvcc $$NVCC_OPTIONS $$CUDA_INC $$NVCC_LIBS --machine $$SYSTEM_TYPE -arch=$$CUDA_ARCH -O3 -c -o ${QMAKE_FILE_OUT} ${QMAKE_FILE_NAME}
cuda_release.dependency_type = TYPE_C
QMAKE_EXTRA_COMPILERS += cuda_release
}
1.2 주의사항
- 새로운
.cu파일을 추가할 때마다.pro파일에 해당 파일을 추가해야 합니다. - 위 설정은 Linux 기준입니다. Windows에서는 적절한 경로로 수정해야 합니다.
- 컴파일 오류 메시지는 일반적으로 "컴파일 출력" 창에서 확인할 수 있습니다.
- QT 프로젝트를 VS 프로젝트로 변환하여 디버깅
QT 프로젝트를 쉽게 Visual Studio 프로젝트로 변환할 수 있습니다. 이를 통해 더 나은 디버깅 환경을 제공받을 수 있습니다.
2.1 문제 해결 기록
변환 과정에서 다음과 같은 문제가 발생할 수 있습니다:
'C:\Program'는 내부 또는 외부 명령어가 아닙니다.와 같은 오류는 경로에 공백이 포함되어 있을 때 발생합니다. 예를 들어nvcc경로가C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin\nvcc라면, 이 경로를"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin\nvcc"로 변경해야 합니다.
- VSCode를 이용한 CUDA 코드 작성
VSCode는 C++ 플러그인과 c_cpp_properties.json 파일을 설정하여 CUDA 헤더 파일 경로를 추가하면 매우 효과적으로 CUDA 코드를 작성할 수 있습니다. 특히, Windows에서는 Visual Studio를 추천하지만, 코드 작성 단계에서는 VSCode가 좋은 선택입니다.