728x90
반응형

 

opencv_cudaobjdetect300d.lib

opencv_cudawarping300d.lib

opencv_cudaimgproc300d.lib

 

object tracking 관련 구글링을 하던 도중 써볼만한 코드가 생겨 테스트 해보려고 했는데 "cuda~~" 라는 헤더파일과 라이브러리 파일이 자꾸 없다고 떴다. 뭣도 모르고 opencv에 기본 내장되어있는 파일인줄알고 환경설정만 죽어라 삽질한 결과 CUDA 라는 프로그램을 opencv에 연동해야하고, 아래와 같은 cuda~~로 시작되는 라이브러리나 헤더파일은 그 프로그램에 들어있어서 연동하면 쓸 수 있게 되어있다고 한다. 간단히 말해서 GPU 관련된 클래스를 사용하기 위한 개발환경 설치 단계이다.

 

한참을 삽질하고 난 뒤에야 알게 된 결과... 조금 더 공부해야겠다는 생각이 들었다. 

 

그 외로 TBB (Intel Threading Building Blocks) 를 설치하여 프로그램 실행 속도를 빠르게 해준다는데 이는  OpenCV 2.4.xxx 버전 이후로부터 병렬처리가 내장되어 나오기 때문에 굳이 설치할 필요가 없었다. 조금만 더 일찍 태어났거나 일찍 공부했다면 프로그램 설정하느라 고생했을텐데 휴~

 

이제 CUDA를 OpenCV에 연동하는 방법을 설명해보려고 한다. 

비주얼 스튜디오에 직접 연동하였고, CMAKE는 사용하지 않았다. 

(수정 

CMAKE를 사용하지 않고 환경 설정을 할 경우 gpu 인식을 하지 못한다고 한다. -> CMAKE를 이용해야함... 하루동안 삽질하고 알게 된 결과이다. 다시 CMAKE를 이용하여 opencv를 설치하고, CUDA를 연동하는 포스팅을 올리도록 하겠다...)

 

 

CMAKE 환경 설정 (참조) : http://darkpgmr.tistory.com/102 

 

 

 

 

0. 설치 환경

 

윈도우 64bit, Windows 10, OpenCV 2.4.9, 3.0.0, 3.1.0 ... (여러가지를 사용하고 있음), Visual Studio 2013

( 앞서 말하지만 Visual Studio 2015 에는 아직 적용이 안된다 )

 

 

 

1. CUDA 설치하기 

 

https://developer.nvidia.com/cuda-downloads

 

무료 NVIDIA  제품이다. 

 

설치 순서는 Driver, Toolkit, SDK 순으로 설치한다. (최신 버전에서는 알아서 통합 버전으로 다운받아진다.)

 

 

 

 

 

자신의 시스템에 맞게 타겟 플랫폼을 설정해준다.

 

 

 

 

 

 

나는 Windows, x86_64, 10(윈도우 10 호환이 된다), exe(local) 을 선택했다.

 

다운로드 시간이 꽤 걸린다. 

 

 

 

 

 

아 Visual Studio 2015에 설치가 안된다. ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ ㅡㅡ 

비주얼스튜디오 2013 버전에만 설치가 된단다. 

2015에도 되긴 되는데 관리만 된다고 한다. 급한대로 서브 컴퓨터에서 다시 설치하기 시작했다. 그런데 서브 컴퓨터가 용량이 없어서... 더 이상 줄일 수 없어서 내 컴퓨터에 비주얼 2013을 깔기로 했다. 2015를 깔았는데 2013을 깔아도 되는건지...? 안되겠어서 2015를 삭제하고 2013을 다시 깔기로 한다. 

 

 

노고와 삽질 끝에 Visual Studio 2013 을 설치하고 CUDA 10 을 설치하였다.

 

 

 

2. 프로젝트 설정

 

일반적인 순서라면 CUDA 설치 후 

프로젝트 생성 - 프로젝트 우클릭 - 빌드 종속성 - 사용자 지정 빌드 -  CUDA 8.0 을 선택

 

 

프로젝트 속성 - 구성 속성 - VC++디렉터리 - 포함 디렉터리 

<< 자신의 경로에 맞게 지정 >>

 

 

 

프로젝트 속성 - 구성속성 -  VC++디렉터리 - 라이브러리 디렉터리 

<< 자신의 경로에 맞게 지정 >>

 

 

 

3. 그 외 설정

소스파일 이름을 .cpp 에서 .cu로 변경 - 마우스 우클릭 - 속성 - 구성 속성 - 항목 형식 CUDA C/C++ 변경

 

 

 

 

4. 라이브러리 파일 추가

프로젝트 이름 우클릭 - 구성 속성 - 링커 - 라이브러리 입력 

 

<< 자신의 깔려있는 CUDA 라이브러리를 추가 >>

 


cuda.lib
cudart.lib

 

 

5. CUDA 소스 추가 후 프로젝트 설정 

 

'

 

 

타겟 머신을 64 비트로 바꿔준다

 

 

 

GPU Debug information 을 No 로 바꾸어줌 

 

 

6. 테스트 ( 쿠바 파일로 테스트 해도 되고, 일반 cpp 파일로 테스트 해도 됩니다)

 

아래는 쿠바 파일입니다.

 

#include <cuda_runtime.h>

#include <iostream>

#include <stdio.h>

#include <cuda.h>

 

 

__global__ void HelloFromGPU(){

printf("Hello World from GPU~!\n");

 

}

 

 

int main(){

//std::cout << "Hello World from GPU~!!" << std::end;

 

 

 

HelloFromGPU << <1,10>> >();

cudaDeviceReset();

 

return 0;

 

}

 

 

 

 

 

 

 

 

 

 

 

참고자료 1 : http://imdc.tistory.com/132

참고자료 2 : http://m.blog.naver.com/xneokr/220162548226

참고자료 3 : http://museguy.tistory.com/15

728x90
반응형

'AI Development > GPU | CUDA | PyCUDA' 카테고리의 다른 글

[CUDA] CUDA Driver Version  (0) 2020.07.06
[PyCUDA] 정리중  (0) 2020.05.14
[GPU] GPU Performance 및 Titan V, RTX 2080 Ti Benchmark  (0) 2020.03.04
[CUDA] PyCUDA documentation  (0) 2019.08.04
[CUDA] CUDA Capability 확인  (2) 2019.05.31