第1章 並列プログラミングを始めるにあたり
1-1 なぜ並列プログラミングが必須となるのか
1-2 マルチプロセスとマルチスレッド
1-3 コンカレンシー(並行性)とパラレリズム(並列性)
1-4 スレッドプログラミングと抽象化
第2章 OpenMPとは
2-1 OpenMPの経緯
2-2 OpenMPプログラミングを始める前に
2-3 OpenMPの仕組み
2-4 OpenMPプログラミングを始める
第3章 OpenMPを使ってみる
3-1 OpenMPで並列領域を定義する必須要件
3-2 並列領域とスレッド数
3-3 OpenMPの並列領域の範囲
3-4 データスコープとデータ属性
3-5 作業の分割とワークシェア
3-6 同期
3-7 タスク制御
第4章 OpenMP指示文
4-1 OpenMP標準指示文
4-2 インテルコンパイラー拡張指示文
第5章 OpenMP APIと環境変数
5-1 OpenMP環境変数
5-2 OpenMPランタイムAPI
第6章 OpenMPの活用例
6-1 forループ構文を利用するうえでの注意点
6-2 並列領域のネスト
6-3 タスク制御の例
6-4 OpenMPスレッドとアフィニティー
6-5 OpenMPスレッドとハイパースレッディング
6-6 プロセッサーに依存するスレッド固有のペナルティー
第7章 OpenMPスレッドの最適化とデバッグツール
7-1 OpenMPスレッドプログラムのデバッグ
7-2 OpenMPスレッドプログラムのパフォーマンスチューニング
第8章 他のAPIやツールとの共存
8-1 Windows APIとの共存
8-2 MPIとの共存
8-3 他のモジュールを呼び出してリンクする場合
付 録
付録A OpenMP宣言子一覧
付録B OpenMP API一覧
付録C OpenMP環境変数一覧
付録D インテルコンパイラーのOpenMP関連コンパイラーオプション
付録E OpenMP 2.5と3.0の仕様の違い
ページ先頭へ