計算科学のための HPC 技術 1(ケイサンカガクノタメノエイチピーシーギジュツイチ)
ハードウェア- 著者:
- 下司雅章/片桐孝洋/中田真秀/渡辺宙志/山本有作/吉井範行(ゲシマサアキ/カタギリ タカヒロ/ナカタ マホ/ワタナベ ヒロシ/ヤマモト ユウサク/ヨシイ ノリユキ)
- 出版社:
- 大阪大学出版会
- 出版日:
- 2017年04月03日頃
- ISBN:
- 9784872595864
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
本書は姉妹本である<a href="http:// www.osaka-up.or.jp/books/ISBN978-4-87259-587-1.html">『計算科学のための HPC 技術 2 』</A> (大阪大学出版会) と比べてより一般的で基礎的な内容となっている.日々進歩する計算機の世界の,特にハイパフォーマンスコンピューティング (High Performance Computing:HPC) において,「京」で培った技術はアプリケーションの高速化技術として長く役立つ要素がいくつもあるに違いなく,全ての分野の研究者や学生に役立つであろう.
まえがき
執筆者一覧
第 1 章プログラムの高速化
1.1 計算機アーキテクチャの構成方式の動向
1.2 高速化に当たり考慮すべき計算機構成
1.3 高速化技法
1.4 数値計算ライブラリの利用
第 2 章 MPI の基礎
2.1 並列プログラミングの基礎
2.2 基本的な MPI 関数
第 3 章 OpenMP の基礎
3.1 OpenMP とは
3.2 OpenMP 実行モデル
3.3 プログラミング上の注意
3.4 高速化技法としてのファーストタッチ
3.5 GPGPU への展開
第 4 章ハイブリッド並列化技法
4.1 概要
4.2 想定される計算機アーキテクチャ
4.3 実行例
4.4 ピュア MPI 実行のプログラム開発の基礎
4.5 ハイブリッド MPI 実行のプログラム開発の基礎
4.6 ハイブリッド MPI 並列化時の注意事項
第 5 章プログラム高速化の応用
5.1 性能チューニング総論
5.2 性能プロファイリング
5.3 ループ変換実例とその効果
5.4 通信最適化の方法
5.5 ソフトウェア自動チューニングの適用
5.6 自動並列化コンパイラの注意
第 6 章線形代数演算ライブラリ BLAS と LAPACK の基礎と実践
6.1 線形代数の重要性
6.2 ライブラリ利用の重要性
6.3 BLAS, LAPACK の紹介
6.4 Ubuntu 16.04 で BLAS, LAPACK を実際に使ってみる
6.5 最適化 BLAS, LAPACK の利用と, その結果の解析
6.6 まとめ
第 7 章高速化チューニングとその関連技術
7.1 高速化や並列化, その前に
7.2 バグを入れないコーディング
7.3 地雷型バグのデバッグ法
7.4 プロファイラの使い方
7.5 実装による高速化の個別事例
7.6 終わりに
第 8 章行列計算における高速アルゴリズム
8.1 エクサフロップスマシンのハードウェア特性
8.2 大規模並列アプリケーションにおける要求の変化
8.3 線形計算アルゴリズムの課題
8.4 線形計算アルゴリズムの研究動向
8.5 まとめ
第 9 章古典分子動力学法の高速化
9.1 古典分子動力学シミュレーション
9.2 静電相互作用の高速化
9.3 Multiple Time Step を用いた高速化
9.4 拘束動力学
9.5 生体分子系の古典 MD 計算の高速化
9.6 GENESIS の最適化と並列化
第 10 章量子化学計算の大規模化
10.1 分子科学分野の計算機環境
10.2 量子化学計算の概要
10.3 近似の導入
10.4 高速化
10.5 並列化
10.6 高速化・並列化事例
10.7 新たな量子化学計算プログラムの開発
10.8 まとめ
第 11 章計算精度に関する技術
11.1 大規模数値計算における精度保証
11.2 並列処理における収束精度問題
11.3 多倍長精度計算, 高精度計算
索引
技書の森解説
大規模シミュレーションや数値解析を行う研究者・技術者にとって、高性能計算 (HPC) の基盤知識は避けて通れません。本書はその基盤を体系的に提供する 2 巻構成の前半にあたり、プロセッサアーキテクチャ、メモリ階層、並列処理の基礎原理を計算科学の文脈で解説します。
対象読者は、数値計算プログラムを書いているがハードウェア寄りの最適化には踏み込めていない研究者や、 HPC システムの管理・運用に関わり始めたエンジニアです。 CPU パイプライン、キャッシュの振る舞い、ベクトル演算といったアーキテクチャ上の仕組みが、実際の計算性能にどう影響するかを結び付けて理解できる構成になっています。
計算科学の教科書として書かれているため、プログラミング入門書のような平易さは期待できません。線形代数や数値解析の基礎知識を前提としている箇所もあり、学部上級から大学院レベルの読者に適しています。第 2 巻と合わせて読むことで、理論から実装最適化まで一貫した HPC の見取り図が手に入ります。
この本に興味がある方におすすめ
この本に関連
下司雅章 の他の書籍
関連記事
アルゴリズム本ガイド - 競プロだけじゃない、実務に活きる選び方
アルゴリズム本の 3 タイプと、実務でアルゴリズムの知識が活きる場面、数学が苦手な人向けの学習ルートを紹介します。
機械学習 / ディープラーニング本ガイド - エンジニアが読むべき AI 技術書の選び方
機械学習の基礎から実践まで学べる技術書の選び方を紹介。「Python ではじめる機械学習」などのハンズオン本を軸に、数学が苦手な人向けの学習ルート、ディープラーニング本への進み方、ML 本の賞味期限の見極め方を解説します。
ソフトウェア開発の歴史を変えた 5 冊の技術書
アルゴリズムの学問化からコードの可読性革命まで、ソフトウェア開発の方向性を決定づけた 5 冊の技術書を、時代背景とエピソードとともに紹介します。