CHAPTER 1 병렬 프로그래밍 1.1 병렬화의 중요성 1.2 하드웨어 관점의 병렬 컴퓨팅 1.2.1 플린의 분류 1.2.2 분산 메모리형 시스템 1.2.3 공유 메모리형 시스템 1.2.4 가속기 1.3 소프트웨어 관점의 병렬 컴퓨팅 1.3.1 순차처리와 병렬처리 1.3.2 병렬처리 부분 결정 1.3.3 프로그램 분할 방법 1.3.4 병렬처리 프로그램 구현 방법CHAPTER 2 OpenCL 2.1 OpenCL이란? 2.2 역사적 배경 2.2.1 멀티코어 + 이기종 환경의 등장 2.2.2 벤더에 의존하는 개발 환경의 문제 2.3 OpenCL 개요 2.3.1 OpenCL을 구성하는 소프트웨어 2.3.2 OpenCL의 성능 2.4 OpenCL의 장점 2.4.1 공통화된 병렬처리 API 2.4.2 최적화 2.4.3 학습의 용이함 2.5 OpenCL 용어 정의 2.5.1 호스트와 디바이스 2.5.2 프로그램 구성 2.5.3 병렬 프로그래밍 모델 2.5.4 메모리 모델CHAPTER 3 OpenCL 개발 환경 3.1 OpenCL 개발 환경 소개 3.1.1 인텔 OpenCL 3.1.2 CUDA OpenCL 3.1.3 AMD OpenCL 3.1.4 애플 OpenCL 3.1.5 IBM OpenCL 3.2 OpenCL 개발 환경 설치 3.2.1 Intelⓡ SDK for OpenCL Applications 3.2.2 애플 Xcode 3.2.3 CUDA Toolkit 3.2.4 AMD OpenCL 3.3 첫 번째 OpenCL 프로그램 3.3.1 프로그램 소개 3.3.2 리눅스/Mac OS X에서의 빌드 3.3.3 윈도우 Visual C++에서의 빌드CHAPTER 4 호스트와 디바이스 4.1 OpenCL 프로그램의 기본 흐름 4.1.1 OpenCL 프로그램 구성 4.1.2 커널 프로그램 4.1.3 호스트 프로그램 4.2 오프라인 컴파일과 온라인 컴파일 4.3 커널 호출 4.3.1 데이터 병렬과 태스크 병렬 4.3.2 워크 그룹 4.3.3 태스크 병렬과 이벤트 오브젝트CHAPTER 5 OpenCL C 언어 5.1 OpenCL C 언어 5.1.1 제약 사항 5.1.2 주소 공간 수식자 5.1.3 내장 함수 5.1.4 벡터 데이터 5.1.5 half 데이터 형식 5.1.6 OpenCL C 언어에서 사용 가능한 데이터 형식 5.1.7 부동소수점의 반올림 5.1.8 비트 표현의 재해석 5.1.9 로컬 메모리 5.1.10 이미지 오브젝트 5.1.11 임베디드 프로파일 5.1.12 속성 수식자 5.1.13 Pragma 5.2 주가 데이터 분석 프로그램 5.2.1 표준 싱글 스레드 프로그래밍 5.2.2 OpenCL 적용 5.2.3 벡터화 5.2.4 데이터 병렬 5.2.5 태스크 병렬CHAPTER 6 고속 푸리에 변환과 난수 생성 프로그램 만들기 6.1 고속 푸리에 변환 6.1.1 푸리에 변환 6.1.2 고속 푸리에 변환 6.1.3 2차원 FFT와 공간 주파수 성분 6.1.4 주파수 필터와 푸리에 역변환 6.1.5 전체 프로그램 실행 흐름 6.1.6 프로그램 분석 6.1.7 시간 계측 방법 6.1.8 인덱스 공간의 파라미터 튜닝 6.2 메르센 트위스터에 의한 난수 생성 6.2.1 MT의 병렬화 6.2.2 Dynamic Creator 6.2.3 OpenCL MT 6.2.4 병렬화 6.2.5 병렬화 수 늘리기 6.2.6 NVIDIA GPU를 위한 최적화CHAPTER 7 OpenCL의 변화 7.1 OpenCL 1.0과 1.1의 차이점 7.1.1 OpenCL 플랫폼과 런타임의 변화 7.1.2 OpenCL C 언어의 변화 7.1.3 폐지 예정 기능 7.1.4 확장 기능의 추가 7.1.5 OpenCL 임베디드 프로파일의 변화 7.2 OpenCL 1.1과 1.2의 차이점 7.2.1 OpenCL 플랫폼과 런타임의 변화 7.2.2 OpenCL C 언어의 변화 7.2.3 폐지 예정 기능 7.3 새로운 기능을 사용한 예제 프로그램 7.3.1 서브 디바이스 프로그램 7.3.2 이미지 오브젝트 프로그램 7.3.3 마이그레이션 프로그램CHAPTER 8 OpenCL 함수 레퍼런스 8.1 런타임 API 함수 8.1.1 플랫폼 API 함수 8.1.2 커맨드 큐 API 함수 8.1.3 메모리 오브젝트 API 함수 8.1.4 샘플러 오브젝트 API 함수 8.1.5 프로그램 오브젝트 API 함수 8.1.6 커널 오브젝트 API 함수 8.1.7 커널 실행 API 함수 8.1.8 이벤트 오브젝트 API 함수 8.1.9 비동기 실행 API 함수 8.1.10 프로파일링 API 함수 8.1.11 명령 실행과 실행 종료 대기 API 함수 8.2 빌트인 API 함수 8.2.1 워크 아이템 함수 8.2.2 산술 함수 8.2.3 정수 연산 함수 8.2.4 공통 함수 8.2.5 기하 함수 8.2.6 비교 함수 8.2.7 벡터 데이터 로드/스토어 함수 8.2.8 이미지 오브젝트 읽기/쓰기 함수 8.2.9 이미지 오브젝트 정보를 얻는 함수 8.2.10 동기 처리용 함수 8.2.11 메모리 펜스 함수 8.2.12 호스트와 디바이스 사이의 비동기 복사 함수 8.2.13 atomic 함수 8.2.14 기타 벡터 데이터 함수 8.2.15 printf 함수
자료명 | 등록일 | 다운로드 |
---|---|---|
예제소스 | 2022-02-09 | 다운로드 |
테크니컬 아티스트를 위한 최고의 교과서 : 내공 있는 CG 아티스트로 이끌어주는 체계적인 입문서
카츠라 요스케 , 요츠쿠라 타츠오 , 마크 살바티
DirectX 11을 이용한 3D 게임 프로그래밍 입문
프랭크 D. 루나
그라함 샐러스 , 리처드 S. 라이트 주니어 , 니콜라스 히멜
C++ AMP : Visual C++와 GPGPU를 이용한 대규모 병렬 프로그래밍
케이트 그레고리 , 에이드 밀러