인텔 제온 파이 프로세서 고성능 프로그래밍 나이츠랜딩 판

인텔 제온 파이 프로세서 고성능 프로그래밍 나이츠랜딩 판

$39.99
Description
『인텔 제온 파이 프로세서 고성능 프로그래밍 나이츠랜딩 판』은 총 세 개의 섹션으로 구분되어 있다. 섹션 1 나이츠랜딩(Knights Landing(KNL), 인텔 제온 파이 프로세서(코드명 해스웰)의 판(edition) 명), 섹션 2 병렬 프로그래밍, 섹션 3 Pearls이다. 섹션 1에서는 나이츠랜딩 아키텍처와 고대역폭 메모리, 클러스터 모드, 통합 패브릭 등을 다룬다. 또한 매니코어가 등장하게 된 배경과 매니코어 프로그래밍 개요를 살펴 본다. 섹션 2에서는 매니코어의 확장성을 고려한 프로그래밍을 중점 설명한다. 섹션 3에서는 실제 애플리케이션에서의 병렬 프로그래밍, 즉 분자 동역학, 고성능 지진 시뮬레이션, WRF(날씨 연구 및 예측), 다체 시뮬레이션, 머신러닝, 트리니티 계산 과제들, 양자 색역학 등 다양한 실제 사례와 애플리케이션에서의 프로그래밍 예제와 성능 비교 분석을 살펴본다.
저자

짐제퍼스

(JamesL.Jeffers)
인텔제너럴엔지니어겸시각화책임자
짐은HPC플랫폼그룹의수석엔지니어이자엔지니어링매니저이다.그는고성능컴퓨팅,비주얼컴퓨팅,디지털TV및데이터통신분야에서25년이상소프트웨어설계및기술리더십경험을갖고있다.그의이전연구에는미식축구의‘전자첫다운라인(ElectronicFirstDownLine)’뒤에가상이미지를삽입하는TV기술개발도있다.그는제임스레인더스(JamesReinders)와인텔제온파이프로그래밍에대한3권의책을공동저술/편집했다.그는현재HPC시각화팀을이끌고있다.

목차

감사인사12
서문18
머리말24
역자서문30
역자소개31

SECTIONⅠ나이츠랜딩
Chapter1/매니코어프로그램소개4

매니코어프로그래밍소개5
추세:더많은병렬성5
인텔제온파이프로세서가필요한이유7
프로세서대코프로세서9
고도의병렬실행을위한측정법10
GPU는어떤가?11
필요한포팅이부족하면즐겨라,그렇지만계속조율하라!11
성능을위한변환12
하이퍼-스레딩대멀티스레딩12
프로그래밍모델13
여기서섹션II로건너뛸수있다13
추가정보14

Chapter2/나이츠랜딩개요16
개요16
명령어세트17
아키텍처개요18
만든동기:우리의비전과목적22
요약24
추가정보25

Chapter3/MCDRAM및클러스터모드프로그래밍26

클러스터모드프로그래밍27
메모리모드프로그래밍29
메모리모드및MCDRAM사용가능확인방법47
할당과스레딩의SNC성능영향48
NUMA노드번호를하드코딩하지않는방법50
MCDRAM에무엇을넣을것인지결정하는접근방법51
모드를변경하기위해재부팅해야하는이유59
BIOS59
요약64
추가정보65

Chapter4/타일아키텍처66

클러스터모드75
메모리인터리빙80
메모리모드82
클러스터모드와메모리모드의상호작용86
요약87
추가정보87

Chapter5/인텔옴니패스패브릭88

개요88
성능과병렬확장성91
전송층API93
서비스품질(QoS)95
가상패브릭99
유니캐스트어드레스해결104
멀티캐스트어드레스해결106
요약108
추가정보108

Chapter6/마이크로아키텍처최적화어드바이스110

코어당1,2혹은4스레드(가끔3스레드)로얻을수있는최적성능111
메모리서브시스템112
마이크로아키텍처뉘앙스(타일)113
Direct-mappedMCDRAM캐시124
조언AVX-512명령을사용하라125
요약152
추가정보153

