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

인기 검색어

실시간 검색어

검색가능 서점

도서목록 제공

C++ AMP

C++ AMP

(Visual C++와 GPGPU를 이용한 대규모 병렬 프로그래밍)

케이트 그레고리, 에이드 밀러 (지은이), 강권학 (옮긴이)
  |  
한빛미디어
2013-07-20
  |  
30,000원

일반도서

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

중고도서

검색중
로딩중

e-Book

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

책 이미지

C++ AMP

책 정보

· 제목 : C++ AMP (Visual C++와 GPGPU를 이용한 대규모 병렬 프로그래밍)
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 언어 > C++
· ISBN : 9788968480256
· 쪽수 : 404쪽

책 소개

C++ AMP를 통해 애플리케이션 성능을 극대화하는 방법에 대해 세부적인 기술 및 방법론을 설명합니다. 또한, 예제를 개선해가면서 GPU가 제공하는 하드웨어 스레드, 워프, 타일, 텍스처, 프로그래머블 캐시에 대한 사용법을 하나하나 자세히 전달한다.

목차

CHAPTER 1 C++ AMP 접근법 개요
1.1 왜 GPGPU인가? 이기종 컴퓨팅은 무엇인가?
__1.1.1 성능 개선의 역사
__1.1.2 이기종 플랫폼
__1.1.3 GPU 아키텍처
__1.1.4 병렬 처리를 통한 성능 개선 여지
1.2 CPU 병렬 처리 기술
__1.2.1 벡터화
__1.2.2 OpenMP
__1.2.3 동시성 런타임과 병렬 패턴 라이브러리
__1.2.4 태스크 병렬 라이브러리
__1.2.5 윈도 고급 래스터화 플랫폼
__1.2.6 GPU 병렬 처리 기술
__1.2.7 병렬 처리에 성공하기 위한 요건
1.3 C+ + AMP 접근법
__1.3.1 GPGPU를 주류가 되게 만든 C+ + AMP
__1.3.2 C+ + AMP는 C가 아닌 C+ +
__1.3.3 C+ + AMP는 여러분이 이미 알고 있는 도구
__1.3.4 C+ + AMP는 거의 대부분 라이브러리
__1.3.5 C+ + AMP는 먼 훗날까지 그대로 실행될 수 있는 이식성 있는 코드
1.4 요약

CHAPTER 2 NBody 사례 연구
2.1 예제를 실행하기 위한 준비
2.2 NBody 예제 실행하기
2.3 예제 구조
2.4 CPU 계산
__2.4.1 데이터 구조
__2.4.2 wWinMain( ) 함수
__2.4.3 OnFrameMove( ) 콜백
__2.4.4 OnD3D11CreateDevice( ) 콜백
__2.4.5 OnGUIEvent( ) 콜백
__2.4.6 OnD3D11FrameRenderer( ) 콜백
2.5 CPU NBody 클래스
__2.5.1 NBodySimpleInteractionEngine 클래스
__2.5.2 NBodySimpleSingleCore 클래스
__2.5.3 NBodySimpleMultiCore 클래스
__2.5.4 NBodySimpleInteractionEngine::BodyBodyInteraction( )
2.6 C+ + AMP 계산
__2.6.1 데이터 구조
__2.6.2 CreateTasks( )
2.7 C+ + AMP NBody 클래스
__2.7.1 NBodyAmpSimple::Integrate( )
__2.7.2 BodyBodyInteraction( )
2.8 요약

CHAPTER 3 C++ AMP 기초
3.1 array<T, N>
3.2 accelerator와 accelerator_view 클래스
3.3 index<N>
3.4 extent<N>
3.5 array_view<T, N>
3.6 parallel_for_each( )
3.7 restrict(amp)로 표시한 함수
3.8 CPU와 GPU 간의 복사
3.9 수학 라이브러리 함수
3.10 요약

CHAPTER 4 타일링
4.1 타일링의 목적과 장점
4.2 tile_static 메모리
4.3 tiled_extent
4.4 tiled_index<N1, N2, N3>
4.5 단순한 알고리즘을 수정해 타일 버전 만들기
__4.5.1 tile_static 메모리 사용하기
__4.5.2 타일 배리어와 동기화
__4.5.3 단순 버전을 타일 버전으로 변경 완료
4.6 타일 크기의 영향
4.7 타일 크기 선택
4.8 요약

