A Portable Programming Interface for Performance Evaluation on Modern Processors

  • Authors:
  • S. Browne;J. Dongarra;N. Garner;G. Ho;P. Mucci

  • Affiliations:
  • Computer Science Department, University of Tennessee, Knoxville, Tennessee, U.S.A.;Computer Science Department, University of Tennessee, Knoxville, and Oak Ridge Laboratory, Tennessee, U.S.A.;Computer Science Department, University of Tennessee, Knoxville, Tennessee, U.S.A.;Computer Science Department, University of Tennessee, Knoxville, Tennessee, U.S.A.;Computer Science Department, University of Tennessee, Knoxville, Tennessee, U.S.A.

  • Venue:
  • International Journal of High Performance Computing Applications
  • Year:
  • 2000

Quantified Score

Hi-index 0.01

Visualization

Abstract

The purpose of the PAPI project is to specify a standard application programming interface (API) for accessing hardware performance counters available on most modern microprocessors. These counters exist as a small set of registers that count events, which are occurrences of specific signals and states related to the processor's function. Monitoring these events facilitates correlation between the structure of source/object code and the efficiency of the mapping of that code to the underlying architecture. This correlation has a variety of uses in performance analysis, including hand tuning, compiler optimization, debugging, benchmarking, monitoring, and performance modeling. In addition, it is hoped that this information will prove useful in the development of new compilation technology as well as in steering architectural development toward alleviating commonly occurring bottlenecks in high performance computing.