cycles Measurement Metrics

See Table 20 (page 192).

In this table, “program object” refers to any of the following:

Thread

Load module

Function

Source statement

Instruction bundle

Table 20 Information in cycles Measurement Reports

Column

Description

% Total IP Samples

Percent of the total IP samples attributable to a given program object.

(ETB)

 

 

 

Cumulat % of Total

Running sum of the percent of total IP samples accounted for by the given program object and

 

those listed above it.

 

 

IP Samples (ETB)

Total number of IP samples attributed to the given program object.

 

 

Kernel Thread

Kernel Thread ID suffixed with the the name of the routine that the thread will execute once it

Identification Number

is created.

 

 

Load Module

Shared library or the main executable.

 

 

Function

Routine from your application.

 

 

File

Source file associated with a function.

 

 

Cycles Per Bundle

The average number of cycles elapsed to retire the bundle. If there are no stalls, it should take

 

exactly one cycle to retire a bundle. If the Cycles Per Bundle information is more than 1, this

 

means that many additional cycles of stall were seen on that bundle.

 

If the Cycles per Bundle information is prefixed with an asterisk (*), that means that instructions

 

from that bundle are split issued.

 

 

Line

The column contains one of these:

Slot

A source-code line number for rows showing statements

Col,Offset

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.

 

 

>Statement

The column contains either a source statement preceded by “>” or a disassembled instruction.

Instruction

Statements that are out of order due to optimization are preceded by “*>”.

 

 

How cycles Metrics Are Obtained

HP Caliper obtains cycles metrics using the execution trace buffer (ETB) of the performance monitoring unit (PMU). The ETB is configured to capture IPs of retired instructions. When a bundle is retired, the IP address and the number of elapsed cycles to retire the bundle are recorded in the ETB. The dual-core Itanium 2 and Itanium 9300 quad-core processor ETB is a circular buffer and can contain up to 16 entries.

HP Caliper takes samples by using the overflow of one of the PMU's event counters as a sampling trigger. Samples are taken every Nth PMU event, where both N and the sampling event are defined in the cycles measurement configuration file in the HP Caliper home directory in the config subdirectory. You can override the value in the measurement configuration file by using the -soption.

192 Descriptions of Measurement Reports