マニュアルページ er_bit.1
名前
er_bit - bit 計測機構の組み込まれたプログラムで収集 さ れ た
データから実験を生成します
形式
er_bit experiment_args target [ debug_args ] bat_args
er_bit experiment_args target bit-snap-file1 [ bit-snap-
file2 ...]
説明
er_bit コマンドは、bit によって計測機構の組み込まれたプロ グ
ラムの実行から計測機構データを収集し、そのデータからパフォー
マンス実験を生成できます。通常、このコマンドはユーザーによっ
て 直 接 呼び出されることはなく、一般には collect に -c オプ
ションを付けたカウントデータの収集に対する応答として bit に
より呼び出されます。
生成される実験は、計測機構のないターゲットに対して生成され、
同じ実行で複数のカウンタを持つハードウェアカウンタオーバーフ
ロープロファイル実験として表示されます。リーフ PC だけが収集
されて、CPU およびスレッド ID は記録されず、タイムスタンプも
記録されません。データは、GUI プログラム (analyzer) またはコ
マンド行 (er_print) のどちらでも検査できます。
target は、パフォーマンスデータを収集する実行可能ファイル の
パ ス名です。er_bit コマンドのターゲットにするプログラムは、
-xO1 以上の任意の最適化レベルでコンパイルできますが、必ず -
xbinopt=prepare を 付けてコンパイルしてください。注釈付きの
ソースを表示するには、-g を付けてターゲットをコンパイル し、
ストリップしてはいけません。
作成したバイナリには bit を使用して計測機構を組み込み、生 成
さ れた計測機構付きのバイナリ (例: target.binstr) は通常の作
業負荷で実行します。この実行によって、実験の作成用に er_bit
が使用する計測機構 datafile が作成されます。通常、両方の手順
とも bit -collect によって達成されます。
bit に -er オプションが指定された場合、bit は最初の 形 式 で
er_bit を呼び出します。この er_bit が postopt を呼び出して一
時 bit-snap-file を作成し、さらにそれらのファイルを使用し て
実験を作成します。2 番目の形式は多くの場合デバッグ用に使用さ
れます。この形式では、 er_bit -vv -keeptmp -er*の以前の呼 び
出しで作成された bit-snap-file が使用されます。
オプション
引数なしで呼び出された場合は、使用法を表示します。
experiment_args
-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 ロードオブジェクトを実験にアーカイブします。
off ロードオブジェクトを実験にアーカイブ し ま せ
ん。
copy ロードオブジェクトを実験にコピーしてアーカ イ
ブします。
別のマシンに実験をコピーするか、別のマシンにある実験 を
読み取る場合は、 -A copy を指定してください。この値を指
定することによってソースやオブジェクトファイルがコ ピー
さ れることはありません。ユーザーが自分で、実験のコピー
先のマシンでそれらのファイルに確実にアクセスできるよ う
にします。
-V 現在のバージョンを出力します。これよりあとの引数の検 査
および処理は行われません。
-v 現在のバージョンと、生成する実験に関する詳細情報を出 力
します。
debug_args
-vv er_bit 処理に関する詳細情報を出力します。
-keeptmp
一時ファイルを削除しません。
-Yo,path
path を使用して postopt を検索します。
bat_args
bat (バイナリアナライザ) 引数はすべて、postopt を呼び出す と
きに er_bit によって渡されます。 bit(1) のマニュアルページの
「バイナリアナライザ」セクションを参照してください。任意のバ
イナリアナライザ引数が使用可能で、その引数に応じて適切な報告
が生成されますが、-er 引数は er_bit 専用です。
-er* 実験を作成するには、-er から始まる bit 引数を少なくとも
1 つ 指定します。er_bit を使用する場合、-er bit 引数の
=<ファイル名> 接尾辞は省略できます。er_bit は必要な一時
ファイル名を作成し、そのファイル名を bit に渡します。こ
れらのオプションの詳細については、 bit(1) を参照して く
ださい。
記録データ
プログラム全体のメトリック
ハードウェアカウンタオーバーフロープロファイル
カウントデータは、ハードウェアカウンタオーバーフロー プ
ロ ファ イ ルレコードとして記録されます。このデータには
CPU ID、スレッド ID、LWP ID は含まれません。すべての ス
レッ ドと CPU にわたるデータが集計されます。er_bit が生
成するレコードの呼び出しスタックにはリーフ PC が 1 つあ
るだけで、PC は計測機構のないターゲットを意味します。タ
イムスタンプには意味はありません。
生成されるカウンタは、bit に渡される引数に依存しま す。
フィ ルタオプションによって使用可能なカウンタ情報につい
ては、 bit(1) を参照してください。
命令頻度メトリック
er_bit 実験には、実行時のさまざまな命令の実行頻度を表す
概要データが含まれます。このデータは、er_print の ifreq
コマンドに対する応答として表示され、アナ ラ イ ザ で は
「Inst.Freq.」タブに表示されます。
関連項目
analyzer(1)、 bit(1)、 collect(1)、 er_archive(1)、
er_cp(1)、 er_export(1)、 er_mv(1)、 er_print(1)、
er_rm(1)、 er_src(1)、および 『プログラムのパフォーマンス 解
析』