Oracle® Developer Studio 12.5: パフォーマンスアナライザチュートリアル

印刷ビューの終了

更新: 2016 年 6 月
 
 

mttest のハードウェアカウンタプロファイリング実験の検査

このセクションでは、前のセクションの mttest サンプルコードで作成した実験のデータを調査する方法を示します。

次のようにして、mttest ディレクトリからパフォーマンスアナライザを起動し、実験をロードします。

% analyzer test.1.er

実験が開くと、パフォーマンスアナライザの「概要」ページが表示されます。

image:mttest サンプル実験の「概要」ページ

「クロックプロファイリング」メトリックが最初に表示され、色付きのバーが含まれます。大部分のスレッド時間が「ユーザー CPU 時間」で消費されます。「休眠時間」または「ユーザーロック時間」で一定の時間が消費されます。

「派生およびその他のメトリック」グループは、cycles カウンタと insts カウンタの両方を記録した場合に存在します。派生メトリックは、それら 2 つのカウンタからのメトリックの比率を表します。「サイクル当たりの命令数」の値が高い、または「命令当たりのサイクル数」の値が低いことは、コードが比較的効率的であることを示唆します。反対に、「サイクル当たりの命令数」の値が低い、または「命令当たりのサイクル数」の値が高いことは、コードが比較的非効率であることを示唆します。

この実験では、「HW カウンタプロファイリング」グループは 2 つのサブグループ「メモリー領域ハードウェアカウンタ」および「一般ハードウェアカウンタ」を示します。「一般ハードウェアカウンタ」には「命令の実行」カウンタ (insts) が含まれます。収集したデータに cycles カウンタが含まれていた場合、「CPU サイクル」も「一般ハードウェアカウンタ」に含まれます。正確な dcm カウンタを備えるマシンでデータが収集された場合、「メモリー領域ハードウェアカウンタ」には「L1 データキャッシュミス」が含まれます。dcm カウンタが利用可能であったが正確なカウンタでない場合、「L1 データキャッシュミス」は「一般ハードウェアカウンタ」に含まれます。正確なカウンタとは、オーバーフローを発生させる命令の実行時に、そのオーバーフロー割り込みが伝達されるカウンタのことです。正確でないカウンタは、オーバーフローを発生させる命令を過ぎてから、可変量の「滑り」を伴って伝達されます。正確でないカウンタは、メモリー関連のカウンタであってもメモリー領域プロファイリングには使用できません。メモリー領域プロファイリングの詳細については、Oracle Developer Studio 12.5: パフォーマンスアナライザ の データ領域プロファイリングとメモリー領域プロファイリングを参照してください。

システムが dcm をサポートせず、Makefile を編集して –h dcm を削除した場合、「命令の実行」および「CPU サイクル」カウンタが表示されます。Makefile を編集して –h dcm–h cycles の両方を削除した場合、「命令の実行」カウンタのみが表示されます。

チュートリアルの以降のセクションで、これらのメトリックとその実装を調査します。