검색결과 리스트
코딩/CUDA에 해당되는 글 2건
- 2014.10.08 [CUDA] NVCC -gencode
- 2014.07.31 [CUDA] Visual Studio 2010에서 C++ 프로젝트를 CUDA 프로젝트로 변환
글
[CUDA] NVCC -gencode
nvcc 사용시 -gencode 옵션은 -arch 옵션과 -code 옵셥을 합친 것이다.
-arch 옵션: '-arch=compute_20'과 같이 사용
생성될 PTX 코드의 버전을 지정 -> 'compute_XX'는 virtual architecture를 의미함
PTX 코드는 GPU 드라이버에서 JIT (Just-In-Time) 컴파일을 통해 실행이 가능함
(SDK가 필요 없다는 장점이 있음)
-code 옵션: '-code=sm_20'과 같이 사용
생성될 binary 코드(SASS)의 버전을 지정 -> 'sm_XX'는 real architecture를 의미함
binary 코드는 별도의 JIT 컴파일 과정 없이 지정된 architecture에서 곧바로 실행이 가능
(컴파일 시간이 짧다는 이점이 있음)
-gencode 옵션: '-gencode arch=compute_20,code=sm_20'과 같이 사용
그렇다면 다음과 같이 한번에 여러 -gencode 옵션을 줄 때의 이점이 무엇인가.....하면....
-gencode arch=compute_20,code=sm_20 -gencode arch=compute_20,code=sm_21 -gencode arch=compute_21,code=sm_21
여러 버전의 PTX, binary 코드를 미리 생성해두어 상위 아키텍쳐에 대한 '호환성'을 높일 수 있다는 것임.
대신 옵션 수에 비례하여 실행 코드의 크기가 커진다는 단점도 있음.
'코딩 > CUDA' 카테고리의 다른 글
[CUDA] Visual Studio 2010에서 C++ 프로젝트를 CUDA 프로젝트로 변환 (0) | 2014.07.31 |
---|
설정
트랙백
댓글
글
[CUDA] Visual Studio 2010에서 C++ 프로젝트를 CUDA 프로젝트로 변환
참조: http://stackoverflow.com/questions/3778799/how-do-i-start-a-cuda-app-in-visual-studio-2010
(여기서 Tom의 답글 참조)
0. CUDA SDK 설치
- Visual Studio에 CUDA 코드 컴파일을 위한 '빌드 사용자 지정 파일'이 자동으로 추가됨
1. 솔루션 탐색기에서 기존 C++ 프로젝트 선택 후 우클릭 -> "사용자 지정 빌드" 선택
2. CUDA X.X 체크 후 확인
3. 다시, 솔루션 탐색기에서 기존 C++ 프로젝트 선택 후 우클릭 -> 속성 -> 링커 -> 입력 선택
4. 추가 종속성에 'cudart.lib' 추가
(선택: 기존 .cpp 파일을 NVCC로 컴파일하는 방법)
5. 솔루션 탐색기에서 기존 .cpp 파일을 선택 후 우클릭 -> 구성 속성 -> 일반에서 항목 형식을 'CUDA C/C++'로 변환
- 파일명도 .cu로 변환하는 것이 좋음
+ 추가: CUDA와 다른 외부라이브러리 (ex: OpenCV, STL 등) 같이 사용 시 주의점
(참조: http://stackoverflow.com/questions/1847599/why-wont-opencv-compile-in-nvcc)
- NVCC가 STL, OpenCV 등 기타 라이브러리 코드를 제대로 인식하지 못하는 문제가 있음
- kernel 정의하는 파일은 .cu로 분류해서 NVCC를 통해 별도로 컴파일
- 기타 외부라이브러리 기능을 사용하는 코드는 따로 .cpp 파일에 작성 후 C++ 컴파일러로 컴파일 후 사용
'코딩 > CUDA' 카테고리의 다른 글
[CUDA] NVCC -gencode (0) | 2014.10.08 |
---|