인텔 Parallel Studio XE로 병렬 프로그래밍 세계 탐험하기
목차
- 책의 목표
- 책의 구조
- 책의 요구사항
- 이 책이 다루는 내용
- 책의 장점
- 책의 단점
- 책의 하이라이트
- FAQ
- 참고 자료
책의 목표
이 책의 목표는 Intel Parallel Studio를 사용하는 병렬 처리에 대한 자기 학습서로 사용할 수 있는 실용적인 가이드를 제공하는 것입니다. 본 책은 이론적인 부분보다는 도구 사용의 측면에 중점을 두고 있으며, 책을 읽는 독자가 소스 코드와 함께 실제로 기법을 적용해 볼 수 있도록 구성되어 있습니다.
책의 구조
본 책은 크게 다음과 같은 구조로 이루어져 있습니다:
- 서문
- 도구 설치 및 환경 설정
- 병렬 프로그래밍 개요
- 3.1 병렬 프로그래밍의 이점
- 3.2 병렬 처리 모델
- Intel Parallel Studio 소개
- 4.1 Parallel Advisor
- 4.2 Parallel Inspector
- 4.3 Parallel Debugger
- 병렬 처리 관련 주요 기법
- 5.1 멀티스레딩과 동기화
- 5.2 벡터화
- 5.3 병렬 루프
- 5.4 분산 메모리 프로그래밍
- 5.5 데이터 병렬 처리
- 병렬 처리 최적화 기법
- 6.1 최적화 개요
- 6.2 CPU 성능 분석 및 최적화
- 6.3 메모리 최적화
- 6.4 알고리즘 최적화
- 케이스 스터디
- 7.1 케이스 스터디 1: 응용 프로그램 A
- 7.2 케이스 스터디 2: 응용 프로그램 B
- 7.3 케이스 스터디 3: 응용 프로그램 C
- 7.4 케이스 스터디 4: 응용 프로그램 D
- 결론
책의 요구사항
이 책은 C 또는 C++ 프로그래밍에 대한 기본적인 이해가 있어야 합니다. C++에 대한 깊은 지식은 요구되지 않으며, 본 책에서 사용되는 예제 코드는 C 또는 기본적인 C++ 문법을 사용합니다. 또한 프로그래밍 경험이 있으며 컴파일과 디버깅을 할 수 있는 독자들을 대상으로 하고 있습니다.
이 책이 다루는 내용
본 책은 다음과 같은 주제를 다룹니다:
- 병렬 프로그래밍의 기본 원리 및 개념
- Intel Parallel Studio 소개 및 설치 방법
- 병렬 처리 관련 주요 기법 및 기능 사용 방법
- 병렬 처리 최적화를 위한 기법 및 도구 사용 방법
- 실제 응용 프로그램에 대한 케이스 스터디
책의 장점
- 실용적인 접근: 본 책은 이론적인 부분보다는 도구와 기법의 실제 활용에 중점을 두었습니다.
- 다양한 예제 코드와 함께: 각 장마다 예제 코드와 함께 실습할 수 있는 기회를 제공하여 독자들이 실제로 기법을 익힐 수 있습니다.
- 풍부한 케이스 스터디: 병렬 처리를 다루는 다양한 응용 프로그램에 대한 케이스 스터디를 수록하여 실전에 적용할 수 있는 능력을 향상시킵니다.
책의 단점
- C++에 대한 너무 깊은 지식을 요구하지 않음: 프로그래밍 초보자들에게는 C++에 대한 지식이 부족할 수 있습니다.
- Threading Building Blocks(TBB)에 대한 자세한 설명 부재: TBB에 대해 더 자세히 설명하지 않았으며, 별도의 책을 참고해야 할 수 있습니다.
책의 하이라이트
- 병렬 프로그래밍의 기본 원리와 이점 설명
- Intel Parallel Studio 도구 소개 및 사용 방법 설명
- 실제 응용 프로그램에 대한 케이스 스터디 제공
- 병렬 처리 최적화를 위한 다양한 기법과 도구 사용 방법 설명
FAQ
Q: 이 책을 읽기 위해 별도의 소프트웨어 설치가 필요한가요?
A: 네, 이 책에서는 Intel Parallel Studio 도구를 사용하므로 소프트웨어를 설치해야 합니다. 설치 방법에 대한 안내는 2장에서 제공됩니다.
Q: 병렬 프로그래밍에 대한 사전 지식이 필요한가요?
A: C 또는 C++ 프로그래밍에 대한 기본적인 이해와 프로그래밍 경험이 필요하지만 별도의 병렬 프로그래밍 지식은 필요하지 않습니다. 본 책에서는 병렬 프로그래밍의 기본 원리부터 친절하게 설명하고 있습니다.
Q: 병렬 처리 최적화에 대한 내용도 포함되어 있나요?
A: 네, 이 책은 병렬 처리 최적화에 대한 다양한 기법과 도구 사용 방법도 다루고 있습니다. CPU 성능 분석, 메모리 최적화, 알고리즘 최적화 등 다양한 주제에 대해 설명하고 있습니다.
참고 자료