이미 소장하고 있다면 판매해 보세요.
|
감사 인사 12
서문 18 머리말 24 역자 서문 30 역자 소개 31 SECTIONⅠ 나이츠랜딩 Chapter 1 / 매니코어 프로그램 소개 4 매니코어 프로그래밍 소개 5 추세: 더 많은 병렬성 5 인텔 제온 파이 프로세서가 필요한 이유 7 프로세서 대 코프로세서 9 고도의 병렬 실행을 위한 측정법 10 GPU는 어떤가? 11 필요한 포팅이 부족하면 즐겨라, 그렇지만 계속 조율하라! 11 성능을 위한 변환 12 하이퍼 - 스레딩 대 멀티스레딩 12 프로그래밍 모델 13 여기서 섹션 II로 건너 뛸 수 있다 13 추가 정보 14 Chapter 2 / 나이츠랜딩 개요 16 개요 16 명령어 세트 17 아키텍처 개요 18 만든 동기: 우리의 비전과 목적 22 요약 24 추가 정보 25 Chapter 3 / MCDRAM 및 클러스터 모드 프로그래밍 26 클러스터 모드 프로그래밍 27 메모리 모드 프로그래밍 29 메모리 모드 및 MCDRAM 사용 가능 확인 방법 47 할당과 스레딩의 SNC 성능 영향 48 NUMA 노드 번호를 하드코딩하지 않는 방법 50 MCDRAM에 무엇을 넣을 것인지 결정하는 접근 방법 51 모드를 변경하기 위해 재부팅해야 하는 이유 59 BIOS 59 요약 64 추가 정보 65 Chapter 4 / 타일 아키텍처 66 클러스터 모드 75 메모리 인터리빙 80 메모리 모드 82 클러스터 모드와 메모리 모드의 상호 작용 86 요약 87 추가 정보 87 Chapter 5 / 인텔 옴니패스 패브릭 88 개요 88 성능과 병렬 확장성 91 전송층 API 93 서비스 품질(QoS) 95 가상 패브릭 99 유니캐스트 어드레스 해결 104 멀티캐스트 어드레스 해결 106 요약 108 추가 정보 108 Chapter 6 / 마이크로아키텍처 최적화 어드바이스 110 코어당 1, 2 혹은 4스레드(가끔 3스레드) 로 얻을 수 있는 최적 성능 111 메모리 서브시스템 112 마이크로아키텍처 뉘앙스(타일) 113 Direct-mapped MCDRAM 캐시 124 조언 AVX-512 명령을 사용하라 125 요약 152 추가 정보 153 SECTIONⅡ 병렬 프로그래밍 Chapter 7 / 나이츠랜딩을 이용한 프로그래밍 개요 156 리팩터링을 해야 하는가, 하지 말아야 하는가, 그것이 문제다 157 응용 코드의 진화적 최적화 158 응용 코드의 혁명적 최적화 160 선택할 때와 버릴 때를 알아야 한다 160 추가 정보 161 Chapter 8 / 태스크와 스레드 기반의 병렬 처리 162 OpenMP 166 포트란 2008 170 인텔 TBB 173 hStreams 180 요약 181 추가 정보 181 Chapter 9 / 벡터화 183 벡터화는 왜 중요한가? 184 벡터화는 어떻게 하는가? 184 벡터화를 위한 세 가지 접근 방법 185 벡터화 방법론 6단계 186 캐시를 통한 스트리밍: 데이터 레이아웃, 정렬, 프리페칭 등 189 컴파일러 팁 199 컴파일러 옵션 203 컴파일러 지시문 205 벡터화를 촉진하기 위한 배열 섹션을 사용하자 223 컴파일러가 생성한 것들을 활용하자: 어셈블리 코드 검사 226 벡터화에 따른 수치 결과의 변화 228 요약 228 추가 정보 229 Chapter 10 / 백터화 어드바이저 230 나이츠랜딩에서 인텔 어드바이저 사용하기 231 서베이 리포트(Survey Report) 를 이용한 AVX-512 코드 개발 및 성능 개선 233 메모리 액세스 패턴(MAP) 리포트 251 AVX-512 GATHER/SCATTER 프로파일러 252 Mask Utilization(마스크 유효성 검사) 프로파일러와 FLOPS 프로파일러 256 어드바이저 루프라인 리포트 258 AVX-512 지원 하드웨어 없이 AVX-512 코드의 특성 탐색 260 어드바이저 활용 예시 - 계산 화학 코드의 분석 261 요약 270 추가 정보 271 Chapter 11 / SDLT를 활용한 벡터화 272 SDLT 소개 272 시작하기 274 SDLT 기본 276 SIMD 기법을 적용한 3차원 점 좌표 값의 평준화 예제 278 AOS 메모리 구조 기반 SIMD 수행의 문제점 281 SIMD는 Unit-Stride 메모리 접근 선호 282 알파 블렌딩 참조 코드 283 SDLT를 이용한 알파 블렌딩 286 추가 특징 290 요약 290 추가 정보 291 Chapter 12 / AVX-512 인트린직을 이용한 벡터화 292 인트린직이란? 292 AVX-512 미리 보기 299 나이츠코너로 마이그레이션 302 AVX-512 지원 여부 검색 303 AVX-512 명령어 집합 학습하기 307 AVX-512 인트린직 학습하기 307 AVX-512 인트린직 사용을 위한 단계별 예시 309 인트린직 코드를 활용한 코드의 결과 323 추가 정보 324 Chapter 13 / 성능 최적화 라이브러리들 326 인텔 최적화 라이브러리 개요 326 인텔 Math Kernel Library 개요 328 인텔 DAAL 개요 330 MKL과 DAAL 함께 쓰기 332 인텔 IPP 라이브러리 개요 333 인텔 최적화 라이브러리들과 인텔 컴파일러 335 다이렉트 호출 방식의 라이브러리 활용 336 최적화 라이브러리 사용 시, 나이츠랜딩으로 오프로딩 338 계산 정확도의 선택과 정확도 차이 343 동적 라이브러리 성능을 위한 팁 344 추가 정보 345 Chapter 14 / 프로파일링 및 시간 분석 346 나이츠랜딩 최적화 개요 346 이벤트 모니터링 레지스터들 348 효율화 지표들 349 잠재적인 성능 이슈들 355 인텔 VTUNE AMPLIFIER XE 제품 366 PAPI 367 MPI 분석: ITAC 367 HPC 툴킷 368 TAU 368 시간 측정 369 요약 370 추가 정보 371 Chapter 15 / MPI 372 노드간 병렬화 372 나이츠랜딩에서의 MPI 372 MPI 개요 373 MPI 애플리케이션을 수행하는 방법 375 MPI 애플리케이션 실행 분석하기 381 MPI 애플리케이션 최적화 388 이기종 클러스터 391 MPI 코딩의 최신 동향 393 모든 것을 함께 활용하기 399 요약 401 추가 정보 401 Chapter 16 / 공유할 것인가 말 것인가(그것이 문제로다) 404 왜 나이츠랜딩에서 PGAS를 이용해야 하는가? 407 PGAS 모델을 이용한 프로그래밍 408 성능 평가 416 PGAS를 넘어서 418 요약 418 추가 정보 419 Chapter 17 /소프트웨어 정의 가시화 420 소프트웨어 정의 가시화의 동기 421 소프트웨어 정의 가시화 아키텍처 423 OpenSWR: OpenGL 래스터-그래픽스 소프트웨어 렌더링 425 Embree: 고성능 레이 트레이싱 커널 라이브러리 427 OSPRay: 확장성 있는 레이 트레이싱 프레임워크 429 요약 436 이미지 권한 437 추가 정보 438 Chapter 18 / KNL로 오프로드 439 KNL을 이용하는 오프로드 프로그래밍 모델 439 프로세서 vs 코프로세서 440 오프로드 모델 고려사항 441 OpenMP 타깃 지시문 442 호스트와 대상에서 동시 실행 445 패브릭을 통한 오프로드 447 요약 448 추가 정보 448 Chapter 19 /전력 분석 449 전력 수요는 엑사급으로 이어진다 449 POWER 101 451 하드웨어 기반 전력 분석 기술들 452 소프트웨어 기반 KNL 전력 분석기 455 매니코어 플랫폼 소프트웨어 패키지 전력 도구들 466 RAPL 468 KNL 성능 프로파일링 471 인텔 원격 관리 모듈 475 요약 477 추가 정보 478 SECTIONⅢ Pearls Chapter 20 / LAMMPS에서 고전 분자 동역학 계산의 최적화 작업 482 분자 동역학 482 LAMMPS 485 나이츠랜딩 프로세서 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 Chapter 21 / 고성능 지진 시뮬레이션 512 고차원 지진 시뮬레이션 513 수학적 배경 513 애플리케이션 특성 517 계산 중추로서의 인텔 아키텍처 527 고효율의 작은 행렬 커널 527 희소행렬 커널의 생성과 희소/조밀 커널의 선택 528 조밀 행렬 커널의 생성: AVX2 528 조밀 행렬 커널의 생성: AVX-512 530 커널 성능 벤치마킹 532 나이츠랜딩의 색다른 메모리 하부 체계 통합 533 성능 평가 537 머라피 산의 화산 시뮬레이션 537 1992년의 랜더스 지진 539 요약 그리고 기억할 것들 541 추가 정보 542 Chapter 22 / WRF 개요 543 병목이 없는 비교적 평평한 WRF 성능 특성 544 인텔 매니코어(인텔 제온 파이 제품군) 에서 WRF의 역사 544 나이츠랜딩에서 WRF 초기 성능 결과 545 인텔 제온 및 인텔 제온 파이 시스템용 WRF 컴파일 547 WRF CONUS 12km 벤치마크 성능 548 MCDRAM 대역폭 549 벡터화: AVX-2 대비 AVX-512의 성능 향상 551 코어 스케일링 553 요약 554 추가 정보 554 Chapter 23 / 다체 (N-body) 시뮬레이션 555 비전산 전공 과학자를 위한 병렬 프로그래밍 555 단계별 개선 556 다체 시뮬레이션 557 최적화 559 초기 구현(최적화 단계 0) 559 스레드 병렬 처리(최적화 단계 1) 561 스칼라 성능 최적화(최적화 단계 2) 563 SOA를 사용한 벡터화(최적화 단계 3) 565 메모리 통행량(최적화 단계 4) 567 MCDRAM이 성능에 미치는 영향 569 요약 570 추가 정보 570 Chapter 24 / 머신러닝 572 컨볼루션 신경망(CNN) 573 벡터화와 레지스터 블록킹 580 OverFeat-FAST 결과 585 추가 정보 595 Chapter 25 / 트리니티 계산과제들 596 원본 코드 성능(Out of the box performance) 596 MiniGhost의 OpenMP 성능 최적화 615 요약 624 추가 정보 624 Chapter 26 / 양자 색역학(Quantum Chromodynamics) 626 LQCD 626 QPhiX 라이브러리와 코드 생성기 627 Wilson-Dslash 연산자 628 QPhiX 코드 생성기 설정 631 실험 환경 설정 634 결과 635 결론 642 추가 정보 643 기여자 644 용어 사전 658 색인 671 |
James L. Jeffers
James R. Reinders
Avinash Sodani
류훈 의 다른 상품