spot_diff [-h -V] [-a -c -f -q -s] [-d directory name ] [-e experiment name ] [-o file name ]
spot_diff コマンドは、ユーザーの選択した spot 実験による出力を読み取り、動的にソート可能なテーブルに、実験ごとに重要なメトリックを一覧表示し比較する HTML ドキュメントを作成します。パフォーマンス関連の問題の可能性に注意を向けるため、設定されたしきい値を超える差は強調表示されます。システムのインストール済みソフトウェア、マイクロプロセッサのデバッグ機能、spot 実験を実行したユーザーの権限に応じて、spot_diff レポートの次のセクションが表示されます。
この表には、経過/ユーザー/システム時間、命令数、IPC、帯域幅データ (使用可能な場合)、メモリー使用状況、およびマシン名が示されます。
ripc からの汎用ストール情報には通常、「D キャッシュ」、「E キャッシュ」、「FPU 使用」、「IU 使用」、「命令発行」、「RAW ミス」、および「ストアキュー」の派生メトリックが含まれます。
命令頻度データが spot で収集された場合、上位の opcode 数の表が出力されます。
この表には、各コンパイラで使用されるコンパイルフラグが一覧表示されます (cc、CC、f90 など)。特定のコンパイラを呼び出したときに一度も使用されなかったフラグは、赤色の太字テキストで強調表示されます。
実験間の大きな差異を示す最上位の OS トラップが一覧表示されます。
選択した各実験での排他的なユーザー時間がもっとも高い関数が、この表に英数字順で示されます。
引数を指定せずに呼び出された場合、現在のディレクトリでのすべての有効な spot 実験が比較され、出力は ./spot_diff.html のファイルに書き込まれます。
次のオプションがサポートされています。
主要メトリック表および関数プロファイル表の最後の列は、各行の値の平均です。
HTML 出力に加え、spot_diff.csv スプレッドシートを現在のディレクトリに生成します。ファイル名は -o フラグで変更できます。
指定のディレクトリでの有効なすべての spot 実験が比較されます。複数の -d フラグを指定できます。デフォルトは現在のディレクトリです。
spot_diff の比較に含める実験のディレクトリ名を指定します。複数の -e フラグを使用でき、-d を指定して使用することも指定せずに使用することもできます。
高速実行 (フラグおよびトラップレポートは生成されません)。
ヘルプ情報を出力します。
デフォルトは現在のディレクトリ内の spot_diff.[html|csv] です。適切な拡張子 (.html または .csv) が自動的に追加されます。絶対パスを指定して、出力の場所を変更できます。
非表示実行 (STDOUT メッセージの抑制)。
幅の狭い列に収まるように、HTML レポートでの長い名前を切り取ります (折り返しの反対)。たとえば、abcdefghijk は abc..hijk になり、デフォルトの abcdefghi<break>jk と異なります。
バージョン情報を出力します。
次のディレクトリ構造を考えてみます。
/tmp/d1/exp1 /tmp/d1/exp2 /tmp/d2/exp1
次の 3 つの呼び出しは、/tmp/d1 のすべての実験を比較します。
1) cd /tmp/d1; spot_diff 2) spot_diff -d /tmp/d1 3) spot_diff -e /tmp/d1/exp1 -e /tmp/d1/exp2
次の 2 つの呼び出しは、/tmp の 3 つの実験すべてを比較します。
1) spot_diff -d /tmp/d1 -e /tmp/d2/exp1 2) spot_diff -e /tmp/d1/exp1 -e /tmp/d1/exp2 -e /tmp/d2/exp1
/tmp/d1/exp1 と /tmp/d2/exp1 の実験だけを比較する唯一の呼び出しは次のとおりです。
spot_diff -e /tmp/d1/exp1 -e /tmp/d2/exp1
spot (1) , er_html (1) , ripc (1)
Spot ユーザーズガイドのマニュアル