詳細目次
第1章 並列コンピュータとは
1.1 並列コンピュータとは何か?
1.2 なぜ複数のプロセッサを持つのか?
1.2.1 みんなで働けば速くなる
1.2.2 エネルギー効率の改善
1.2.3 資源の共用
1.2.4 複数プロセッサがあればどれかが生き残る
1.3 並列コンピュータの分類
1.3.1 Flynnの分類
1.3.2 共有メモリに注目した分類
1.3.3 シストリックアレイ、データフロー、ベクトル型、CGRA
1.4 なぜ並列コンピュータは一般的にならなかったのか?
1.4.1 ユニプロセッサの黄金期
1.4.2 マルチコア革命
1.4.3 そして領域特化型計算機へ
第2章 集中メモリ型並列コンピュータ
2.1 ユニプロセッサからマルチコアへ
2.2 共有バス
2.2.1 共有バスの基本
2.2.2 アービトレーション
2.2.3 バストランザクション
2.3 クロスバスイッチ
2.4 スヌープキャッシュ
2.4.1 キャッシュの復習
2.4.2 スヌープキャッシュの元祖
2.4.3 ライトバック型スヌープキャッシュの基本プロトコル
2.4.4 Exclusive状態の導入
2.4.5 オーナーシップの導入
2.4.6 更新型プロトコル
2.4.7 MOESIプロトコルクラス
2.4.8 スヌープキャッシュの改良
第3章 共有メモリを用いた並列プログラム
3.1 並列プロセスのfork-join
3.2 不可分命令とクリティカルセクションの実行
3.2.1 最も単純な不可分命令Test&Set(x)
3.2.2 さまざまな不可分命令
3.2.3 セマフォ
3.2.4 不可分命令の実装
3.3 バリア同期
3.3.1 単純バリア
3.3.2 Fuzzy Barrier
3.4 OpenMPによる並列プログラム
3.4.1 OpenMPの指示文
3.4.2 OpenMPの実行
第4章 分散共有メモリ方式(NUMA)
4.1 ディレクトリ方式
4.1.1 基本的なディレクトリ方式
4.1.2 ディレクトリ方式の性能向上
4.1.3 ディレクトリのコスト削減
4.2 メモリコンシステンシィモデル
4.2.1 シーケンシャルコンシステンシィ
4.2.2 Total Store Ordering(TSO)とPartial Store Ordering(PSO)
4.2.3 ウィークコンシステンシィ(弱いコンシステンシィ)
4.2.4 リリースコンシステンシィ
4.3 さらなる大規模化
第5章 クラスタ・NORA(NORMA)
5.1 ベオウルフ型クラスタ(PCクラスタ)
5.2 ウェアハウススケールコンピュータ(WSC)
5.3 メッセージパッシングライブラリ
5.3.1 ブロッキング通信とノンブロッキング通信
5.3.2 MPI
5.4 RDMAと仮想共有メモリ
第6章 相互結合網
6.1 直接網
6.1.1 直接網の基本的な性質
6.1.2 ハイパーキューブ
6.1.3 _k_-ary _n_-cube
6.1.4 そのほかの直接網
6.2 間接網
6.2.1 等距離間接網
6.2.2 不等距離間接網
6.3 パケットの転送方式
6.3.1 サーキットスイッチングとパケットスイッチング
6.3.2 パケット蓄積法
6.3.3 フロー制御
6.3.4 仮想チャネル
6.3.5 デッドロックフリールーチング
6.3.6 ルータ(スイッチ)の構造
6.3.7 適応型ルーチング
第7章 アクセラレータ
7.1 アクセラレータとは何か?
7.2 GPU
7.2.1 GPUとは
7.2.2 GPUの構成
7.2.3 CUDAによるプログラム
7.2.4 GPUのメモリ
7.3 このほかの方式の科学計算向けアクセラレータ
7.3.1 NUMA型アクセラレータ:Intel Xeon Phi
7.3.2 ベクトル型アクセラレータ:NEC SX-Aurora TSUBASAアーキテクチャ
7.3.3 Pezy-SC1/2
7.3.4 Preferred Networks NM-3
7.4 クラウド(エンタープライズ用)AIアーキテクチャ
7.4.1 TPU
7.4.2 Intel Lake Crest/Spring Crest, Spring Hill
7.4.3 その他のクラウド用途のAIアーキテクチャ
7.5 エッジ用途のAIチップ
7.5.1 Intel Mobidius Neural Compute Stick 2 (NCS 2)
7.5.2 Google Edge TPU
7.5.3 Xilinx VERSAL
7.5.4 その他のエッジ向けAI用アクセラレータ
7.6 アクセラレータとしてのFPGA
7.6.1 FPGAとは?
7.6.2 リコンフィギャラブルシステム
7.6.3 マルチFPGAシステム
7.6.4 FPGAを用いたアクセラレータの特徴
7.6.5 CGRA
7.7 スーパーコンピュータ
7.7.1 基本知識
7.7.2 アーキテクチャ上の特徴
7.7.3 日本のフラグシップマシン
参考文献
索引