spot_diff - compare the output of two or more spot runs and
write results to a HTML file to be viewed in a browser.
spot_diff [-h -V] [-a -c -f -q -s] [-d directory name ] [-e
experiment name ] [-o file name ]
The spot_diff command reads the output from user-selected
spot experiments and creates a HTML document that lists and
compares important metrics for each experiment in dynami-
cally sortable tables. Differences exceeding set thresholds
are highlighted to bring attention to possible performance-
related problems. The following sections of a spot_diff
report may appear depending on a system's installed
software, a microprocessor's debug features, and privileges
of the user that ran the spot experiments:
Key Experiment Metrics: This table includes
elapsed/user/system time, instruction count, IPC,
bandwidth data (if available), memory use and machine
Top Stalls: Generic stall information from ripc typi-
cally includes the derived metrics "D-Cache", "E-
Cache", "FPU use", "IU use", "Instruction Issue", "RAW
Miss" and "Store Queue".
BIT Instruction Counts: If instruction frequency data
was gathered by spot, a table of top opcode counts is
Flags report: This table lists compilation flags used
with each compiler (e.g. cc, CC, f90). Flags that were
not used in every invocation of a particular compiler
appear highlighted in bold red text.
Traps: Top OS traps that show large variance between
experiments are listed.
Time Spent in Top Functions: The functions with
highest exclusive user time in each selected experiment
appear in this table in alphanumeric order.
If invoked with no arguments, all valid spot experiments in
the current directory will be compared and output will be
written to the file ./spot_diff.html.
The following options are supported:
-a The last column in the Key Metrics and Function Pro-
files tables will be an average of the values in each
-c Generate spot_diff.csv spreadsheet in current directory
in addition to the HTML output. The file name may be
changed with the -o flag.
Every valid spot experiment in the specified directory
will be compared. Multiple -d flags are allowed.
Default is current directory.
-e experiment name
Specifies an experiment's directory name to include in
the spot_diff comparison. Multiple -e flags are
allowed and can be used with or without -d.
-f Fast run (flags and traps reports are not generated).
-h Print help information.
-o output file name
Default is spot_diff.[html|csv] in current directory.
The proper extension (.html or .csv) will be added
automatically. Absolute paths may be given to change
the location of the output.
-q Quiet run (STDOUT messages suppressed).
-s Snip (as opposed to wrap) long names in the HTML report
to fit in narrow columns Ex.: abcdefghijk becomes
abc..hijk as opposed to the default abcdefghi<break>jk
-V Print version information.
Consider the following directory structure:
The following three invocations compare all experiments in
1) cd /tmp/d1; spot_diff
2) spot_diff -d /tmp/d1
3) spot_diff -e /tmp/d1/exp1 -e /tmp/d1/exp2
The following two invocations compare all three experiments
1) spot_diff -d /tmp/d1 -e /tmp/d2/exp1
2) spot_diff -e /tmp/d1/exp1 -e /tmp/d1/exp2 -e
The only invocation that compares just the experiments
/tmp/d1/exp1 and /tmp/d2/exp1 is:
spot_diff -e /tmp/d1/exp1 -e /tmp/d2/exp1
spot(1), er_html(1), ripc(1), and the Spot User's Guide