반응형

Windows 23

[CUDA] 수식어

[CUDA] 수식어수식어의 종류는 함수의 수식어, 변수의 수식어로 크게 2가지로 나뉜다. 함수의 수식어는 함수 type 정의 앞에 붙는다. ※함수의 수식어 종류__global__ device(그래픽카드)에서 실행되며, host(CPU)에서 call 할 수는 있어도 device에서 call 할 수는 없다. device로 실행하는 kernel function 지정에 사용할 수 있다. * 문법 주의사항 __global__ void function>( int a, int b, int c) { } - Function의 Return type은 무조건 void type 이다. - 을 이용하여 실행 시 block과 thread를 지정할 수 있다. - 재귀호출 하여 사용하면 절대 안된다. - Function 내 stat..

Windows/CUDA 2018.05.23

[CUDA] 프로젝트 작성 및 기본 구조

[CUDA] 프로젝트 작성 및 기본 구조* 개발 환경 - IDE : Visual Studio 2013 - CUDA : v9.1 - OS Type : 64 bit 1. 기본적으로 C 프로젝트에는 소스 파일(*.c)과 헤더 파일(*.h)이 존재한다면 CUDA도 동일하게 소스파일(*.cu)과 헤더 파일(*.cuh)이 존재한다. 2. 기본적인 Sample Test를 위해 하기와 같이 빈 프로젝트를 생성한다. 3. 프로젝트 빌드 종속성의 사용자 지정 빌드 옵션에서 사용하는 CUDA 버전을 선택한다. - 이 작업을 하면 프로젝트의 추가 종속성(lib) 및 추가 포함 디렉터리(include) 등 환경 설정들이 추가 반영 된다. 5. 프로젝트 속성에 링커의 lib 추가종속성을 추가해준다. 6. 프로젝트가 생성 되면 M..

Windows/CUDA 2018.05.21

[CUDA] Visual Studio 2010 / Visual Studio 2013 기반 OpenCV + CUDA Build

[CUDA] Visual Studio 2010 / Visual Studio 2013 기반 OpenCV + CUDA Build1. Visual Studio 를 먼저 설치해야 한다. (주의 필요) - Visual Studio 버전을 확인하고 컴파일러에 따라 필요 패키지가 설치되므로 Cuda 설치 전 Visual Studio 가 먼저 설치되어야 한다. - 만약 Visual Studio를 Cuda 설치 이후 추가적으로 다른버전을 더 설치하여 개발한다면 Cuda를 다시 한번 설치해 줘야 한다. 2. Visual Studio 설치, CUDA 설치, OpenCV 설치, CMake 설치 이후 CMake 를 실행하여 OpenCV 소스 경로와 CMake 설정이 반영된 프로젝트 생성 경로를 셋팅해준다. 3. Configur..

Windows/CUDA 2018.05.21

Visual Studio 2015 설치 에러 (Update for Microsoft Windows (KB2999226))

MS Visual studio 2015를 설치 하는데 아래와 같은 Error가 발생해서 제대로 설치가 안되었다. Update for Microsoft Windows (KB2999226) : 설치를 하는 동안 오류가 발생했습니다. 무슨 Update 3 내용 뭐시기 였는데 Error Code는 KB2999226 였다. 구글링을 해보니 뭔지는 잘 모르겠지만 Windows에서 범용 C 런타임에 대한 업데이트 관련 내용인듯 하다. 하기 링크의 하단에 Visual studio 2015 +를 눌러서 해당 설치 버전의 설치 파일로 다운받아 설치하면 된다. https://www.visualstudio.com/downloads/설치 과정에서 Update 3 관련된 내용을 못받아와서 설치가 실패 되는것 같다. 나는 Visu..

Windows 2016.12.21

08. OpenGL Programming - 명령어