CHAPTER 5 타일링한 NBody 사례 연구
5.1 타일링하면 NBody의 성능이 얼마나 향상될까?
5.2 n-body 알고리즘에 타일 사용
__5.2.1 NBodyAmpTiled 클래스
__5.2.2 NBodyAmpTiled::Integrate( )
5.3 동시성 시각화 도우미 사용 방법
5.4 타일 크기 선택
5.5 요약

CHAPTER 6 디버깅
6.1 첫 단계
6.2 GPU 디버깅과 GPU 디버깅 중 선택하기
__6.2.1 참조 가속기
6.3 GPU 디버깅 기초
__6.3.1 익숙한 창과 팁
__6.3.2 디버그 위치 툴바
__6.3.3 경쟁 조건 탐지하기
6.4 스레드 보기
__6.4.1 스레드 마커
__6.4.2 GPU 스레드 창
__6.4.3 Parallel Stacks 창
__6.4.4 Parallel Watch 창
__6.4.5 스레드 플래깅, 그룹화, 필터링
6.5 스레드 상세 제어
__6.5.1 스레드 얼리고 녹이기
__6.5.2 커서 위치까지 타일 실행하기
6.6 요약

CHAPTER 7 최적화
7.1 성능 최적화 방법
7.2 성능 분석
__7.2.1 커널 성능 측정
__7.2.2 동시성 시각화 도우미 사용 방법
__7.2.3 동시성 시각화 도우미 SDK 사용
7.3 메모리 접근 형태 최적화하기
__7.3.1 앨리어스와 parallel_for_each( ) 호출
__7.3.2 GPU와의 효율적인 데이터 복사
__7.3.3 효과적인 가속기 전역 메모리 접근
__7.3.4 구조체의 배열과 배열을 내포한 구조체
__7.3.5 효율적인 타일 static 메모리 접근
__7.3.6 상수 메모리
__7.3.7 텍스처 메모리
__7.3.8 점유율과 레지스터
7.4 계산 최적화
__7.4.1 스레드마다 다르게 분기하는 코드 사용하지 않기
__7.4.2 적절한 정밀도 선택하기
__7.4.3 수학 연산 고려 사항
__7.4.4 루프 펼치기
__7.4.5 배리어
__7.4.6 큐 모드
7.5 요약

CHAPTER 8 성능 사례 연구 - 리덕션
8.1 문제
__8.1.1 작은 주의 사항
8.2 사례 연구 구조
__8.2.1 초기화와 작업 부하
__8.2.2 동시성 시각화 도우미 표식
__8.2.3 TimeFunc( ) 함수
__8.2.4 오버헤드
8.3 CPU 알고리즘
__8.3.1 순차 알고리즘
__8.3.2 병렬 알고리즘
8.4 C+ + AMP 알고리즘
__8.4.1 단순 알고리즘
__8.4.2 array_view를 사용한 단순 알고리즘
__8.4.3 최적화된 단순 알고리즘
__8.4.4 초보 수준의 타일링 알고리즘
__8.4.5 공유 메모리로 타일링한 알고리즘
__8.4.6 타일 안의 스레드를 가능한 동일한 경로로 실행하기
__8.4.7 뱅크 충돌 제거하기
__8.4.8 정지하고 있는 스레드 줄이기
__8.4.9 루프 펼치기
__8.4.10 연쇄 리덕션
__8.4.11 루프를 펼친 연쇄 리덕션
8.5 요약

CHAPTER 9 다중 가속기 사용
9.1 가속기 선택하기
__9.1.1 가속기 나열
__9.1.2 기본 가속기
9.2 다중 GPU 사용
9.3 가속기 간의 데이터 교환
9.4 동적 로드 밸런싱
9.5 브레이드 구조 병렬 처리
9.6 CPU로 돌아가기
9.7 요약

CHAPTER 10 Cartoonizer 사례 연구
10.1 실행 준비
10.2 예제 코드 실행
10.3 예제 구조
10.4 파이프라인
__10.4.1 데이터 구조
__10.4.2 CartoonizerDlg::OnBnClickedButtonStart( ) 메서드
__10.4.3 ImagePipeline 클래스
10.5 파이프라인 만화 효과 단계
__10.5.1 ImageCartoonizerAgent 클래스
__10.5.2 IFrameProcessor 구현
10.6 다중 C+ + AMP 가속기 사용
__10.6.1 FrameProcessorAmpMulti 클래스
__10.6.2 분기된 파이프라인
__10.6.3 ImageCartoonizerAgentParallel 클래스
10.7 만화 효과 처리기 성능
10.8 요약

