상세 컨텐츠

본문 제목

대규모 병렬 프로세서 프로그래밍: CUDA를 이용한 실용적 접근

전체 출간 도서

by 비제이퍼블릭 2011. 1. 26. 07:16

본문

 


대규모 병렬 프로세서 프로그래밍:
CUDA를 이용한 실용적 접근

 

저자: 데이비드 B. 커크, 원메이 W.

역자: 하순회, 김크리스, 이영민

출판사: 비제이퍼블릭

출간일: 2011214()

정가: 20,000

페이지: 260p

판형: 175 x 230

ISBN: 978-89-94774-00-8(13560)

원서정보: Programming Massively Parallel Processors: A Hands-On Approach


<책 소개>


대규모 병렬 프로세서 프로그래밍:
CUDA를 이용한 실용적 접근

 

GPU를 통해 병렬 컴퓨팅을 이해하고자하는 사람들에게 데이비드 커크와 원메이 후가 쓴 이 책은 뜻밖의 선물이다. C와 유사한 데이터 병렬 프로그래밍 언어인 CUDA를 소개하고, NVIDIA GPU의 현재 아키텍처인 Tesla를 소개하고 있기 때문이다. 프로그래밍 언어와 아키텍처를 설명할 뿐만 아니라, 이종 CPU-GPU 하드웨어에서 잘 수행될 있는 데이터 병렬 문제의 본질을 정의하고 있다. 이 책은 최근에 새롭게 활기를 띠고 있는 병렬 컴퓨팅 분야의 문헌에 가치를 더하는 책이다.

 

- 데이비드 패터슨, U.C. Berkeley의 병렬 컴퓨팅 연구소장이자 컴퓨터과학부의 석좌교수. ‘컴퓨터 구조 및 설계: 하드웨어/소프트웨어 인터페이스'의 공저자

 


대규모 병렬 프로세서 프로그래밍: CUDA를 이용한 실용적 접근
은 학생들과 전문가 모두에게 병렬 프로그래밍과 GPU 아키텍처의 기본 개념을 밝혀주며, 병렬 프로그램을 작성하기 위한 다양한 기법들을 자세히 소개하고 있다. 사례 연구들은 정보과학적 사고로부터 시작해서 효과적이고 효율적인 병렬 프로그램으로 끝나는 전체 개발 과정을 제시한다.

 


 

<특징>

n  고성능 병렬 컴퓨팅에 적합한 방식으로 문제들을 생각할 수 있게 해주는 정보과학적 사고에 대해 설명한다.
n  대규모 병렬 컴퓨팅 환경을 위해 만들어진 NVIDIA의 소프트웨어 개발툴인 CUDA(Compute Unified Device Architecture)를 활용한다.
n  OpenCL뿐만 아니라 CUDA 프로그래밍 모델을 사용하여 고성능과 고신뢰성을 모두 달성하는 법을 보여준다.

 

 


<강의자료 다운로드>

www.elsevierdirect.com/9780123814722

 

 

 


<책의 구성>

2장은 GPU 컴퓨팅의 역사를 살펴본다. 그래픽스 하드웨어가 점점 더 프로그래밍 가능한 방향으로 진화된 이야기를 간략히 요약하고, GPGPU로 어떻게 발전되어 왔는지의 역사를 설명할 것이다.

 

3장은 CUDA 프로그래밍을 소개한다. 이 장은 학생들이 C 프로그래밍에 대한 경험이 있음을 가정한다. 처음에는 이형적인 CPU/GPU 시스템을 지원하고, 널리 사용되는 SPMD(single program multiple data) 병렬프로그래밍 모델을 지원하기 위한 간단한 C의 확장으로 CUDA 소개할 것이다.

 

4장은 쓰레드의 구성과 쓰레드가 실행되는 과정과 기본적인 성능 개념을 이해하기 위한 실행 모델(execution model)을 설명한다.

 

5장은 프로그램의 실행 속도 향상을 위하여 CUDA 변수를 저장하는 데 사용되는 특별한 메모리들을 다룬다.

 

