Oracle Solaris Studio 12.4 Man Pages

印刷ビューの終了

更新: January 2015
 
 

er_generic(1)

名前

er_generic - プロファイル情報を含むテキストファイルから実験を生成するために使用されるコマンド

形式

er_generic args target directory [directory2 ...]

説明

er_generic コマンドは、プロファイルデータを含むテキストファイルの 1 つ以上のディレクトリを処理し、そのデータからシミュレートされたパフォーマンス実験を生成することができます。この実験は、同じ実行内に複数のカウンタを含むハードウェアカウンタオーバーフロープロファイリング実験として生成されます。このデータは、GUI プログラム (analyzer) またはコマンド行バージョン (er_print) を使用して検査できます。データによって時間順の情報は提供されないため、このような実験に対してアナライザのタイムラインは使用できません。同様に、呼び出しスタック情報も使用できません。

target は、パフォーマンスデータを収集する対象となる実行可能ファイルのパス名です。er_generic コマンドのターゲットであるプログラムは、任意のレベルの最適化でコンパイルできます。注釈付きソースを表示するには、ターゲットを -g フラグでコンパイルするようにし、また削除しないようにしてください。

directory には、シミュレータからのプログラムカウンタ (PC) およびイベントカウンタデータを含むさまざまな出力ファイルが含まれています。1 つのディレクトリ内のすべてのファイルが 1 つの実験に変換されます。引数がディレクトリでない場合、実行はエラーメッセージを出力して失敗します。有効なデータが含まれていないファイルはスキップされます。

各ディレクトリには、format.txt という名前のファイルが含まれている必要があります。このファイルには、er_generic がアナライザの実験に変換されるファイルを解釈するために使用する情報が含まれています。

各ディレクトリには、mapfile.txt という名前のファイルを含めることができます。このファイルには、メモリー内の場所へのファイルのマッピングに関する情報が含まれています。

オプション

引数なしで呼び出された場合、使用法に関するメッセージを出力します。

-C comment

コメント (1 つのトークンまたは引用符付き文字列のどちらか) を実験に配置します。最大 10 個のコメントを指定できます。

-o experiment-name

記録される実験の名前として experiment-name を使用します。experiment-name 文字列は、文字列 .er で終わる必要があります。そうでない場合は、エラーを報告し、実験は実行しません。

-o が指定されていない場合は、stem.n.er という形式の名前を持つ実験を記録します。ここで、stem は文字列であり、n は数値です。-g 引数が指定されている場合は、グループ名の中で .erg 接尾辞の前にある文字列を stem 接頭辞として使用します。-g 引数が指定されていない場合は、stem 接頭辞を文字列 test に設定します。

名前が stem.n.er という形式で指定されておらず、かつ指定された名前が使用されている場合は、エラーメッセージを出力し、実験は実行しません。名前が stem.n.er という形式であり、かつその名前が使用されている場合は、使用されていない n の最初に使用可能な値に対応する名前で実験を記録します。名前が変更された場合は、警告を発行します。

-d directory_name

directory_name ディレクトリ内に実験を配置します。何も指定されていない場合は、現在の作業ディレクトリに記録します。

-g group_name

実験を実験グループ group_name の一部であると見なします。group_name 文字列は、文字列 .erg で終わる必要があります。そうでない場合は、エラーを報告し、実験は実行しません。

-A option

ターゲットプロセスによって使用されたロードオブジェクトを、記録された実験にコピーするかどうかを制御します。option に使用できる値は次のとおりです。

on

ターゲットと、実験に参照されたすべてのロードオブジェクトをアーカイブします。

src

見つかったすべてのソースファイルと .anc ファイルを実験にコピーおよびアーカイブします。

usedsrc

記録されたデータで参照されていて、見つかったすべてのソースファイルと .anc ファイルを実験にコピーおよびアーカイブします。

off

ロードオブジェクトを実験にアーカイブしません。