SECTIONⅡ병렬프로그래밍
Chapter7/나이츠랜딩을이용한프로그래밍개요156

리팩터링을해야하는가,하지말아야하는가,그것이문제다157
응용코드의진화적최적화158
응용코드의혁명적최적화160
선택할때와버릴때를알아야한다160
추가정보161

Chapter8/태스크와스레드기반의병렬처리162

OpenMP166
포트란2008170
인텔TBB173
hStreams180
요약181
추가정보181

Chapter9/벡터화183

벡터화는왜중요한가?184
벡터화는어떻게하는가?184
벡터화를위한세가지접근방법185
벡터화방법론6단계186
캐시를통한스트리밍:데이터레이아웃,정렬,프리페칭등189
컴파일러팁199
컴파일러옵션203
컴파일러지시문205
벡터화를촉진하기위한배열섹션을사용하자223
컴파일러가생성한것들을활용하자:어셈블리코드검사226
벡터화에따른수치결과의변화228
요약228
추가정보229

Chapter10/백터화어드바이저230

나이츠랜딩에서인텔어드바이저사용하기231
서베이리포트(SurveyReport)를이용한AVX-512코드개발및성능개선233
메모리액세스패턴(MAP)리포트251
AVX-512GATHER/SCATTER프로파일러252
MaskUtilization(마스크유효성검사)프로파일러와FLOPS프로파일러256
어드바이저루프라인리포트258
AVX-512지원하드웨어없이AVX-512코드의특성탐색260
어드바이저활용예시?계산화학코드의분석261
요약270
추가정보271

Chapter11/SDLT를활용한벡터화272

SDLT소개272
시작하기274
SDLT기본276
SIMD기법을적용한3차원점좌표값의평준화예제278
AOS메모리구조기반SIMD수행의문제점281
SIMD는Unit-Stride메모리접근선호282
알파블렌딩참조코드283
SDLT를이용한알파블렌딩286
추가특징290
요약290
추가정보291

Chapter12/AVX-512인트린직을이용한벡터화292

인트린직이란?292
AVX-512미리보기299
나이츠코너로마이그레이션302
AVX-512지원여부검색303
AVX-512명령어집합학습하기307
AVX-512인트린직학습하기307
AVX-512인트린직사용을위한단계별예시309
인트린직코드를활용한코드의결과323
추가정보324

Chapter13/성능최적화라이브러리들326

인텔최적화라이브러리개요326
인텔MathKernelLibrary개요328
인텔DAAL개요330
MKL과DAAL함께쓰기332
인텔IPP라이브러리개요333
인텔최적화라이브러리들과인텔컴파일러335
다이렉트호출방식의라이브러리활용336
최적화라이브러리사용시,나이츠랜딩으로오프로딩338
계산정확도의선택과정확도차이343
동적라이브러리성능을위한팁344
추가정보345

Chapter14/프로파일링및시간분석346
나이츠랜딩최적화개요346
이벤트모니터링레지스터들348
효율화지표들349
잠재적인성능이슈들355
인텔VTUNEAMPLIFIERXE제품366
PAPI367
MPI분석:ITAC367
HPC툴킷368
TAU368
시간측정369
요약370
추가정보371

Chapter15/MPI372

노드간병렬화372
나이츠랜딩에서의MPI372
MPI개요373
MPI애플리케이션을수행하는방법375
MPI애플리케이션실행분석하기381
MPI애플리케이션최적화388
이기종클러스터391
MPI코딩의최신동향393
모든것을함께활용하기399
요약401
추가정보401

Chapter16/공유할것인가말것인가(그것이문제로다)404

왜나이츠랜딩에서PGAS를이용해야하는가?407
PGAS모델을이용한프로그래밍408
성능평가416
PGAS를넘어서418
요약418
추가정보419

Chapter17/소프트웨어정의가시화420

소프트웨어정의가시화의동기421
소프트웨어정의가시화아키텍처423
OpenSWR:OpenGL래스터-그래픽스소프트웨어렌더링425
Embree:고성능레이트레이싱커널라이브러리427
OSPRay:확장성있는레이트레이싱프레임워크429
요약436
이미지권한437
추가정보438

Chapter18/KNL로오프로드439

