計算科学のための HPC 技術 2(ケイサンカガクノタメノエッチピーシーギジュツニ)
ハードウェア- 著者:
- 下司雅章/南一生/高橋大介(ゲシ マサアキ/ミナミ カズキ/タカハシ ダイスケ)
- 出版社:
- 大阪大学出版会
- 出版日:
- 2017年04月03日頃
- ISBN:
- 9784872595871
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
本書は姉妹本である『計算科学のための 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 プログラマが「我流の最適化」を体系的に見直すための参照先として、長期間役立つ一冊です。
この本に興味がある方におすすめ
この本に関連
下司雅章 の他の書籍
関連記事
OS / 低レイヤー本ガイド - コンピュータの仕組みを学ぶ技術書の選び方
OS、コンパイラ、ネットワークなど低レイヤーを学べる技術書の 4 ジャンルと、どこから始めるべきかの指針、賞味期限の見極め方を紹介します。
体系的に学ぶ 安全な Web アプリケーションの作り方 第 2 版は初版と何が違うか - 買い直し判断ガイド
通称「徳丸本」こと体系的に学ぶ 安全な Web アプリケーションの作り方 第 2 版 (2018 年) と初版 (2011 年) の違いを出版社公表の改訂内容から整理。章の削除 / 新設 / 追加点の一覧と、初版所有者が買い直すべきかの判断基準を解説します。
障害対応の夜に思い出す、あの本の 1 ページ
本番障害の緊迫した場面で、過去に読んだ技術書の知識が助けてくれた経験はありませんか。「いつか役立つ」知識が「今この瞬間」に変わる読書の価値を考えます。