OpenMPの基礎
作者: admin
â
最終変更
2014年07月29日 14時34分
2013年前期に行われたCMSI計算科学技術特論Aの講義「第3回 OpenMPの基礎」をもとに、OpenMPの基礎に関して解説しています。
(注) ビデオ画像の開始位置は、回線状況によりずれが生じる可能性があります。その場合は再読み込みを行ってください。
1. OpenMP 超入門
2. OpenMPの概要
- OpenMPの対象計算機 ( P.5, ビデオ画像 )
- OpenMPとは ( P.6, ビデオ画像 )
- OpenMPとマルチコア計算機 ( P.7, ビデオ画像 )
- OpenMPコードの書き方の原則 ( P.9, ビデオ画像 )
- OpenMPのコンパイルの仕方 ( P.10, ビデオ画像 )
- OpenMPの実行可能ファイルの実行 ( P.11, ビデオ画像 )
3. OpenMPの実行モデル
- OpenMPの実行モデル(C言語) ( P.13, ビデオ画像 )
- OpenMPの実行モデル(Fortran言語) ( P.14, ビデオ画像 )
- Work sharing構文 ( P.15, ビデオ画像 )
4. 代表的な指示文
- For構文(do構文) ( P.17, ビデオ画像 )
- For構文の指定ができない例 ( P.18, ビデオ画像 )
- Sections構文 ( P.19, ビデオ画像 )
- Critical補助指示文 ( P.20, ビデオ画像 )
- Private補助指示文 ( P.21, ビデオ画像 )
- Private補助指示文の注意(C言語) ( P.22, ビデオ画像 )
- Private補助指示文の注意(Fortran言語) ( P.23, ビデオ画像 )
- リダクション補助指示文(C言語) ( P.24, ビデオ画像 )
- リダクション補助指示文(Fortran言語) ( P.25, ビデオ画像 )
- リリダクション補助指示文の注意 ( P.26, ビデオ画像 )
5. その他、よく使うOpenMPの関数
6. その他の構文
- Single構文 ( P.32, ビデオ画像 )
- Master構文 ( P.33, ビデオ画像 )
- Flush構文 ( P.34, ビデオ画像 )
- Threadprivate構文 ( P.35, ビデオ画像 )
7. スケジューリング
- スケジューリングとは ( P.37, ビデオ画像 )
- ループスケジューリングの補助指定文 ( P.39, ビデオ画像 )
- ループスケジューリングの補助指示文の使い方 ( P.42, ビデオ画像 )
- ループスケジューリングにおけるプログラミング上の注意 ( P.43, ビデオ画像 )
- Staticスケジューリングのみで負荷バランスを均衡化させる実装例 ( P.44, ビデオ画像 )
8. OpenMPのプログラミング上の注意(全般)
- OpenMPによるプログラミング上の注意点 ( P.46, ビデオ画像 )
- Private補助指示文に関する注意 ( P.47, ビデオ画像 )
- Parallel構文の入れ子に関する注意 ( P.49, ビデオ画像 )
- データ依存関係を壊しバグになる例 ( P.51, ビデオ画像 )
- Critical補助指示文による速度低下 ( P.52, ビデオ画像 )
- OpenMPを用いた並列化の欠点 ( P.53, ビデオ画像 )
9. プログラム実例
10. OpenMPの高速化技法:ファーストタッチ
- ファーストタッチとは ( P.59, ビデオ画像 )
- ファーストタッチの原理 ( P.60, ビデオ画像 )
- ファーストタッチの例(C言語の例) ( P.61, ビデオ画像 )
- ファーストタッチの例(Fortran言語の例) ( P.62, ビデオ画像 )
- ファーストタッチの効果の例 ( P.63, ビデオ画像 )
- 疎行列-ベクトル積でのファーストタッチの効果(AMD Quad Core Opteron, 16スレッド) ( P.64, ビデオ画像 )
- ファーストタッチの効果が大きい行列 ( P.65, ビデオ画像 )
- ファーストタッチの実装上の注意 ( P.66, ビデオ画像 )
- 参考文献 ( P.67, ビデオ画像 )