ユーザーが実験を別のマシンにコピーするか、または実験を別のマシンで読み取る場合は、-A copy を指定するようにしてください。それを行なっても、ソースもオブジェクトファイルもコピーされないことに注意してください。実験がコピーされるマシン上でこれらのファイルに確実にアクセスできるようにすることはユーザーの責任です。

-V

現在のバージョンを出力します。それ以上の引数を検査せず、それ以上の処理も行いません。

-v

現在のバージョンと、実行されている実験に関するより詳細な情報を出力します。

記録されるデータ

記録されるデータ

プロファイリングの制限事項

通常、ハードウェアカウンタオーバーフロープロファイリングは、実験が実行されている CPU のハードウェアカウンタでオーバーフローが発生した時点での各 LWP の呼び出しスタックを記録します。このデータにはまた、タイムスタンプ、CPU ID、スレッド ID、および LWP ID も含まれます。er_generic によって生成されたレコードの呼び出しスタックには、リーフ PC のみが含まれています。タイムスタンプは生成されますが、意味がありません。マルチスレッドおよびマルチ CPU 実験のサポートはまだ使用できません。

使用可能なカウンタは、特定のシミュレートされるチップパラメータによって異なります。

ファイル形式の詳細

ファイル形式の詳細

プロファイルデータの入力ファイル形式

er_generic で処理されるファイルは、その最初の行が (「\\ text」による注釈付きの) コメントであるテキストファイルです。er_generic は、この形式が同じディレクトリ内に配置されている format.txt ファイルで定義されているものと予測します。ファイル内に記録されるデータは、空白で区切られた複数の列です。このファイルは、少なくとも次の列で構成されているべきです。

context

これは、現時点では無視されるオプションフィールドですが、複数のコンテキストを含むトレースからの結果のために将来使用される予定です。

pc

命令のアドレス

event-count

その特定の PC で発生するイベントのカウント。event-count の列は多数存在することができ、各列は format.txt ファイルで定義されています。

結果として得られる行は、次のようになります。

Context pc event-count1 event-count2 ...

コメント (\\ で示されます) は、生成される実験ファイルに記録されます。

format.txt ファイルを使用した形式の指定

format.txt ファイルは、処理されるファイルと同じディレクトリ内に配置するようにしてください。このファイルには、大文字と小文字が区別される次のコマンドを含めることができます。

context

er_generic に、データの最初の列を pc のコンテキストとして予測するよう指示します。現在、コンテキスト情報は無視されます。必要に応じて、これをファイル内の最初のキーワードにしてください。

clock=N

シミュレートされるプロセッサのクロック速度を MHz 単位で設定します。これは、時間として表すことができるカウンタに必要です。

counter=name[,HEX][,TIME]

特定のカウンタを定義します。これらのカウンタは、シミュレータの出力ファイルに各列が現れる順序で format.txt ファイルに記載するようにしてください。各カウンタ値は、HEX 指示子が使用されていないかぎり、10 進数として解釈されます。カウンタがサイクル数の時間を表し、そのように表示されるようにする場合は、TIME 指示子を使用できます。

mapfile.txt ファイルを使用したメモリー位置の指定

mapfile は、ライブラリと実行可能ファイルが配置されているメモリー内の位置を指定します。現在、コンテキストは 1 つしか指定できないため、使用される mapfile.txt は 1 つだけです。mapfile には、コンマで区切られたデータが次のように含まれています。

LOAD filename, address, time
filename

ロードされるファイルへの完全パス。

address

ファイルがロードされるメモリー内のアドレス

time

ファイルがいつロードされたかを示すタイムスタンプ。これは、現時点では無視されます。

関連項目

analyzer (1) , collect (1) , er_archive (1) , er_cp (1) , er_export (1) , er_mv (1) , er_print (1) , er_rm (1) , er_src (1)

パフォーマンスアナライザマニュアル