uarch-exploration 値を使用して、アプリケーションのハードウェアの問題を順位付けし、出発点となるマイクロアーキテクチャー全般 (以前の全般解析) 解析を始めます。ホットスポット解析によりコード内のホットスポットを特定したら、マイクロアーキテクチャー全般解析を使用してコードがコアのパイプラインでどの程度効率良く実行されているかを理解できます。マイクロアーキテクチャー全般解析中、インテル® VTune™ プロファイラーは一般的なクライアント・アプリケーションを解析するため、リスト中のすべてのイベントを収集します。そして、メトリックに使用される事前定義された比率を計算して、ハードウェア・レベルのパフォーマンスの問題を特定するのが容易になります。
vtune -collect uarch-exploration [-knob [knobName=knobValue]] [--] <target>
Knob : collect-memory-bandwidth、pmu-collection-mode、dram-bandwidth-limits、sampling-interval、collect-frontend-bound、collect-bad-speculation、collect-memory-bound、collect-core-bound、collect-retiring
デフォルトでは、マイクロアーキテクチャー全般解析は詳細な PMU 収集モードで実行され、すべての上位レベルメトリック (CPU 依存、メモリー依存、フロントエンド依存、投機の問題、およびリタイア) などのサブメトリックを収集します。必要な場合は、knob オプションを設定して特定の上位レベルのメトリックについてサブメトリックの収集を無効にします。
マイクロアーキテクチャー全般解析で利用可能な knob (設定オプション) に関する最新情報は、vtune -help collect uarch-exploration で収集できます。
general-exploration は古い解析タイプ (非推奨) です。代わりに、uarch-exploration オプションを使用してください。
この例は、メモリー帯域幅解析を有効にして、Linux* 上の matrix アプリケーションでマイクロアーキテクチャー全般解析を実行します。
vtune -collect uarch-exploration -knob collect-memory-bandwidth=true -- /home/test/matrix
この例は、オーバーヘッドの少ない summary プロファイル・モードを使用して、Windows* 上の matrix アプリケーションでマイクロアーキテクチャー全般解析を実行します。
vtune -collect uarch-exploration -knob pmu-collection-mode=summary -- C:\samples\matrix.exe
この例は、デフォルトの詳細プロファイル・モードを使用して Linux* 上の matrix アプリケーションでマイクロアーキテクチャー全般解析を実行しますが、2 つのトップレベルのメトリック (投機の問題とコア依存) のサブメトリックは収集しません。
vtune -collect uarch-exploration -knob collect-bad-speculation=false -knob collect-core-bound=false -- /home/test/myApplication
データ収集が完了したら、結果を表示するため次のいずれかの操作を行います。
コマンドラインからデータを表示するには、-report アクションを使用します。
-report-output アクションを使用して、レポートを .txt または .csv ファイルに書き込みます。
インテル® VTune™ プロファイラーのグラフィック・インターフェイスで、収集した結果データ (*.vtune) を開きます。