logo
logo
x
바코드검색
BOOKPRICE.co.kr
책, 도서 가격비교 사이트
바코드검색

인기 검색어

실시간 검색어

검색가능 서점

도서목록 제공

OpenCL을 이용한 이종 컴퓨팅

OpenCL을 이용한 이종 컴퓨팅

(제2판)

베네딕트 R. 개스터, 리 호위, 데이비드 R. 캐리, 퍼하드 미스트리, 다나 샤 (지은이), 김성민 (옮긴이)
제이펍
28,000원

일반도서

검색중
서점 할인가 할인률 배송비 혜택/추가 실질최저가 구매하기
알라딘 로딩중
yes24 로딩중
교보문고 로딩중
11st 로딩중
영풍문고 로딩중
쿠팡 로딩중
쿠팡로켓 로딩중
G마켓 로딩중
notice_icon 검색 결과 내에 다른 책이 포함되어 있을 수 있습니다.

중고도서

검색중
서점 유형 등록개수 최저가 구매하기
알라딘 판매자 배송 1개 15,000원 >
로딩중

eBook

검색중
서점 정가 할인가 마일리지 실질최저가 구매하기
로딩중

책 이미지

OpenCL을 이용한 이종 컴퓨팅
eBook 미리보기

책 정보

· 제목 : OpenCL을 이용한 이종 컴퓨팅 (제2판)
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 프로그래밍 기초/개발 방법론
· ISBN : 9788994506913
· 쪽수 : 388쪽
· 출판일 : 2014-05-16

책 소개

OpenCL과 함께 다양한 디바이스 아키텍처를 포함하고 있는 복잡한 시스템을 위한 병렬 프로그래밍에 관해서 설명하고 있다. 다양한 디바이스 아키텍처란 멀티 코어 CPU, GPU, 그리고 AMD의 퓨전 기술처럼 완전히 통합된 가속 프로세싱 유닛(APU) 등이다.

목차

1장 병렬 프로그래밍 소개 _ 1
소개 _ 1
OpenCL _ 2
이 책의 목적 _ 3
병렬화란? _ 3
동시성과 병렬 프로그래밍 모델 _ 9
책의 구성 _ 14

2장 OpenCL 소개 _ 19
소개 _ 19
플랫폼과 디바이스 _ 25
실행 환경 _ 28
메모리 모델 _ 38
벡터 덧셈의 전체 소스 코드 예제 _ 42
C++ 래퍼를 사용한 벡터 덧셈 _ 45
요약 _ 47

3장 OpenCL 디바이스 아키텍처 _ 49
소개 _ 49
하드웨어 트레이드 오프 _ 50
아키텍처 디자인 공간 _ 68
요약 _ 80

4장 OpenCL 기본 예제 _ 83
소개 _ 83
예제 프로그램 _ 84
OpenCL 호스트 애플리케이션 컴파일하기 _ 104
요약 _ 104

5장 OpenCL의 동시 실행과 실행 모델에 대한 이해 _ 107
소개 _ 107
커널, 워크아이템, 워크그룹과 실행 도메인 _ 107
OpenCL 동기화: 커널, 펜스, 그리고 베리어 _ 111
큐잉과 글로벌 동기화 _ 115
호스트 측 메모리 모델 _ 133
디바이스 측면의 메모리 모델 _ 141
요약 _ 151

6장 CPU/GPU에서의 OpenCL 구현에 대한 해부 _ 153
소개 _ 153
AMD 불도저 CPU에서의 OpenCL _ 153
AMD의 RADEON HD7970 GPU에서의 OpenCL _ 160
OpenCL에서 메모리 성능 고려 _ 173
요약 _ 185

7장 데이터 관리 _ 187
메모리 관리 _ 187
분리된 환경에서 데이터 전송 _ 190
공유 메모리 환경에서 데이터 저장 _ 193
예제 애플리케이션 ? 워크그룹 감소 _ 197

8장 OpenCL 케이스 스터디: 콘볼루션 _ 205
소개 _ 205
콘볼루션 커널 _ 206
결론 _ 217
코드 리스팅 _ 218

9장 OpenCL 케이스 스터디: 히스토그램 _ 229
소개 _ 229
워크그룹의 수 선택 _ 230
최적의 워크그룹 크기 선택 _ 231
글로벌 메모리 데이터 액세스 패턴의 최적화 _ 232
어토믹을 사용한 로컬 히스토그램의 성능 향상 _ 235
로컬 메모리 액세스의 최적화 _ 236
로컬 히스토그램 감소 _ 239
글로벌 감소 _ 239
전체 커널 코드 _ 240
성능과 요약 _ 242

10장 혼합 파티클 시뮬레이션 _ 245
소개 _ 245
연산에 대한 소개 _ 246
GPU 구현 _ 248
CPU 구현 _ 252
로드 밸런싱 _ 253
성능 및 요약 _ 254
동일 그리드 생성을 위한 커널 _ 256
시뮬레이션을 위한 커널 _ 257

11장 OpenCL 확장 기능 _ 261
소개 _ 261
확장 메커니즘 소개 _ 261
디바이스 분할 _ 266
배정밀도 _ 277

12장 다른 프로그래밍 언어 지원: OpenCL 플러그인 _ 287
소개 _ 287
C와 C++ 이후 _ 287
하스켈의 OpenCL _ 290
요약 _ 299