*입력 모드 - 메져 : 입력장치가 응용프로그램에 넘겨주는 입력 값 - 트리거 : 메져를 전달하라는 신호 - 이벤트 : 입력장치가 트리거 되는 순간 하나의 이벤트가 발생한 것으로 본다. (어떤 행위를 유발하는 것) ex) 마우스를 어떤 위치에 갖다 놓고 클릭, 그 위치의 좌표(x, y) 값 이벤트 트리거 메져 이벤트 : 마우스를 어떤 위치에 갖다 놓고 클릭 트리거 : 클릭 메져 : 그 위치의 좌표(x, y) 값 *이벤트 타입별 콜백 함수 기능 콜백 함수 등록 명령 (예) 콜백 함수 프로토 타입 화면 콜백 지정 명령 glutDisplayFunc(MyDisplay) void MyDisplay(); 마우스 콜백 지정 명령 glutMouseFunc(MyMouse) void MyMouse(int button, i..

Windows/OpenGL 2016.03.14

07. OpenGL Programming - GL_POLYGON의 특성

GL_POLYGON의 특성 도형을 그릴 때 면이 생성되기 위한 조건은 수평에 위치하지 않은 3개의 포인트를 모두 이으면 된다. GL_POLYGON의 특성도 역시 같다. 좌표 포인트가 3개가 될 때마다 면이 이루어질 상황을 고려하여 그려야 한다. 예를 들어 별을 그려보도록 하자 위의 좌표 정보를 보고 별을 그려보자. 아마 바로 쉽게는 별 모양이 그려지지 않을 것이다. GL_POLYGON의 특성을 이해했다면 별을 그릴 때 점의 시작 위치와 점선을 이어 그리는 방향과 순서를 함부로 막 정해놓을 수 없다는 것을 알게 될 것이다. 별을 올바르게 그리기 위해서는 안쪽의 좌표를 시작점으로 하여 그려나가야 한다. 즉, 그리는 좌표의 시작 점과 추가되는 두번째 점, 세 번째 점으로 추가되는 점을 직선으로 이어 삼각형이 ..

Windows/OpenGL 2014.10.12

06. OpenGL Programming - GLUT의 기능

GLUT의 기능 - 윈도우 초기화 void glutInit( int *argc, char **argv ); 윈도우와 운영체제와 세션(통신을 하기 위한 연결점) 연결 void glutInitWindowPosition( int x, int y ); 윈도우의 위치 설정 (GLUT의 화면 좌표계는 윈도우 운영체제의 좌표계와 일치하지만 OpenGL의 화면 좌표계와는 다르다) void glutInitWindowSize( int width, int height ); 윈도우의 크기 설정 void glutInitDisplayMode( unsigned int mode ); 디스플레이 모드 설정 mode의 종류 GLUT_RGB, GLUT_RGBA, GLUT_INDEX, GLUT_SINGLE, GLUT_DOUBLE, GLUT..

Windows/OpenGL 2014.10.12

05. OpenGL Programming - 함수 구조와 데이터 타입

OpenGL의 함수 구조 => 상태 변수는 파라미터의 수와 데이터 타입에 의해 구별된다. OpenGL의 데이터 타입 접미사 (함수 구조의 데이터 타입) 데이터 타입 C/CPP 타입명 OpenGL 타입명 f 32-bit floating point float GLfloat d 64-bit floating point double GLdouble i 32-bit integer int, long GLint s 16-bit integer short GLshort ub 8-bit unsigned integer unsigned char GLboolean 파이프 라인 * GPU 구조는 CPU 구조와 유사하다. * GL의 입력 - 기하 기본 요소 : 점, 선, 다각형 - 영상 기본 요소 : 2차원 비트맵 영상 상태 변수 ..

Windows/OpenGL 2014.10.12

04. OpenGL 설치 및 테스트

OpenGL 라이브러리의 종류 - GL(OpenGL Core Library) : 렌더링 기능을 제공하는 함수 라이브러리로 지엘은 단지 렌더링 기능만 수행할 뿐 사용자의 입력을 받는 기능과 출력하는 기능이 없다. - GLU(OpenGL Utility Library) : GL 함수로 작성되어 있는 고급 기능을 제공하는 함수들의 집합 - GLUT(OpenGL Utility Toolkit) : 사용자 입력을 받거나 화면 윈도우를 제어하기 위한 함수로 운영체제를 호출한다. Visual Studio 의 경우 OpenGL 다운로드 https://www.opengl.org/ OpenGL 공식 홈페이지에 들어가면 상단에 Coding Resources 메뉴에 GLUT & Utility Libraries 항목이 있다. Co..

Windows/OpenGL 2014.10.11

03. OpenGL 학습을 위한 기본 지식 - 그래픽 API와 OpenGL

그래픽 API (Application Programming Interface) - 함수를 사용하여 프로그램을 작성하는데 직접 활용할 수 있도록 한 것 (라이브러리 함수) 고수준 API (High-Level API) 그림을 그리기 위한 실제적인 세부 과정을 명시하는 대신, 물체를 정의하고 물체 사이의 관계를 묘사하는 장면묘사 언어 Open Inventor, VRML, Java3D 등이 해당 =>직접적으로 장면 묘사 저수준 API (Low-Level API) 물체를 구성하는 기본요소의 정의부터 시작해서 실제 그림을 그리는 세부적인 과정을 일일이 명시 해야 한다. (하드웨어와 직접 연관, OpenGL, Direct3D 등이 해당) =>직접적으로 장면 묘사를 하지 않고, 구체적 프러시저를 호출 VRML (버멜 ..

Windows/OpenGL 2014.10.11
반응형