반디앤루니스 인터넷서점

네비게이션 실시간 인기 책

    OpenCL을 이용한 이종 컴퓨팅[제2판]

    원제 : Heterogeneous Computing with OpenCL, Second Edition: Revised OpenCL 1.2 Edition

    • 베네딕트 R. 개스터 외 저
    • 김성민 역
    • 제이펍
    • 2014년 05월 16일
    • 정가
      28,000원
    • 판매가
      28,000 [0% 할인]
    • 결제 혜택
      무이자
    • 적립금
      840원 적립 [3%P]

      NAVER Pay 결제 시 네이버페이 포인트 5% 적립 ?

    • 배송구분
      업체배송(반디북)
    • 배송료
      무료배송
    • 발송 예정일
      10월 4일(수)부터 순차 배송 ?
    수량
    회원리뷰
    - [0]
    ISBN: 9788994506913 388쪽 245 x 188 (㎜)

    지금 이책은

    • 판매지수 : 116

    이 분야의 베스트셀러

    이 책과 함께 구매한 책

    이 책이 속한 분야

    출판사 리뷰

    병렬 프로그래밍의 표준, OpenCL 교과서!
    OpenCL 프레임워크를 이용하여 흥미롭고 유용한 애플리케이션을 개발하자!

    《OpenCL을 이용한 이종 컴퓨팅(제2판)》은 OpenCL과 함께 다양한 디바이스 아키텍처를 포함하?고 있는 복잡한 시스템을 위한 병렬 프로그래밍에 관해서 설명하고 있다. 다양한 디바이스 아키텍처란 멀티 코어 CPU, GPU, 그리고 AMD의 퓨전 기술처럼 완전히 통합된 가속 프로세싱 유닛(APU) 등이다. OpenCL은 여러 플랫폼에서 동작하고 다양한 제조사의 지원을 받도록 설계되었기 때문에 이종 환경의 미래를 위해 더욱 효율적인 프로그래밍이 가능하다.

    병렬 컴퓨팅과 OpenCL 커뮤니티 리더들에 의해 쓰인 이 책은 기본적인 병렬 알고리즘의 영역을 다루기 위해 직접 실행해볼 수 있는 OpenCL 경험들을 제공한다. 저자는 메모리 공간, 최적화 기술, 그래픽 상호작용, 확장, 그리고 디버깅과 프로파일링까지 다룬다. 개정판에 추가된 다양한 케이스 스터디와 예제는 고성능 알고리즘, 이종 시스템에서의 작업 분배, 임베디드된 도메인 특정 언어 등에 대해 설명하고 있다.

    이 책의 특징은 다음과 같다.
    이 개정판은 새로운 아키텍처와 기능을 포함하여 OpenCL 1.2의 최신 내용 대부분을 다루고 있다.
    새로운 장은 이미지 처리, 데이터 관리, 그리고 C/C++뿐만 아니라 다른 언어를 사용하여 OpenCL을 활용하는 내용도 다룬다.
    OpenCL을 사용하여 병렬 프로그래밍을 배우기 위한 원리와 전략에 대해서 설명한다. 네 개의 추상 모델을 이해하는 것부터 완벽한 애플리케이션을 테스트하고 디버깅하는 것까지 포함된다.
    이미지 프로세싱, 웹 플러그인, 파티클 시뮬레이션, 비디오 에디팅, 성능 최적화 등을 다룬다.
    자세한 예제와 함께 추가적인 온라인 연습문제, 그리고 강의 지원을 위해 강사용 자료들도 제공한다.
    기본적인 프로그래밍 테크닉을 다루고 있으며, 다양한 하드웨어 플랫폼을 위한 OpenCL 확장의 예를 보여주는 예제와 케이스 스터디를 포함하고 있다.

    저자 소개

    베네딕트 R. 개스터 외

    베네딕트 R. 개스터(Benedict R. Gaster)
    차세대 이종 프로세서를 위한 프로그래밍 모델을 다루는 소프트웨어 아키텍트다. 특별히 GPU와 GPU 같은 엑셀러레이터를 포함한 프로세서에 대한 병렬 프로그래밍의 상위 레?벨 추상화에 대해 관심이 많다.





    리 호위(Lee Howes)
    지난 3년 반을 AMD에서 일해 왔으며, 주로 GPU 컴퓨팅과 그래픽스 프로그래밍과 관련된 토픽에서 일했다. 리는 현재 미래의 이종 컴퓨팅에 대한 프로그래밍 모델에 관심이 많다.





    데이비드 R. 캐리(David R. Kaeli)
    현재 노스이스턴 대학의 ECE 교수이자 공과대학의 학장을 맡고 있다. 또한, NUCAR(the Northeastern University Computer Architecture Research Laboratory)를 이끌고 있기도 하다.





    퍼하드 미스트리(Perhaad Mistry)
    노스이스턴 대학의 박사과정에 있다. NUCAR(the Northeastern University Computer Architecture Research Laboratory)의 멤버이며, 데이비드 캐리 박사가 그의 지도교수다.





    다나 샤(Dana Schaa)
    캘리포니아 폴리텍 스테이트 대학의 컴퓨터 엔지니어링 분야에서 학사 학위를 받았으며, 석사는 노스이스턴 대학에서 전자 및 컴퓨터 공학으로 받았다. 현재 박사과정 중이다. 병렬 프로그래밍 모델과 추상화, 특히 GPU 아키텍처 분야에 관심이 많다.





    김성민
    한국에서 컴퓨터 공학을 전공하고 벤처에서 약 8년 동안 일하다가 좀 더 심오한 공부를 하고자 유학길에 올랐다. 미국에서 컴퓨터 공학으로 박사학위를 받았고, 현재 실리콘밸리에 있는 한 벤처에서 시스템 아키텍트로 근무 중이다. 최근에는 이종 컴퓨팅 관련 연구에 매진하고 있으며, 샌프란시스코에서 아내와 두 딸과 함께 살고 있다.

    옮긴 책으로는 《OpenCL을 이용한 이종 컴퓨팅(제2판)》(제이펍)이 있다.






    역자 소개

    김성민

    • 국적 : 대한민국
    • 분류 : 과학/공학 저자
    • 인기지수 : 34

    한국에서 컴퓨터 공학을 전공하고 벤처에서 약 8년 동안 일하다가 좀 더 심오한 공부를 하고자 유학길에 올랐다. 미국에서 컴퓨터 공학으로 박사학위를 받았고, 현재 실리콘밸리에 있는 한 벤처에서 시스템 아키텍트로 근무 중이다. 최근에는 이종 컴퓨팅 관련 연구에 매진하고 있으며, 샌프란시스코에서 아내와 두 딸과 함께 살고 있다. 옮긴 책으로는 《OpenCL을 이용한 이종 컴퓨팅(제2판)》(제이펍)이 있다.

    책 속에서

     

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

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

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

    그림 6.6은 AMD FX8150 CPU와 AMD Radeon HD7970 GPU가 포함된 시스템의 메모리 구조의 계략도다. 이런 배열의 CPU 캐시 구조는 단일 메모리 스트림의 레이턴시를 줄이기 위해 배치되어 있다. 중요한 레이턴시는 스트림을 멈추게 하여 실행 효율성을 감소시킨다. GPU 코어를 설계할 때는 레이턴시 비용 측면에서 처리량을 극대화하기 위해 스레딩과 와이드(wide) SIMD를 사용하도록 설계한다. 따라서 메모리 시스템도 약간의 레이턴시 비용을 가지면서 처리량을 맞추도록 대역폭을 최대화하여 설계한다.
    _163

    OpenCL에서 감소를 병렬화하는 일반적인 방법은 입력 데이터 세트를 GPU의 서로 다른 워크그룹으로 나누는 것이다. 각 워크그룹은 하나의 항목에 대한 계산을 담당한다. 워크그룹에서 감소는 여러 단계로 실행된다. 각 단계에 따라 워크아이템은 한 스텝씩 한 항목과 이웃 항목을 덧셈한다. 각 스텝은 각 단계를 거치면서 점점 증가하고, 워크아이템의 수는 점차 감소하게 된다. 이러한 감소 데이터 세트의 방법은 그림 7.6과 같이 감소 트리(reduction tree)로 잘 알려져 있다.
    _198

    목차

    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

    배송 시 유의사항

    - 반디앤루니스에서 구매하신 도서는 물류 대행 위탁업체 웅진 북센을 통해 배송됩니다.
     (배송 포장에 "웅진 북센"으로 표기될 수 있습니다.)

    - 구매한 상품의 품질과 배송 관련 문의는 반디앤루니스로 문의 바랍니다.

    - 천재지변 및 택배사의 사정에 따라 배송이 지연될 수 있습니다.

    - 결제(입금) 완료 후 출판사 및 유통사의 사정으로 품절 또는 절판 되어 상품 구입이 어려울 수 있습니다. (별도 안내 예정)

    - 도서산간지역의 경우 추가 배송비가 발생될 수 있습니다.

    반품/교환

    상품 설명에 반품/ 교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다)

    반품/교환

    반품/교환
    반품/교환 방법 홈 > 고객센터 > 자주찾는질문 “반품/교환/환불” 안내 참고 또는 1:1상담게시판
    반품/교환 가능 기간 반품,교환은 배송완료 후 7일 이내, 상품의 결함 및 계약내용과 다를 경우 문제발견 후 30일 이내에 신청가능
    반품/교환 비용 변심 혹은 구매착오의 경우에만 반송료 고객 부담(별도 지정 택배사 없음)
    반품/교환 불가 사유
    • 소비자의 책임 사유로 상품 등이 손실 또는 훼손된 경우
    • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    • 복제가 가능한 상품 등의 포장을 훼손한 경우 : 예)만화책, 잡지, 화보집 등
    • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
    • 전자상거래등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
    • 해외주문 상품(해외 원서)의 경우(파본/훼손/오발송 상품을 제외)
    소비자 피해보상
    환불지연에 따른 배상
    • 상품의 불량에 의한 반품, 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은
      소비자 분쟁해결 기준(공정거래위원회고시)에 준하여 처리됨
    • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의
      소비자 보호에 관한 법률에 따라 처리함
    반품/교환 주소 경기도 파주시 문발로 77, 웅진북센(반디앤루니스)
    • 회사명 : (주)서울문고
    • 대표이사 : 김홍구
    • 개인정보 보호책임자 : 강동식
    • E-mail : bandi_cs@bnl.co.kr
    • 소재지 : (06168) 서울 강남구 삼성로 96길 6
    • 사업자 등록번호 : 120-81-02543
    • 통신판매업 신고번호 : 제2023-서울강남-03728호
    • 물류센터 : (10881) 경기도 파주시 문발로 77 반디앤루니스
    copyright (c) 2016 BANDI&LUNI'S All Rights Reserved