HP Caliper User Guide Release 5.5 (5900-2351, August 2012)

Table 10 Information in branch Measurement Reports (continued)
DescriptionColumn
The column contains one of these:Line |
Slot |
Col,Offset
A source-code line number for rows showing statements
An instruction slot number for rows showing instructions not on a bundle boundary
A source-code column number followed by an offset from the beginning address of a function
for rows showing instructions on a bundle boundary
Column and line numbers are preceded by “~” when they are approximate due to optimization.
The column contains either a source statement preceded by “>” or a disassembled instruction.
Statements that are out of order due to optimization are preceded by “*>”.
>Statement |
Instruction
How branch Metrics Are Obtained
HP Caliper obtains branch metrics from the processor's performance monitoring unit (PMU).
Exact counts are obtained from the PMU's set of performance monitor configuration
(PMC)/performance monitor data (PMD) register pairs. Sampled branch prediction metrics are
obtained from the PMU's branch trace buffer (BTB)/execution trace buffer (ETB).
HP Caliper takes samples every Nth branch event, where N is defined in the branch measurement
configuration file in the HP Caliper home directory config subdirectory. At each sample point,
HP Caliper records branch metrics from the BTB/ETB. You can override the value in the measurement
configuration file by using the -s option.
HP Caliper reports each branch prediction metric at the lowest granularity available from the
BTB/ETB. The branch direction outcome and branch prediction information is available at the
granularity of each of the four possible branch ways (taking the branch in slot 0, slot 1, or slot 2,
or falling through to the next bundle). The property of being a branch target is only relevant at the
granularity of a bundle.
cgprof Report Description
Available only on HP-UX.
With the cgprof measurement, produced by the cgprof measurement configuration file, HP Caliper
measures and reports both flat and call graph profiles (much like standard gprof).
The HP Caliper gprof-like report includes these results:
Total execution times for each function in the program
Call counts for each function in the program
Cycle information, member functions, time and call counts
Most likely hot call paths in the program
Example Command Line for Text Report
$ caliper cgprof -o reports/cgprof.txt ./wordplay thequickbrownfox
Example Command Line for CSV Report
$ caliper cgprof --csv csvout ./wordplay thequickbrownfox
HP Caliper Call Graph Profile Results Accuracy
The HP Caliper call graph profile report directly measures call graph data. The number of calls
are derived by counting, not sampling. They are completely accurate and will not vary from run
to run if your program is deterministic.
The HP Caliper call graph profile report's sampling of IP data is statistical, so you should expect
a small variation (less than +/- 5%) in the timing data that HP Caliper collects for different runs of
your application.
178 Descriptions of Measurement Reports