|
タイトル |
並列プログラミングのツボ(ヘイレツプログラミングノツボ) |
|
スパコンからPCまで、その高速化に並列処理・並列プログラミングが重要である。本書は、その要となる考え方と実装のコツに重点を置き、必須処理や機械学習を含む様々な実例を用いて、並列プログラミングの「ツボ」となる考え方と実装のコツを伝授する。
付録のサンプルプログラムはCとFortranで、それぞれで22種(合計44本)を提供する。
はじめに
第1章 並列化のツボとは?
1.1 並列化とは/1.2 なぜ並列化するのか?/1.3 本書の位置づけ/1.4 並列プログラミングとは/1.5 実例:どうやって並列化をするか/1.6 各章の演習問題と解答プログラムについて/1.7 本章のまとめ/1.8 演習問題
第2章 並列対象を探せ!
2.1 自明並列性/2.2 ループ並列性/2.3 ジョブレベルの並列性/2.4 並列計算機を使わずエミュレーションする方法/2.5 実例:行列–行列積の並列化/2.6 演習問題
第3章 データ分散は負荷分散だ!
3.1 データ分散がなぜ必要か/3.2 データ分散の種類/3.3 数学的表記と実現法/3.4 実例:ブロック分散/3.5 実例:サイクリック分散/3.6 実例:ブロック・サイクリック分散/3.7 実例:任意データ分散/3.8 実例:疎行列–ベクトル積への適用/3.9 本章のまとめ/3.10 演習問題
第4章 機械学習を並列化せよ!
4.1 機械学習とは/4.2 深層学習の並列化:データ並列性とモデル並列性/4.3 実例:スパコンでの実行例/4.4 本章のまとめ/4.5 演習問題
第5章 憧れの分散並列化へ
5.1 ノード内並列化/5.2 ノード間並列化/5.3 ハイブリッド並列化/5.4 実例:疎行列ーベクトル積でのハイブリッド並列化例/5.5 本章のまとめ/5.6 演習問題
第6章 より深く学ぶために
6.1 並列プログラミングの観点から/6.2 数値計算の関連から/6.3 機械学習の観点から/6.4 今後の展望:自動チューニングの観点から
おわりに
参考文献
演習解答プログラムの利用