13장 OpenCL 프로파일링과 디버깅 _ 301
소개 _ 301
이벤트를 이용한 프로파일링 _ 303
AMD 가속 병렬 프로세싱 프로파일러 _ 305
AMD 가속 병렬 프로세싱 커널애널라이저 _ 312
AMD APP Profiler의 사용 방법 _ 314
OpenCL 애플리케이션의 디버깅 _ 319
GDEBUGGER에 대한 개요 _ 320
AMD PRINTF 확장 _ 324
요약 _ 324

14장 이미지 분석 애플리케이션의 성능 최적화 _ 325
소개 _ 325
알고리즘 설명 _ 326
멀티스레드 CPU 구현을 OpenCL로 이동 _ 330
성능 최적화 _ 335
소비전력과 퍼포먼스 분석 _ 352
요약 _ 353

저자소개

베네딕트 R. 개스터 (지은이)    정보 더보기
차세대 이종 프로세서를 위한 프로그래밍 모델을 다루는 소프트웨어 아키텍트다. 특별히 GPU와 GPU 같은 엑셀러레이터를 포함한 프로세서에 대한 병렬 프로그래밍의 상위 레벨 추상화에 대해 관심이 많다.
펼치기
리 호위 (지은이)    정보 더보기
지난 3년 반을 AMD에서 일해 왔으며, 주로 GPU 컴퓨팅과 그래픽스 프로그래밍과 관련된 토픽에서 일했다. 리는 현재 미래의 이종 컴퓨팅에 대한 프로그래밍 모델에 관심이 많다.
펼치기
데이비드 R. 캐리 (지은이)    정보 더보기
현재 노스이스턴 대학의 ECE 교수이자 공과대학의 학장을 맡고 있다. 또한, NUCAR(the Northeastern University Computer Architecture Research Laboratory)를 이끌고 있기도 하다.
펼치기
퍼하드 미스트리 (지은이)    정보 더보기
노스이스턴 대학의 박사과정에 있다. NUCAR(the Northeastern University Computer Architecture Research Laboratory)의 멤버이며, 데이비드 캐리 박사가 그의 지도교수다.
펼치기
다나 샤 (지은이)    정보 더보기
캘리포니아 폴리텍 스테이트 대학의 컴퓨터 엔지니어링 분야에서 학사 학위를 받았으며, 석사는 노스이스턴 대학에서 전자 및 컴퓨터 공학으로 받았다. 현재 박사과정 중이다. 병렬 프로그래밍 모델과 추상화, 특히 GPU 아키텍처 분야에 관심이 많다.
펼치기
김성민 (옮긴이)    정보 더보기
한국에서 컴퓨터 공학을 전공하고 벤처에서 약 8년 동안 일하다가 좀 더 심오한 공부를 하고자 유학길에 올랐다. 미국에서 컴퓨터 공학으로 박사학위를 받았고, 현재 실리콘밸리에 있는 한 벤처에서 시스템 아키텍트로 근무 중이다. 최근에는 이종 컴퓨팅 관련 연구에 매진하고 있으며, 샌프란시스코에서 아내와 두 딸과 함께 살고 있다. 옮긴 책으로는 《OpenCL을 이용한 이종 컴퓨팅(제2판)》(제이펍)이 있다.
펼치기

책속에서

OpenCL의 사양과 이 책에서 사용된 코드를 다운로드받아 공부하면 OpenCL에 대해 많은 것을 배울 수 있을 것이다. 여러분이 직접 코드를 작성하기 전에 미리 경험해본 선구자들의 발자취를 보면서 OpenCL 표준의 중요한 기능이 무엇인지를 배웠으면 한다. 개발자들은 예제를 통해 익힐 수 있으며, 이 책은 간단한 예제(벡터 덧셈)부터 복잡한 예제(이미지 분석)까지 단계별 예제를 제공한다. 또한, 여러분이 새로운 프로그래밍 모델에 흥미를 가질 수 있고, 이 분야에서 권위자가 될 수 있도록 하는 기본기를 단단하게 다져줄 것이다.


이제 동시성과 병렬 처리 모델에 대해 알아보도록 하자. OpenCL을 사용하여 개발하는 애플리케이션을 병렬 플랫폼에 매핑하려고 할 때는 올바른 모델을 선택해야 한다. 이후에 나오는 모델 모두가 OpenCL을 지원하지만, 기본 하드웨어는 실제 사용되는 모델에 따라 제한적이다.


개발자가 가장 쉽게 코드를 작성하는 방법은 순차적으로 동작하는 소프트웨어를 만드는 것이다. 이 방법은 하나의 동작을 수행하고 완료한 후 다른 동작을 수행하는 방법이다. 그래서 개발자들은 병렬 코드를 작성하는 것이 더 어렵다고 생각한다. 이러한 사실은 그래픽스에서 일반적으로 사용하는 제한적인 SIMD나 벡터 병렬화를 사용하는 경우에도 마찬가지다.


추천도서

이 포스팅은 쿠팡 파트너스 활동의 일환으로,
이에 따른 일정액의 수수료를 제공받습니다.
이 포스팅은 제휴마케팅이 포함된 광고로 커미션을 지급 받습니다.
도서 DB 제공 : 알라딘 서점(www.aladin.co.kr)
최근 본 책