Presentation is loading. Please wait.

Presentation is loading. Please wait.

CUDA 프로그래밍 1장 왜 CUDA인가? 왜 지금인가? 2장 시작하기 김 태우.

Similar presentations


Presentation on theme: "CUDA 프로그래밍 1장 왜 CUDA인가? 왜 지금인가? 2장 시작하기 김 태우."— Presentation transcript:

1 CUDA 프로그래밍 1장 왜 CUDA인가? 왜 지금인가? 2장 시작하기 김 태우

2 목 차 1장 왜 CUDA인가? 왜 지금인가? - CUDA란? - 병렬 컴퓨팅의 중요성 - CUDA를 이용한 어플리케이션
2장 시작하기 - CUDA에 필요한 모든 프로그램 다운로드 - CUDA C를 개발할 수 있는 개발 환경

3 제 1 장 왜 CUDA인가? 왜 지금인가? 처음의 중앙처리장치(CPU)는 약 1MHz의 클럭신호로 작동하다가 지금은 4GHz까지의 클럭속도를 가지고 있다. 하지만 이제는 이러한 발전이 최고조에 이르렀다고 생각하고 제조사들은 다른 방안을 물색 해야 했다. 수만 또는 방대한 수의 프로세서 코어들을 동시에 처리하는 것은 힘든 일이였다. 그래서 고안한 방법이 오로지 단일 프로세싱 코어의 성능 향상 보다는 컴퓨터에서 하나이상의 코어을 장착하는 것이 어떠한가. 여기서 부터 병렬시스템의 시작이 되었다. 이러한 혁명은 세계적으로 큰 대두가 되었고 프로그래머가 되려고 하는 거의 모든 사람들이 학습해야 하는 시점에 이르렀기 때문에 우리는 병렬 프로그래밍을 늦었지만 지금이라도 시작을 해야된다.

4 CUDA란? Compute Unified Device Architecture
그래픽 처리 장치(GPU)에서 수 행하는 (병렬 처리) 알고리즘을 C 프로그래밍 언어를 비롯한 산 업 표준 언어를 사용하여 작성할 수 있도록 하는 GPGPU 기술이 다 GPGPU 그래픽처리기능만이 아닌 범용적으로도 GPU를 쓰는 것 CUDA는 Compute Unified Device Architecture 통합장치 아키텍쳐를 계산 이라는 뜻 메인 메모리에서 프로세싱 데이터를 GPU메모리로 카피를 하고 2. CPU에서는 처리 지시만 해준다. 3. GPU에서는 각각의 코어에 지시받은 병렬실행을 하고 그결과를 GPU메모리로 보내면 4. 그 결과를 다시 복사해서 메인메모리에 저장한다.

5 병렬 컴퓨팅의 중요성 - 연산 처리에 CPU가 아닌 GPU를 사용하게 된 이유 100개
CPU의 구조를 보면 Control부분과 명령어 처리를 해아하는 부분이 많다 그리고 케쉬의 부분은 CPU의 절반이상을 차지할 정도로 중요하기 때문에 연산 처리를 하는 ALU(아키텍처 로직 유닉) 이 차지하는 부분이 적다 하지만 GPU는 원래 그래픽 연산을 하는 장치(그래픽을 연산하기 위해서 x,y좌표와 칼라를 이용했는데 칼라대신 어떤 테이터도 들어갈 수 있다는 것을 알 수있었다)이기 때문에 연산처리를 담당하는부분이 대부분으로 이루어진다. 병렬시스템 or 병렬프로그래밍or 병렬 컴퓨팅이라는 것은 저 GPU를 범용(일반 연산기능)으로 사용하는 것이다. GPU는 같은 프로그램이라도 동시에 많은 데이터 요소로 병렬로 실행할 수 있게 특화 되었다.

6 CUDA를 이용한 어플리케이션 3D 초음파 – 엄청난 양의 계산을 CUDA로 처리 유체동역학 시뮬레이션 분자등 환경 시뮬레이션
3D초음파 :Techniscan Medical systems에서는 확신한 암진단을 위해서 3차원 초음파 화상방법을 계발했는데 한개점이 엄청난 데이터양을 3차원 이미지로 계산하는데 엄청난 시간이 든다는 것이였다. 하지만 이를 테슬라 C1060이라는 GPU로 처리해서 35GB를 20분내로 처리 원래 날개나 회전자를 설계하는일은 일종의 마술처럼여겨졋을 정도로 계산을 수행할수있는 슈퍼컴퓨터가 몃개 없어서 비용이 엄청났었는데 캠브릿지 대학의 매빅 박사는 CUDA를 이용해 유체 동역상 시뮬레이션을 전례없는 수준까지 향상시켯다. 분자등 환경 시뮬레이션

7 제 2장 시작하기 쿠다를 배우는 방법중에 제가 하고 있는 방법은 예제 코드를 통해서 배우는 방법이기 때문에 개발 환경을 설정해야된다. 그렇기 때문에 제대로 시작하기에 앞서 필요한 하드웨어와 소프트웨어의 일부 구성에 대해 알아본다.

8 CUDA에 필요한 모든 프로그램 다운로드 CUDA가 가능한 그래픽스 프로세서 NVIDIA 디바이스 드라이브 CUDA 개발 툴킷
2006년 GeForce 8800이후의 모든 NVIDIA의 GUP는 쿠다 가능

9 CUDA에 필요한 모든 프로그램 다운로드 CUDA가 가능한 그래픽스 프로세서 NVIDIA 디바이스 드라이브 CUDA 개발 툴킷

10 CUDA에 필요한 모든 프로그램 다운로드 CUDA가 가능한 그래픽스 프로세서 NVIDIA 디바이스 드라이브 CUDA 개발 툴킷
쿠다를 이용해서 GPU 코드를 작성하려면 개발 툴킷이 필요하다. Windows XP, Vista, server 2008, 7 등에서 사용 가능 하며 Linux 등에서도 사용한다,

11 CUDA에 필요한 모든 프로그램 다운로드 CUDA가 가능한 그래픽스 프로세서 NVIDIA 디바이스 드라이브 CUDA 개발 툴킷
그리고 마지막으로 visual studio 2008 또는 2010이 적절

12 CUDA C를 개발할 수 있는 개발 환경 Visual studio 와 CUDA를 마지막으로 연동해주면 CUDA를 사용할 준비가 완료 된다. 하지만 지금 진행 상황으로는 NVIDIA의 그래픽 카드가 준비되어 있지 않은 상황임으로 방법을 방안을 물색 해봐야 한다. 마지막 연동을 하면 사용할 준비 끝!!

13 THANK YOU


Download ppt "CUDA 프로그래밍 1장 왜 CUDA인가? 왜 지금인가? 2장 시작하기 김 태우."

Similar presentations


Ads by Google