多くの er_print コマンドでは、メトリックキーワードのリストを使用します。リストの構文は次のとおりです。
metric-keyword-1[:metric-keyword2…]
測定されたデータに基づく動的メトリックの場合、メトリックのキーワードは、メトリックフレーバー文字列、メトリック表示形式文字列、およびメトリック名文字列の 3 つの部分から構成されます。これらは、空白を入力せずに次のように続けて指定します。
flavorvisibilityname
実験内のロードオブジェクトの静的プロパティー (名前、アドレス、およびサイズ) に基づく静的メトリックの場合、メトリックのキーワードは、メトリック名とその前に付加されるメトリック表示形式文字列 (オプション) を空白なしに結合して構成されます。
[visibility]name
メトリックの flavor 文字列と visibility 文字列は、フレーバー文字と表示形式文字を使用して指定します。
指定可能なメトリックフレーバー文字をTable 5–1 に示します。複数のフレーバー文字を含むメトリックキーワードが展開されて、メトリックキーワードリストになります。たとえば、ie.user は、展開されて i.user:e.user になります。
|
指定可能なメトリック表示形式文字をTable 5–2 に示します。表示形式文字列の文字の順序は、対応するメトリックの表示順序には影響しません。たとえば、i%.user と i.%user はともに i.user:i%user と解釈されます。
表示形式だけが異なるメトリックは、常に標準の順序で一緒に表示されます。表示形式だけが異なる 2 つのメトリックキーワードがほかのキーワードで区切られている場合は、標準の順序で 2 つのメトリックの 1 つ目の位置にメトリックが表示されます。
|
フレーバー文字列と可視文字列のそれぞれが複数の文字から構成されている場合は、フレーバー文字列が先に展開されます。すなわち、ie.%user は展開されて i.%user:e.%user になり、i.user:i%user:e.user:e%user と解釈されます。
静的メトリックの場合、ソート順序の定義という観点からは、表示形式文字のピリオド (.)、正符号 (+)、パーセント記号 (%) は同等と見なされます。つまり、sort i%user、sort i.user、sort i+user はすべて、「どのような形式で表示するにせよ、パフォーマンスアナライザは包括的ユーザー CPU 時間を基準にソートする」ことを意味します。また、sort i!user は、「表示するかどうかに関係なく、パフォーマンスアナライザは包括的ユーザー CPU 時間を基準にソートする」という意味になります。
可視文字の感嘆符 (!) を使用すると、各フレーバーのメトリックに組み込みのデフォルト値を置き換えられます。
メトリックリスト内で同じメトリックを複数回表示した場合は、最初に出現したものだけが処理され、それ以後のものは無視されます。名前付きメトリックがリストにない場合は、そのメトリックがリストに付加されます。
Table 5–3 に、タイミングメトリック、同期遅延メトリック、メモリー割り当てメトリック、MPI トレースメトリック、および 2 つの一般的なハードウェアカウンタメトリックに 指定可能な er_print メトリック名文字列を示します。ほかのハードウェアカウンタメトリックの場合、メトリック名文字列はカウンタ名と同じです。ロードされた実験に適用できるすべてのメトリック名文字列のリストは、metric_list コマンドで表示できます。カウンタ名を一覧表示するには、collect -h コマンドをほかの引数を指定せずに発行します。ハードウェアカウンタについての詳細は、ハードウェアカウンタプロファイリングデータを参照してください。
|
Table 5–3 に示した名前文字列のほかに、2 つの名前文字列をデフォルトのメトリックリスト内でのみ使用できます。この 2 つの文字列は、任意のハードウェアカウンタ名に一致する hwc と、任意のメトリック名文字列に一致する any です。また、cycles と insts は、SPARC® プラットフォームと x86 プラットフォームに共通のものですが、それ以外のアーキテクチャー固有のフレーバーも存在します。
ロードした実験から使用可能なメトリックを確認するには、metric_list コマンドを発行します。