CHAPTER 11 그래픽스 인터롭
11.1 기초
__11.1.1 norm과 unorm 클래스
__11.1.2 짧은 벡터형
__11.1.3 texture<T, N>
__11.1.4 writeonly_texture_view<T, N>
__11.1.5 텍스처와 배열 비교
11.2 텍스처와 짧은 벡터 사용
11.3 HLSL 인트린직 함수
11.4 DirectX 인터롭
__11.4.1 가속기 뷰와 Direct3D 장치 인터롭
__11.4.2 배열과 Direct3D 버퍼 인터롭
__11.4.3 텍스처와 Direct3D 텍스처 리소스 인터롭
__11.4.4 그래픽스 인터롭 사용
11.5 요약

CHAPTER 12 C++ AMP 문제 해결
12.1 타일 크기 불일치 문제 처리
__12.1.1 타일 패딩하기
__12.1.2 타일 절단하기
__12.1.3 방법 비교
12.2 배열 초기화
12.3 함수 객체와 람다 비교
12.4 원자성 연산
12.5 윈도 8에 추가된 C+ + AMP 기능
12.6 시간 초과 탐지 및 복구
__12.6.1 TDR 피하기
__12.6.2 윈도 8에서 TDR 비활성화하기
__12.6.3 TDR 탐지하고 복구하기
12.7 배정밀도 지원
__12.7.1 배정밀도 부분 지원
__12.7.2 배정밀도 완전 지원
12.8 윈도 7에서 디버깅
__12.8.1 원격 컴퓨터 설정하기
__12.8.2 프로젝트 설정하기
__12.8.3 프로젝트 배포하고 디버깅하기
12.9 추가된 디버깅 함수
12.10 배포
__12.10.1 애플리케이션 배포
__12.10.2 C+ + AMP를 서버에서 실행하기
12.11 C+ + AMP와 윈도 8 윈도 스토어 앱
12.12 매니지드 코드에서 C+ + AMP 사용
__12.12.1 닷넷 애플리케이션, 윈도 7 윈도 스토어 앱, 라이브러리에서
__12.12.2 C+ + CLR 애플리케이션에서
__12.12.3 C+ + CLR 프로젝트 안에서
12.13 요약

부록 A 참고 자료

저자소개

케이트 그레고리 (지은이)    정보 더보기
비주얼 C++ MVP이며 마이크로소프트 지역 책임자다. 2005년과 2010년에 올해의 지역 책임자 상을 수상하고, 올해의 비주얼 C++ MVP로 뽑혔다. 열정적인 강사, 발표자, 저자로 활동 중이며 C++을 20년 넘게 사용해왔다.
펼치기
에이드 밀러 (지은이)    정보 더보기
마이크로소프트 스튜디오의 수석 아키텍트다. 병렬 분산 컴퓨팅이 최고의 관심사이며 엔지니어 관점의 리더십을 통해 소프트웨어 개발팀의 개발 방법을 향상시키는 데 관심이 많다.
펼치기
강권학 (옮긴이)    정보 더보기
중앙대학교 컴퓨터공학과에서 학사와 석사학위를 받았다. 국방과학연구소, 퓨쳐시스템, 안철수연구소에서 13년간 개발자, 보안전문가, 프로젝트 관리자로 근무하였으며, 2009년 4월 호주 멜버른에 iGonagi Pty. Ltd.를 설립하고 아이폰 애플리케이션을 개발하고 있다. 번역서로는 『게임 디자인 레벨업 가이드(공역)』, 『Head First Python』, 『안드로이드 시큐리티 인터널』, 『Head First JavaScript Programming』, 『비즈니스를 위한 데이터 과학』, 『C++ AMP』, 『Head First C』, 『iPhone 3D Programming』, 『iPhone Programming(공역)』, 『Head First iPhone Development』(이상 한빛미디어) 등이 있다.
펼치기

추천도서

이 포스팅은 쿠팡 파트너스 활동의 일환으로,
이에 따른 일정액의 수수료를 제공받습니다.
도서 DB 제공 : 알라딘 서점(www.aladin.co.kr)
최근 본 책