More frequent sampling increases HP Caliper's perturbation of your application. In the extreme case of taking one sample for each TLB miss event, the kernel will trap on every event, making the resulting data of limited value.

ecount Measurement Report Description

With the ecount measurement, produced by the ecount measurement configuration file, HP Caliper measures and reports total counts of processor metrics accumulated during an application's execution under HP Caliper control. These metrics are collected using the processor's performance monitoring unit (PMU).

The number of metrics HP Caliper can accumulate during a single run of your application is limited to four by PMU constraints. The processor metrics you can choose from are listed in the file itanium2_cpu_counters.txt, located in the HP Caliper home directory in the doc/text subdirectory.

By default, the ecount measurement is set up for recording processor events needed for calculating cycles per instruction (CPI). If you do not change the default processor events, HP Caliper reports CPI as well as event counts.

Example Command Line for Text Report

$ caliper ecount -o reports/ecount.txt ./wordplay thequickbrownfox

Example Command Line for CSV Report

$ caliper ecount --csv reports/csvout ./wordplay thequickbrownfox

ecount Metrics Summed for Entire Run

This section describes the metrics summed over the entire run of your application under HP Caliper.

Metrics for Integrity Servers Itanium 2 Systems

The following CPU events are directly measured:

IA64_INST_RETIRED — Number of retired IA-64 instructions. The count includes all predicated on instructions and nops, but excludes hardware-inserted RSE operations.

NOPS_RETIRED — Number of retired nop.i, nop.m, or nop.b instructions. The count excludes predicated off nop instructions.

CPU_CYCLES — Number of elapsed processor cycles.

BACK_END_BUBBLE.ALL — Number of cycles when the backend of the pipeline was stalled.

% of Cycles Lost Due to Stalls — Percentage of stall cycles with respect to total number of elapsed cycles. This is calculated as the following: 100 * BACK_END_BUBBLE.ALL /

CPU_CYCLES.

Effective CPI — Cycles per effective instruction, excluding nop instructions. This is calculated as the following: CPU_CYCLES / (IA64_INST_RETIRED - NOPS_RETIRED).

Effective CPI During Unstalled Execution — Cycles per effective instruction, excluding stall cycles and nop instructions. This is calculated as the following: (CPU_CYCLES - BACK_END_BUBBLE.ALL) / (IA64_INST_RETIRED - NOPS_RETIRED).

Metrics for Integrity Servers Dual-Core Itanium 2 and Itanium 9300 Quad-Core Processor Systems

The following CPU events are directly measured:

BACK_END_BUBBLE.ALL — The number of cycles when the backend of the pipeline was stalled. This is the number of cycles lost (stall cycles) due to any of five possible events (FPU/L1D, RSE, EXE, branch/exception, or the frontend).

BE_EXE_BUBBLE.GRALL — The number of Full Pipe Bubbles in Main Pipe due to GR/GR or GR/load dependency stalls. This is the number of cycles lost (stall cycles) due to GR/GR or GR/load dependency.

206 Descriptions of Measurement Reports