KNL을이용하는오프로드프로그래밍모델439
프로세서vs코프로세서440
오프로드모델고려사항441
OpenMP타깃지시문442
호스트와대상에서동시실행445
패브릭을통한오프로드447
요약448
추가정보448

Chapter19/전력분석449

전력수요는엑사급으로이어진다449
POWER101451
하드웨어기반전력분석기술들452
소프트웨어기반KNL전력분석기455
매니코어플랫폼소프트웨어패키지전력도구들466
RAPL468
KNL성능프로파일링471
인텔원격관리모듈475
요약477
추가정보478

SECTIONⅢPearls

Chapter20/LAMMPS에서고전분자동역학계산의최적화작업482

분자동역학482
LAMMPS485
나이츠랜딩프로세서486
LAMMPS최적화488
데이터정렬488
데이터유형및구조489
벡터화491
이웃목록499
장거리정전기학503
MPI와OpenMP병렬화503
성능결과505
시스템,실행파일생성과수행환경506
작업부하들507
유기광전지분자507
탄화수소혼합물508
용매화된지질이중층에서의로돕신단백질508
굵은입자(coarse-grain)액정시뮬레이션508
굵은입자물시뮬레이션509
요약510
감사의글(Acknowledgement)510
추가정보510

Chapter21/고성능지진시뮬레이션512

고차원지진시뮬레이션513
수학적배경513
애플리케이션특성517
계산중추로서의인텔아키텍처527
고효율의작은행렬커널527
희소행렬커널의생성과희소/조밀커널의선택528
조밀행렬커널의생성:AVX2528
조밀행렬커널의생성:AVX-512530
커널성능벤치마킹532
나이츠랜딩의색다른메모리하부체계통합533
성능평가537
머라피산의화산시뮬레이션537
1992년의랜더스지진539
요약그리고기억할것들541
추가정보542

Chapter22/WRF개요543

병목이없는비교적평평한WRF성능특성544
인텔매니코어(인텔제온파이제품군)에서WRF의역사544
나이츠랜딩에서WRF초기성능결과545
인텔제온및인텔제온파이시스템용WRF컴파일547
WRFCONUS12km벤치마크성능548
MCDRAM대역폭549
벡터화:AVX-2대비AVX-512의성능향상551
코어스케일링553
요약554
추가정보554

Chapter23/다체(N-body)시뮬레이션555

비전산전공과학자를위한병렬프로그래밍555
단계별개선556
다체시뮬레이션557
최적화559
초기구현(최적화단계0)559
스레드병렬처리(최적화단계1)561
스칼라성능최적화(최적화단계2)563
SOA를사용한벡터화(최적화단계3)565
메모리통행량(최적화단계4)567
MCDRAM이성능에미치는영향569
요약570
추가정보570

Chapter24/머신러닝572

컨볼루션신경망(CNN)573

출판사 서평

매니코어와최신병렬컴퓨팅시스템프로그래밍으로고성능컴퓨팅시대를리드!
인텔제온파이TM프로세서
고성능프로그래밍나이츠랜딩판

4차산업혁명시대,빅데이터와인공지능(AI)시대를맞아고성능컴퓨팅(HighPerformanceComputing,HPC)시대가활짝열렸다.이책은과학자나연구원들이주로사용하는슈퍼컴퓨터의프로그래머들,인텔의매니코어(many-core)아키텍처와프로그래밍에어느정도익숙한독자를대상으로집필된고성능병렬화프로그래밍에대한책이다.

인텔은단일코어프로세서기반시스템을멀티코어(multi-core)에서다시매니코어(many-core)프로세서시스템으로발전시켰는데,인텔블로그에따르면싱글매니코어인인텔제온파이7250프로세서는2개의백열전구가소비하는전력량으로초당6조의부동소수점계산을수행할수있어현재사용하는가장성능좋은컴퓨터보다500배에서1,000배더빠른속도로문제를해결할수있는컴퓨터를만드는것도가능해질것으로전망된다.

머신러닝,인공지능,지진이나기타다양한분야를연구하는과학자나슈퍼컴퓨팅프로그래머들에게일독을권할만하다.