計算科学のためのHPC技術 2の表紙

計算科学のための HPC 技術 2(ケイサンカガクノタメノエッチピーシーギジュツニ)

ハードウェア
著者:
下司雅章/南一生/高橋大介(ゲシ マサアキ/ミナミ カズキ/タカハシ ダイスケ)
出版社:
大阪大学出版会
出版日:
2017年04月03日頃
ISBN:
9784872595871
在庫:
在庫あり
0
上級者向け
HPCパフォーマンス最適化スーパーコンピュータ並列処理アルゴリズムデータ構造性能評価計算科学アプリケーション最適化CPU最適化

なぜ注目されているか

総合810 21 ランクダウン

書籍紹介

本書は姉妹本である『計算科学のための HPC 技術 1 』 (大阪大学出版会) と比べて,より実践的な技術を多く含んでいる.日々進歩する計算機の世界の,特にハイパフォーマンスコンピューティング (High Performance Computing:HPC) において,「京」で培った技術はアプリケーションの高速化技術として長く役立つ要素がいくつもあるに違いなく,全ての分野の研究者や学生に役立つであろう.
まえがき

執筆者一覧

第 1 章スーパーコンピュータとアプリケーションの性能
1.1 スーパーコンピュータとは?

1.2 高性能アプリケーションとは?

第 2 章アプリケーションの性能最適化
2.1 性能評価方法

2.2 現状認識–ソースコードの調査

2.3 現状認識–測定法

2.4 現状認識–演算・通信カーネルの決定

2.5 問題点の把握–高並列に関する問題点の評価法

2.6 問題点の把握– CPU 単体性能に関する問題点の評価法

2.7 高並列に関する問題パターン別の性能最適化技術

2.8 CPU 単体性能に関する性能最適化

第 3 章アプリケーションの性能最適化の実例
3.1 「京」性能実証のためのアプリケーション

3.2 「京」のシステム概要

3.3 性能評価のための計算機環境

3.4 高並列性能最適化の実例の概要

3.5 RSDFT の性能最適化

3.6 PHASE の性能最適化

3.7 CPU 単体性能最適化の実例の概要

3.8 Seism3D の CPU 単体性能最適化の実例

3.9 FFB の CPU 単体性能最適化

第 4 章大規模系での高速フーリエ変換
4.1 高速 Fourier 変換

4.2 多次元 FFT

4.3 2 次元分割を用いた並列 3 次元 FFT アルゴリズム

4.4 GPU クラスタにおける並列 1 次元 FFT

4.5 まとめ

4.6 練習問題

第 5 章オーダー N 法
5.1 密度汎関数理論

5.2 電子の近視性 (Nearsightedness)

5.3 局在基底法

5.4 オーダー N 法

5.5 超並列化の方法

5.6 オーダー N 法の応用

5.7 数値厳密な低次スケーリング法

5.8 まとめ

第 6 章大規模 MD 並列化の技術
6.1 階層的並列化

6.2 トーラスネットワークの特徴を踏まえた並列化方法

6.3 並列性能を高めるためのデータ構造

6.4 分子動力学計算の概要

6.5 具体的な MPI 並列化事例

6.6 演算の効率化

6.7 まとめ

第 7 章大規模量子化学計算
7.1 量子化学計算の目的と種類

7.2 SCF 計算の構成要素

7.3 post-HF 計算の構成要素

7.4 大規模系に適用するための量子化学計算法

7.5 結びに

第 8 章 OpenAcc による GPU Computing
8.1 はじめに

8.2 OpenACC とは

8.3 OpenACC によるアプリケーションの GPU 化の推奨方法

8.4 ホットスポットの特定

8.5 ループの並列化

8.6 データ転送の最適化

8.7 ループの最適化

8.8 まとめ

第 9 章インテル Xeon Phi プロセッサ向け最適化、並列化概要
9.1 はじめに

9.2 プログラミング言語

9.3 ベクトル化

9.4 キャッシュ

9.5 インテル Xeon Phi プロセッサ (開発コード名 Knights Landing) 概要

9.6 MCDRAM の使用方法

9.7 ベクトル化を妨げる原因と解決方法

9.8 最適化ツールを使ったベクトル化

9.9 マルチスレッド化

9.10 MPI アプリケーション

9.11 まとめ

索引

技書の森解説

第 1 巻でプロセッサとメモリ階層の基礎を押さえた上で、本書 (第 2 巻) はその知識を実際のプログラム高速化に結び付けます。 MPI や OpenMP を用いた並列化技法、通信コストの削減、 I/O ボトルネックの回避など、スーパーコンピュータ上で計算科学コードを効率的に走らせるための実践的な方法論がまとめられています。

第 1 巻が「なぜ速い (遅い) のか」を理解するための本だとすれば、第 2 巻は「どうすれば速くできるのか」に踏み込む本です。プロファイリングの結果からボトルネックを特定し、通信パターンの見直しやデータ配置の変更で性能を引き出す工程を、具体例を交えて追体験できます。

読者層は第 1 巻と同様に、研究機関や企業の計算科学部門で大規模並列コードを扱う人です。並列プログラミングの文法を一通り知っていることが前提で、初学者がいきなり手に取る本ではありません。しかし逆に言えば、中級以上の HPC プログラマが「我流の最適化」を体系的に見直すための参照先として、長期間役立つ一冊です。

この本に興味がある方におすすめ

この本に関連

下司雅章 の他の書籍

関連記事

関連用語

共有:Xはてブ