A Performance Counters Library for Intel/AMD Processors and Linux

A Tour by Examples

Jump to the first introduction of a topic, from the links below.
Download the entire library and all the examples.
Return to the Introduction.

Note that most of these items, such as pmc_lib.h, have an underscore in the name that may be obscured by a link's underline.

The library's principal data types to be understood are

pmc_control_t complete description of a measurement experiment
pmc_event_set_t event codes for concurrent measurement
pmc_data_t raw cycle and event counter readings
pmc_counter_t elapsed time and accumulated event counts
components of pmc_data_t
components of pmc_counter_t

The library's principal functions are

pmc_getargs() read command-line options
acquire and release the hardware counters
pmc_start() mark the start of the experiment
pmc_select() select the events for the hardware counters
pmc_read() read the counters
pmc_counter_init() initialize an accumulator
pmc_accumulate() accumulate the counters from a time interval
pmc_print_results() report the results

To take the tour of rabbit, start with the command-line option syntax, and select from the option descriptions as needed. Examples are included with the descriptions. For a progressively more detailed tour of the PMC library, start with pmc_lib.h, and follow the sequence of examples.

Download the entire library and all the examples (ftp a gzip'ed tar file) The complete list of library include files The complete list of library source code files -- The complete list of support scripts and input files --
Performance-Monitoring Counters Library, for Intel/AMD Processors and Linux
Author: Don Heller, dheller@scl.ameslab.gov
Last revised: 5 October 2001