インテル® VTune™ プロファイラー・ユーザーガイド
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。
デフォルトでは、マイクロアーキテクチャー全般解析は detailed 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
この例では、投機の問題とコア依存のサブメトリック収集を無効にして、デフォルトの detailed プロファイル・モードを使用して、Linux* の matrix アプリケーションでマイクロアーキテクチャー全般解析を実行します。
vtune -collect uarch-exploration -knob collect-bad-speculation=false -knob collect-core-bound=false -- /home/test/myApplication
データの収集が完了したら、次のいずれかの方法で結果を表示します。
コマンドラインで -report アクションを使用してデータを表示します。
-report-output アクションを使用して .txt または .csv ファイルにレポートを書き込みます。
インテル® VTune™ プロファイラーのグラフィカル・インターフェイスでデータの収集結果 (*.vtune) を開きます。