プログラム高速化の応用
作者: admin
â
最終変更
2014年07月29日 14時36分
2013年前期に行われたCMSI計算科学技術特論Aの講義「第5回 プログラム高速化の応用」をもとに、プログラム高速化に関して解説しています。
(注) ビデオ画像の開始位置は、回線状況によりずれが生じる可能性があります。その場合は再読み込みを行ってください。
1. 性能チューニングの応用
- 性能チューニングに関する総論 ( P.4, ビデオ画像 )
- 状況に応じて変化していくホットスポット ( P.10, ビデオ画像 )
- ホットスポット判明後の最適化方針の一例 ( P.11, ビデオ画像 )
- ホットスポットをどのようにして知るのか ( P.14, ビデオ画像 )
- その他の注意 ( P.15, ビデオ画像 )
2. 性能プロファイリング
- 性能プロファイリングの重要性 ( P.17, ビデオ画像 )
- 性能プロファイラでわかること ( P.18, ビデオ画像 )
- 性能プロファイラ(富士通FX10) ( P.19, ビデオ画像 )
- 性能プロファイラの種類の詳細 ( P.20, ビデオ画像 )
- 基本プロファイラ利用例(東大FX10) ( P.21, ビデオ画像 )
- 基本プロファイラ出力例(東大FX10) ( P.22, ビデオ画像 )
- 詳細プロファイラ利用例(東大FX10) ( P.24, ビデオ画像 )
- 詳細プロファイラGUIによる表示例(東大FX10) ( P.26, ビデオ画像 )
- 詳細プロファイラで取れるデータ(東大FX10) ( P.28, ビデオ画像 )
3. そのほかの最適化技法
- ループ分割とループ融合の実例 ( P.30, ビデオ画像 )
- FX10での基本プロファイルによる全体時間 ( P.32, ビデオ画像 )
- FX10基本プロファイルによる全体時間(通信時間) ( P.33, ビデオ画像 )
- FX10基本プロファイルによる主要関数 ( P.34, ビデオ画像 )
- カーネルループの構造 ( P.39, ビデオ画像 )
- ここでのコード最適化の方針 ( P.40, ビデオ画像 )
- ループ分割の例 – 分割点 ( P.42, ビデオ画像 )
- ループ融合 – 1重ループ化 ( P.43, ビデオ画像 )
- ループ融合 – 2重ループ化 ( P.44, ビデオ画像 )
- さらなる改良:定義-参照距離の変更 ( P.45, ビデオ画像 )
- 修正コード + I-ループ分割の例 ( P.46, ビデオ画像 )
- 修正コード + K-ループの分割の例 ( P.47, ビデオ画像 )
- チューニングの可能性のあるコード例(経験的に決めた数例) ( P.48, ビデオ画像 )
- ループ分割・ループ融合の効果 ( P.49, ビデオ画像 )
- チューニングの結果 ( P.50, ビデオ画像 )
- #1(ベースライン)に対する速度向上 ( P.51, ビデオ画像 )
- #4のK-ループの分割のコード ( P.52, ビデオ画像 )
- メニーコア環境でのループ融合への期待 ( P.53, ビデオ画像 )
4. 通信最適化の方法
5. 非同期通信:Isend、Irecv、永続的通信関数
- ブロッキング通信で効率の悪い例 ( P.60, ビデオ画像 )
6. 1対1通信に対するMPI用語
- ブロッキング、ノンブロッキング ( P.62, ビデオ画像 )
- ローカル、ノンローカル ( P.63, ビデオ画像 )
- 通信モード(送信発行時の場合) ( P.64, ビデオ画像 )
- 実例-MPI_Send ( P.65, ビデオ画像 )
- 非同期通信関数 ( P.67, ビデオ画像 )
- 同期待ち関数 ( P.68, ビデオ画像 )
- 実例-MPI_Isend ( P.69, ビデオ画像 )
- 注意点 ( P.70, ビデオ画像 )
- 並列化の注意(MPI_Send、MPI_Recv) ( P.71, ビデオ画像 )
- 非同期通信 TIPS ( P.72, ビデオ画像 )
- MPI_Probe 関数 ( P.73, ビデオ画像 )
- MPI_Iprobe関数 ( P.74, ビデオ画像 )
- MPI_Cancel 関数 ( P.75, ビデオ画像 )
- ノン・ブロッキング通信例 ( P.76, ビデオ画像 )
- ノン・ブロッキング通信による改善 ( P.77, ビデオ画像 )
- 永続的通信 ( P.79, ビデオ画像 )
- 永続的通信の実装例 ( P.81, ビデオ画像 )