책 이미지

책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 언어 > 프로그래밍 언어 기타
· ISBN : 9788993827019
· 쪽수 : 624쪽
· 출판일 : 2016-06-13
책 소개
목차
CHAPTER 1 서론
성공 사례로부터 배우기
코드 현대화
동시성 알고리즘을 통한 현대화
벡터화와 데이터 로컬성을 이용한 현대화
전력 사용 이해하기
ISPC와 OpenCL
인텔 제온 파이 코프로세서 특성
매니 코어, 새로운 이기종
제온 파이가 아닌 네오 헤테로지니어스 프로그래밍
매니 코어의 미래
다운로드
추가 정보
CHAPTER 2 ‘올바른’에서 ‘올바르고, 효율적으로’
현대 컴퓨터에서 과학적 계산
최근 계산 환경
Hydro2D의 CEA
충격파 유체역학에 대한 수치적 방법
오일러 방정식
구드노프 방법
어디에 적합한가?
최근 아키텍처의 기능
성능 중심 아키텍처
프로그래밍 도구와 런타임
계산 환경
성능으로의 길
Hydro2D 실행
Hydro2D 구조
최적화
메모리 사용
스레드 레벨 병렬성
산술적 효율성 및 명령어 레벨 병렬성(ILP)
데이터 레벨 병렬성
정리
코프로세서 vs 프로세서
밀물은 모든 배를 뜨게 한다
성능 전략
추가 정보
CHAPTER 3 HBM에서 우수한 동시성과 SIMD
애플리케이션: HIROMB-BOOS-Model
핵심 용법: DMI
HBM 실행 프로파일
HBM의 최적화에 대한 개요
데이터 구조: 지역성을 바르게 하기
HBM에서 스레드 병렬성
데이터 병렬성: SIMD 벡터화
사소한 장애물
조기 추상화는 모든 악화의 원인이다
결과
세부적 프로파일링
프로세서 대 코프로세서의 스케일링
Contiguous 속성
정리
참고문헌
추가 정보
CHAPTER 4 나비에-스톡스 방정식 반응의 최적화
시작하기
버전 1.0: 기본 버전
버전 2.0: 스레드박스
버전 3.0: 스택 메모리
버전 4.0: 블로킹
버전 5.0: 벡터화
인텔 제온 파이 코프로세서 결과
정리
추가 정보
CHAPTER 5 독립 페이징 배리어
코드를 향상하기 위해서 무엇을 할 수 있을까
코드를 향상시키기 위해서 무엇을 더 할 수 있을까
하이퍼 스레드 팔랑크스
어떤 점이 이 전략에서 비최적화인가
하이퍼 스레드 팔랑크스 코딩
코어 내에서 코어와 HT에 대한 스레드의 결합을 확인하는 방법
하이퍼 스레드 팔랑크스 수동 분할 기술
교훈
작업으로 돌아가자
데이터 정렬
가능할 때 정렬 데이터를 사용하라
중복이 좋을 수 있다
독립 페이징 배리어
소비 시간을 복구하기 위해서 무엇이든 해보자
‘독자에게 남겨진’ 몇 가지 가능성
제온 파이와 유사한 제온 호스트 성능 향상
정리
추가 정보
CHAPTER 6 결함수 수식의 병렬 계산
동기와 배경
수식
선택을 나타내는 수식: 결함수
결함수 적용의 예: 탄도 시뮬레이션
구현 예제
벡터화를 위한 ispc 사용
다른 고려 사항들
정리
추가 정보
CHAPTER 7 딥 러닝의 수치 최적화
목적 함수(OBJECTIVE FUNCTION) 피팅
목적 함수와 주성분 분석 원리
소프트웨어와 예제 데이터
학습 데이터
실행 시간 결과
확장성 결과
정리
추가 정보
CHAPTER 8 수집/분산 패턴들의 최적화
인텔 아키텍처에서 수집/분산 명령어
분자동역학에서 수집/분산 패턴
수집/분산 패턴 최적화
시간적 그리고 공간적 지역성 증대
적절한 데이터 구조 선택: AoS 대 SoA
AoS와 SoA 사이의 즉각적 전환
수집/분산과 전환 비용 줄이기
정리
추가 정보
CHAPTER 9 매니 코어에서의 DIRECT N-body PROBLEM 구현
N-body 시뮬레이션
초기 솔루션
이론적 한계
오버헤드를 줄이면서 데이터 정렬하기
메모리 계층의 최적화
타일링 향상
호스트 버전에서 이러한 모든 것들이 어떤 의미를 지닐까?
정리
추가 정보
CHAPTER 10 N-body 계산 방법
고속 N-Body 방법과 Direct N-Body 커널
N-Body 계산의 응용
DIRECT N-BODY CODE
성능 결과
정리
추가 정보
CHAPTER 11 OpenMP 4.0을 이용한 동적 로드 밸런싱
하드웨어 사용의 최대화
N-BODY 커널
오프로드 버전
첫 코프로세서 버전과 프로세서의 결합
여러 개의 코프로세서가 있는 프로세서용 버전
추가 정보
CHAPTER 12 병행 커널 오프로딩
컨텍스트 설정
MOTIVATING EXAMPLE: PARTICLE DYNAMICS
이 장의 구성
코프로세서에서 동시성 커널
코프로세서 장치 분할과 스레드 연관성
동시성 데이터 전송
동시성 커널 오프로딩을 이용한 PD 시뮬레이션의 힘 계산
뉴턴의 제3법칙을 이용한 병렬 힘 계산
동시성 힘 계산의 구현
성능 평가: 전과 후
최종 결과
추가 정보
CHAPTER 13 MPI를 이용한 이기종 컴퓨팅
최근 클러스터에서의 MPI
MPI 태스크 위치
단일-태스크 하이브리드 프로그램
DAPL 제공자 선택
첫 번째 제공자 OFA-V2-MLX4_0-1U
두 번째 제공자 ofa-v2-scif0와 내부 노드 구조
최종 제공자(혹은 프록시)
하이브리드 애플리케이션 확장성
로드 밸런스
태스크와 스레드 대응 관계
정리
감사의 글
추가 정보
CHAPTER 14 제온 파이 코프로세서에서 전력 분석
전력 분석 101
소프트웨어를 이용한 전력과 온도 측정
전력과 온도 모니터 스크립트 생성
micsmc 툴의 전력과 온도 로그 생성
IPMI를 이용한 전력 분석
하드웨어 기반 전력 분석 방법
하드웨어 기반 코프로세서 전력 분석기
정리
추가 정보
CHAPTER 15 제온 파이 코프로세서를 클러스터 환경으로 통합
초창기 연구
BEACON 시스템 역사
Beacon 시스템 구조
하드웨어
소프트웨어 환경
인텔 MPSS 설치 절차
시스템 준비 사항
인텔 MPSS 스택 설치
설정 파일의 생성 및 맞춤 구성
MPSS 업그레이드 절차
자원과 워크로드 관리자 설정
TORQUE
프롤로그
에필로그
TOQUE/코프로세서 통합
MOAB
네트워크 지역성 향상
MOAB /코프로세서 통합
상태 검사 및 모니터링
일반 명령을 위한 스크립트
사용자 소프트웨어 환경
앞으로의 방향
정리
감사의 글
추가 정보
CHAPTER 16 인텔 제온 파이 코프로세서에서의 클러스터 파일 시스템 지원
네트워크 구성 개념과 목표
네트워킹 옵션 살펴보기
STEPS TO SET UP A CLUSTER ENABLED COPROCESSOR
코프로세서 파일 시스템 지원
NFS 지원
LUSTRE® 파일 시스템 지원
FRAUNHOFER BEEGFS® 파일 시스템 지원
PANASAS® PANFS® 파일 시스템 지원
클러스터 파일 시스템 선택
정리
추가 정보
CHAPTER 17 대규모 양자 화학 모의실험
서문
단일 참조 결합 클러스터(CC) 수식 체계
NWCHEM 소프트웨어 구조
GLOBAL ARRAYS
텐서 축약 엔진(TCE)
오프로드 해법의 기술
오프로드 구조
커널 최적화
성능 평가
정리
감사의 글
추가 정보
CHAPTER 18 대규모 시스템에서의 효율적인 네스티드 병렬화
동기
벤치마크
기준 벤치마킹
파이프라인 접근법 - FLAT_ARENA 클래스
인텔® TBB 사용자 관리 태스크 arenas
계층적 접근 - HIERARCHICAL_ARENA 클래스
성능 평가
NUMA 아키텍처가 미치는 영향
정리
추가 정보
CHAPTER 19 블랙-숄즈 가격 모형의 성능 최적화
금융시장 모형의 기본과 블랙-숄즈 공식
금융시장 수학적 모형
유럽형 옵션과 적정 가격 개념
블랙-숄즈 공식
옵션 가격
실험 환경
사례 연구
예비 버전: 정확성 점검
참고 버전 1: 적절한 데이터 구조 선택
참고 버전 2: 자료형 혼용하지 않기
루프의 벡터화
고속 수학 함수를 사용하라: erff() 대 cdfnormf()
코드의 등가 변환
배열 정렬
가능하면 정밀도를 감소시켜라
병렬로 작업하라
사전 준비(Wamr-up)를 사용하라
인텔 제온 파이 코프로세서의 사용: ‘공짜’ 이식
인텔 제온 파이 코프로세서 사용: 병렬로 작업
인텔 제온 파이 코프로세서와 캐시를 사용하지 않는 저장 방법 사용
정리
추가 정보
CHAPTER 20 인텔 COI 라이브러리를 이용한 데이터 전송
인텔 COI 라이브러리의 첫 단계
COIB 버퍼 타입들과 전송 성능
애플리케이션
정리
추가 정보
CHAPTER 21 고성능 광선 추적
배경지식
광선 궤적 벡터화
EMBREE 광선 추적 커널
애플리케이션에서 EMBREE 이용
성능
정리
추가 정보
CHAPTER 22 OpenCL을 통해서 적용 가능한 성능
딜레마
OpenCL에 대한 간략한 소개
OpenCL에서의 행렬 곱 예제
OpenCL과 인텔 제온 파이 코프로세서
행렬 곱 성능 결과
사례 연구: 분자 도킹
성능: 적용 가능한 성능
관련된 작업
정리
추가 정보
CHAPTER 23 스텐실 계산의 특성 분석과 최적화 방법
성능 평가
테스트 플랫폼의 AI
커널의 AI
표준 최적화
애플리케이션 자동 최적화
자동 최적화 툴
결과
요약
추가 정보
CHAPTER 24 프로파일링-유도 최적화
계산 과학에서의 행렬의 전치
도구와 방법
시리얼: 원본 제자리-정렬 전치
병렬: OPENMP를 이용한 병렬화
타일화: 데이터 로컬성 향상
정규화: 마이크로 커널의 다중버전화
계획: 더 많은 병렬성을 드러내기
요약
추가 정보
CHAPTER 25 ITAC을 활용한 이기종 MPI 애플리케이션 최적화
아시안 옵션 가격
애플리케이션 디자인
이기종 클러스터 내의 동기화
ITAC을 활용한 병목구간 찾기
ITAC 설정
불균형한 MPI 실행
매뉴얼적 작업부하 밸런스
동적 ‘보스-작업자’ 로드 밸런싱
결론
추가 정보
CHAPTER 26 클러스터에서 확장성이 뛰어난 아웃-오브-코어 솔버
소개
ScaLAPACK을 기반으로 한 OOC 분해
인코어 분해
OOC 분해
NVIDIA GPU에서 인텔 제온 파이 코프로세서로의 포팅
수치적 결과
결론 그리고 이후 작업
감사의 글
추가 정보
CHAPTER 27 희소 행렬-벡터 곱의 병렬화와 벡터화
배경
희소 행렬 데이터 구조
압축화된 데이터 구조
블로킹
병렬 SpMV 곱
부분적으로 분산된 병렬 SpMV
완전하게 분배된 병렬 SpMV
인텔 제온 파이 코프로세서의 벡터화
벡터화된 SpMV 커널의 구현
평가
인텔 제온 파이 코프로세서
인텔 제온 CPU에서
성능 비교
요약
추가 정보
CHAPTER 28 MORTON ORDER의 성능 향상
데이터 배치를 통한 캐시의 지역성 향상
성능 향상
행렬 전치
행렬 곱
정리
추가 정보
저자소개
리뷰
책속에서
이 책은 병렬성이 매우 높은 인텔? 제온 파이™ 코프로세서에서 영감을 받은 병렬 프로그래밍 방법들이 어떻게 프로세서와 코프로세서의 성능을 최대로 이끌 수 있을지를 69명의 저자가 공유한 경험으로 나온 결과물이다. 이 책에서는 병렬 프로그래밍에서의 중요한 문제들과 기술들을 흥미로운 결과와 함께 탐구되었으며 그 과정과 결과를 바탕으로 쓰였다. 대부분의 챕터에서 어떻게 확장성을 높이고 벡터화를 잘할 수 있는지 보여준다. 이것은 매니 코어 인텔 제온 파이 코프로세서뿐만 아니라 멀티 코어 프로세서에서도 더욱 높은 성능을 얻는 데 도움이 된다. 몇몇 장에서는 일반적인 프로그래밍 모델들을 제공하는 시스템에서 인텔? 제온? 프로세서들과 인텔 제온 파이 코프로세서들을 합친 신 이기종(Neo-Heterogeneous) 시스템들을 어떻게 활용하는지를 설명했다. 이러한 신 이기종 시스템과 클러스터의 배치, 관리, 조사, 작업에 대한 특별한 관점에서의 전문가 조언도 함께 수록했다.
- 서문 중에서