6장은 CUDA 커널 함수의 성능에 영향을 주는 주된 요인들을 소개한다.

 

7장은 부동소수점 표현 방식과 아울러 정밀도와 정확도의 개념을 소개한다.

 

8장과 9장은 2개의 실제 응용프로그램을 통한 사례 연구를 다룬다. 사례 연구를 통하여 독자들은 응용프로그램을 어떻게 병렬화하는지와 속도 개선을 위해서 어떻게 최적화하는지에 대한 사고 과정을 경험하게 될 것이다.

 

10장은 병렬프로그래밍 기술을 더 일반화하여 문제를 분해하는 원리(decomposition principle), 알고리즘 전략, 그리고 정보과학적 사고방식(computational thinking) 등을 다룬다.

 

11장은 CUDA의 관점에서 OpenCL 프로그래밍 모델을 소개한다. 독자들은 OpenCLCUDA와 매우 비슷하다는 것을 알게 될 것이다.

 

12장은 결론과 아울러 대규모 병렬 프로그래밍의 미래에 대한 전망을 한다. 우리가 처음에 목적했던 바를 되돌아보며 책의 각 장들이 이 목적들을 이루기 위해 어떻게 구성되었는지를 요약한다.



<저자소개>

데이비드 B. 커크

NVIDIA Chief Scientist이자 NVIDIA Fellow. 시각컴퓨팅 기술 분야의 리더

 

원메이 W.

Urbana-Champaign 일리노이 주립대학교 전자컴퓨터공학과 Coordinated Sciences 연구소의 Walter J. Sanders III Advanced Mircro Devices 석좌교수

 

 


<역자소개>


하순회

1994년 이후 서울대학교 컴퓨터공학부에서 교수로 근무하고 있으며 병렬 프로그래밍과 하드웨어-소프트웨어 통합설계 연구를 수행해왔다. 최근에는 모델 기반 명세로부터 멀티코어 임베디드 시스템을 위한 병렬 임베디드 소프트웨어를 개발하기 위한 환경을 개발하는 연구에 주력하고 있다. 임베디드 시스템 설계에 관한 여러 국제학술대회의 프로그램 위원과 국제학술지의 편집위원으로 활동하고 있다. (http://peace.snu.ac.kr/sha)

 

김크리스

1994년 카네기멜론 컴퓨터전산과를 졸업한 이후 계속해서 게임관련 업계에서 근무하고 있다. 현재는 NVIDIA의 컨텐츠 엔지니어링 부서에서 개발이사로 근무 중이며, GPU를 활용한 게임 개발 및 요즘 주목받고 있는 Compute를 활용한 게임과 관련된 물리, 인공지능 분야의 연구에 주력하고 있다.

 

이영민

2010년 이후 서울시립대학교 전자전기컴퓨터공학부에서 교수로 근무하고 있으며 하드웨어-소프트웨어 통합설계를 통한 병렬시스템 설계방법론을 연구해왔다. 최근에는 GPU 기반 병렬 소프트웨어 설계를 최적화하는 연구에 주력하고 있으며 음성인식, 자연언어처리, 컴퓨터비전 등의 응용을 가속하는 연구를 수행하였다.


<도서구입>

[YES24]   [인터파크도서]   [교보문고]   [알라딘]



<목차>

 

Chapter 1 서론
Chapter 2 GPU 컴퓨팅의 역사

Chapter 3 CUDA의 기초
Chapter 4 CUDA 쓰레드
Chapter 5 CUDA 메모리
Chapter 6 성능 고려사항
Chapter 7 부동소수점 고려사항
Chapter 8 응용프로그램 사례 연구: 고급 MRI 복원
Chapter 9 응용프로그램 사례연구: 분자 시각화와 분석
Chapter 10 병렬 프로그래밍과 정보과학적인 사고
Chapter 11 OpenCL의 간략한 소개
Chapter 12 맺음말과 미래 전망
부록 A 행렬곱셉(호스트버전 소스코드)
부록 B GPU 계산 능력


<세부목차 보기>




관련글 더보기

댓글 영역