본문 바로가기

Programming/Todo's CUDA

CUDA의 기본 - 1 01. CPU의 데이터 처리 CUDA 프로그램의 진행 순서는 기존에 CPU에서 진행하는 과정과 약간 다르다. 싱글 코어 C, C++ 또는 다른 언어로 프로그램을 구현하게 되면 컴퓨터는 다음과 같이 동작하게 된다. 1. 입력과 출력에 사용할 메모리를 할당한다.2. 처리하고자 하는 데이터를 메모리에 입력한다.3. 연산을 하고자 메모리에 있는 데이터를 CPU(레지스터)로 가져온다.4. 정수 연산은 ALU에서 실수 연산은 FLU에서 처리한다.5. 처리된 레지스터의 값을 메모리로 출력한다.6. 사용한 메모리를 해제한다. 멀티 코어 우리가 작성하는 코드는 모두 동일한 과정을 통해 처리되고, 또 이런 방식에 아주 익숙해져 있다. 만일 CPU가 멀티코어로 이루어져 있고 프로그램이 4개의 스레드로 구현되었다면 다음과 같.. 더보기
CUDA란? 01. 그래픽 카드의 성능 향상 1.1 그래픽 카드의 탄생 초기의 PC에는 별도의 그래픽 카드가 장착되지 않았지만,1990년대 애플의 매킨토시사가 PC에 GUI환경을 갖추게 되며 Microsoft사가 뒤를 따르기 시작하였다. 높은 해상도와 빠른 그래픽 처리를 위해 그래픽 카드를 장착하기 시작하면서,주요 연산은 CPU가 영상처리는 그래픽 카드 또는 내장된 별도의 그래픽 칩에서 담당하는 구조가 보편화되었다. 1.2 그래픽 카드의 발전 2000년대에 들어오면서 컴퓨터 그래픽은 영화와 게임을 중심으로 3D 영상을 중점적으로 다루게 된다.3D영상 처리를 중심으로 벌어지는 외장형 그래픽 카드의 경쟁에서 NVIDIA 와 AMD 두 회사가 살아남게 된다. 3D처리의 특성상 대단히 많은 객체에 대한 수학적, 물리적 계산.. 더보기