프로그래밍/GPU Computing(CUDA) 5

GPU Programming (왜 GPU를 사용하는가)

이번 글에서는 '왜' GPU 를 이용하여 프로그래밍을 하는 것이 좋은가에 대해 알아보겠다. (GPU : Graphic Processing Unit)공을 줍는 예를 들어 GPU 의 개념을 설명하겠다. 운동장에서 공을 줍는 법 은 운동장에 있는 공을 사람(A)이 줍는 것을 보여준다. A가 공을 한번에 최대 1개 옮길 수 있고 공을 한번 옮기는데 걸리는 시간이 1초라고 할 때 이 사람은 총 9초를 소모하게 된다. 만약 A가 공을 줍는데 걸리는 시간을 단축하고자 한다면 어떤 방식을 써야할까?쉽게 생각할 수 있는 방법이 '더 빨리' 공을 가져오는 것이다. 공을 옮기는데 0.5초가 걸린다면 총 4.5초를 소모하게 된다. 그리고 0.3초가 걸린다면 총 2.7초를 소모하게 된다. 하지만 이런 경우 쉽게 생각할 수 있는..

CUDA 8.0 변경 사항

1. Pascal Architecture 지원1.1. Pascal Architecture GPU 에서 쉽게 성능 향상을 볼 수 있음1.2. 큰 데이터셋(datasets), 동시에 데이터에 접근하는 방법 등 통합된 메모리르 통한 프로그래밍 간소화1.3. 새로운 데이터 병합 API를 통해 메모리 통합 최적화1.4. NVLINK 를 통한 전체적인 속도 향상2. 개발자 도구2.1. Critical Path Analysis 를 통한 시스템 레벨에서의 잠재적인 병목현상(bottleneck) 탐지2.2. NVCC 컴파일 속도를 2배로 향상시켜 생산성 향상2.3. OpenACC 어플리케이션과 전체적인 host code 를 조절하여 새로운 자료 수집(profiling) 가능3. 라이브러리(Libraries)3.1. nv..

CUDA 설치 방법 (Windows 10, Visual Studio 2015, CUDA 8.0)

프로그램 설치시 복원지점을 생성하길 바란다. CUDA 8.0 에서 변화된 것은 블로그 내 다른 글에 있으며 링크를 참조하길 바란다. 글을 퍼가시거나 내용을 참고하실 때 출처를 남겨주세요.생각보다 설치과정 포스팅하는게 힘드네요. 이 글에서는 C++에 CUDA를 사용하는 방법에 대해 알아볼 것이다. 글의 순서는 다음과 같다.1. Visual Studio 설치 (확인)2. CUDA 8.0 설치3. 환경 변수 확인4. Visual Studio 내 CUDA 환경 조성5. CUDA 함수 사용 확인 1. Visual Studio 설치Visual Studio 에 대한 설명이 필요하다면 블로그 내 통합개발환경에 대한 글(링크)를 참고하길 바란다. 2. CUDA 8.0 설치CUDA 8.0 설치파일은 링크를 참고해서 다운받..

CUDA 지원 그래픽카드 목록

CUDA 8.0 설치 방법은 링크를 따라가길 바란다. 현재 글쓴이는 데스크탑에서는 GTX1070, 노트북에서는 GTX950m 을 사용하고 두 그래픽카드 모두 CUDA가 지원 가능하다. GTX260, 9200m GS에도 CUDA가 사용하기 때문에 대부분의 GPU는 CUDA가 사용가능하다. (2006년 Fermi Architecture 이후 CUDA 지원) 아래는 CUDA가 사용가능한 GPU 목록의 링크이다.http://www.geforce.com/hardware/technology/cuda/supported-gpus

CUDA (쿠다) 란, 왜 사용하는 것인가.

CUDA (Computed Unified Device Architecture) 는 NVIDIA 사에서 개발한 GPU (Graphic Processing Unit)개발 툴이다. (설치방법 링크) CUDA C 라는 언어를 사용하고 C++/C 등에 넣어 사용할 수 있다. (이 블로그에서는 C++에 넣어 사용할 예정이다. IDE (Integrated Development Environment) 는 비쥬얼 스튜디오를 사용한다.) CUDA의 역사와 원론적인 이야기는 NVIDIA 홈페이지나 여타 다른 블로그에 소개되어 있기 때문에 간단하게 설명하겠다.2006년 NVIDIA는 Fermi Architecture 를 발표하며 CUDA 를 세상에 내놓았다. 이전까지는 전문가들이 아니면 GPU 를 이용한 프로그래밍이 어려웠는..