![]() ![]() ![]() ![]() ![]() |
プログラムのパフォーマンス解析 |
![]() |
目次
 製品名の変更について
 はじめに
1.  パフォーマンスプロファイリングおよび解析ツールの概要
2.  チュートリアル:標本コレクタおよび標本アナライザの使用方法
- 例 1:synprog
- synprog のコピー
- synprog の作成
- synprog に関するデータの収集
- synprog パフォーマンスメトリックの解析
- 例 2:omptest
- omptest のコピー
- omptest の作成
- omptest に関するデータの収集
- omptest パフォーマンスメトリックの解析
- 例 3:mttest
- mttest のコピー
- mttest の作成
- mttest に関するデータの収集と解析
3.  標本コレクタリファレンス
- 標本コレクタが収集するデータ
- 排他メトリック、包含メトリック、寄与メトリック
- 時間ベースのプロファイルデータ
- スレッド同期待ちの監視
- ハードウェアカウンタのオーバフロープロファイル
- 大域情報
- Sun WorkShopでのパフォーマンスデータの収集
- dbx で標本コレクタ下のプロセスを起動
- 実行中プロセスへの接続
- MPI を使用するプログラム
4.  標本アナライザリファレンス
- 標本アナライザの起動および実験の読み込み
- 標本アナライザのコマンド行オプション
- 標本アナライザの終了
- 標本アナライザウィンドウ
- 関数およびロードオブジェクトの測定結果の検査
- 関数およびロードオブジェクトの測定結果の表示
- 表示される測定結果について
- 関数およびロードオブジェクトの測定値とソート順の選択
- 関数またはロードオブジェクトの測定結果の要約表示
- 関数またはロードオブジェクトの検索
- 関数の呼び出し元と呼び出し先の測定結果の検査
- 「呼び出し元-呼び出し先」ウィンドウでの測定結果およびソート順の選択
- 注釈付きソースコードおよび逆アセンブリコードの調査
- テキストエディタの選択
- フィルタ情報
- ロードオブジェクトの選択
- 標本、スレッド、LWP の選択
- マップファイルの作成および使用
- データオプションリストで他のデータを表示
- 標本の概要の検査
- アドレス空間情報の検査
- 実行の統計情報の検査
- 標本アナライザに実験を追加
- 標本アナライザから実験を解除
- 表示の印刷
5.  er_print リファレンス
- er_print の構文
- オプション
- er_print コマンド
- 関数リストコマンド
- 呼び出し元と呼び出し先の表示コマンド
- ソースおよび逆アセンブリのリストコマンド
- 標本、スレッド、LWP、ロードオブジェクトの選択コマンド
- 測定結果のコマンド
- 出力コマンド
- その他のコマンド
6.  上級項目: 標本アナライザとデータ
- イベント固有データとその内容
- 時間ベースのプロファイル
- 同期待ちの監視
- ハードウェアカウンタのオーバーフロープロファイル
- 呼び出しスタックおよびプログラムの実行
- シングルスレッドの実行および関数呼び出し
- 明示的なマルチスレッド化
- 並列実行およびコンパイラ生成の本体関数
- スタックの展開
- アドレスとプログラム構造のマッピング
- プロセスイメージ
- ロードオブジェクトおよび関数
- 「呼び出し元-呼び出し先」ウィンドウ
- 注釈付きソースコードおよび逆アセンブリコード
- 注釈付きソースコード
- 注釈付き逆アセンブリ
- パフォーマンスコストについて
- 関数レベルのパフォーマンス
- ソース行レベルのパフォーマンス
- 命令レベルのパフォーマンス
7.  ループ解析ツール
- 基本概念
- 環境の設定
- ループタイミングファイルの生成
- その他のコンパイラオプション
- プログラムの実行
- ループツールの起動
- ループツールの使用
- ファイルを開く
- 全ループに関するレポートの作成
- ループツールグラフの印刷
- エディタの選択
- ソースコードの編集とヒント
- ループレポートの起動
- タイミングファイル
- ループレポートのフィールド
- コンパイラヒント
- 0. ヒントはありません。
- 1. ループ中に手続き呼び出しがあります。
- 2. コンパイラはこのループに対して 2 つのバージョンを生成しました。
- 3. 変数 list によってこのループ内でデータ依存性が発生する
- 4. 最適化の間に、ループが大幅に変形されています。
- 5. ループは、並列化動作によって効果が得られるかどうか不明です。
- 6. ループにユーザーが挿入した DOALL プラグマが付いています。
- 7. ループ中に複数の出口があります。
- 8. ループ中にマルチスレッドで安全でない I/O または他の関数呼び出しがあります。
- 9. ループ中に制御が逆方向に進む箇所があります。
- 10. ループは分散して実行されている可能性があります。
- 11. 複数のループが融合されている可能性があります。
- 12. 複数のループが交換されている可能性があります。
- コンパイラの最適化とループへの影響
- インライン化
- ループの変形 : 展開、詰め込み、分割、および入れ替え
- 逐次ループの内部に入れ子にした並列ループ
A.  従来のプロファイルツール
- 基本概念
- prof によるプログラムプロファイルの生成
- 出力例
- prof 出力の例
- gprof による呼び出しグラフプロファイルの生成
- tcov による文レベルの解析
- tcov 用のコンパイル
- tcov によるプロファイルに対応した共用ライブラリの生成
- ファイルのロック
- tcov の実行時ルーチンで発生するエラー
- 拡張 tcov による文レベルの解析
- 拡張 tcov の利点
- 拡張 tcov 用のコンパイル
- プロファイルに対応した共用ライブラリの生成
- ファイルのロック
- tcov 用ディレクトリおよび環境変数
 索引
サン・マイクロシステムズ株式会社 Copyright information. All rights reserved. |
ホーム | 目次 | 前ページへ | 次ページへ | 索引 |