チュートリアルのステージでは、ホットスポット解析を実行して、ホットスポット、つまりアプリケーションの合計経過時間に最も影響するコード領域を見つけます。
パフォーマンス・スナップショットの [サマリー] ウィンドウからホットスポット解析を実行するには:
解析ツリーの [ホットスポット] アイコンをクリックします。
[解析の設定] ウィンドウが開きます。
[どこを] ペインでは、[ローカルホスト] を選択します。
提供されているサンプル (matrix) プロジェクトを使用している場合は、[何を] ペインがすでに構成されているはずです。
そうでない場合は、[アプリケーション] テキストボックスにアプリケーションへのパスを入力します。
[どのように] ペインでは、[ホットスポット] 解析が事前にを選択されています。
収集モードでは、[ユーザーモード・サンプリング] と [ハードウェア・イベントベース・サンプリング] のどちらかを選択できます。これらのサンプリングの仕組みは異なりますが、通常は、より少ないオーバーヘッドでより詳細な情報が得られるため、可能な場合は [ハードウェア・イベントベース・サンプリング] を使用することをお勧めします。
[開始] ボタンをクリックして解析を実行します。
サンプル・アプリケーションが終了すると、インテル® VTune™ プロファイラーは結果を確定し、[サマリー] ビューポイントを開きます。
このビューポイントでは、複数のメトリックが提供されます。疑問符 (?) アイコンの上にマウスを移動すると、各メトリックの詳細な説明が表示されます。
アプリケーションの合計 CPU 時間は約 105 秒であることに注意してください。これは、アプリケーション内のすべてのスレッドの CPU 時間の合計です。合計スレッド数は 20 であるため、アプリケーションはマルチスレッドで構成されています。
[サマリー] ウィンドウの [上位ホットスポット] セクションには、実行に費やされた CPU 時間順に並べられた、最も時間のかかる関数 (ホットスポット関数) に関するデータが表示されます。サンプル・アプリケーションでは、実行に約 104 秒要した multiply1 関数が、最もホットな関数としてリストの先頭に表示されます。
[サマリー] ウィンドウの下部にある [効率良い CPU 利用率の分布図] は、使用可能な論理プロセッサーの経過時間と使用レベルを表し、アプリケーションの実行中に使用された論理プロセッサー数をグラフで表示します。理想的には、グラフの最も高いバーがターゲット利用率のレベルと一致する必要があります。
コードの関数ごとのビューを取得するには、[ボトムアップ] タブに切り替えます。デフォルトでは、グリッドのデータは関数ごとにグループ化されます。グリッドの上部にある [グループ化] メニューを使用して、グループ化のレベルを変更できます。
multiply1 関数の実行には約 104 秒と最も時間がかかっており、CPU 利用率が低いことがわかります。
関数ごとの詳細な CPU 利用率を取得するには、[ボトムアップ] ペインの [展開] ボタンをクリックして、利用率別の有効時間カラムを展開します。
[ボトムアップ] グリッドの multiply1 関数をダブルクリックして、ソースウィンドウを開きます。
最も時間のかかる行は、multiply1 関数で行列乗算を実行するループであることに注目してください。
メモリーに関連するこのループの動作を解析するには、メモリーアクセス分析を実行します。
次のステップ: メモリーアクセス解析を行います。