ICL Research Profile

PAPI

Overview

The Performance Application Programming Interface (PAPI) supplies a consistent interface and methodology for collecting performance counter information from various hardware and software components, including most major CPUs, GPUs and accelerators, interconnects, I/O systems, and power interfaces, as well as virtual cloud environments. Industry liaisons with AMD, Cray, Intel, IBM, NVIDIA, and others ensure seamless integration of PAPI with new architectures at or near their release. As the PAPI component architecture becomes more populated, performance tools that interface with PAPI automatically inherit the ability to measure these new data sources.

In 2020, ICL and collaborators at the University of Maine worked on PAPI-Ex to build support for performance counters available in the latest generations of CPUs and GPUs (NVIDIA and AMD), develop support for system-wide hardware performance counter monitoring, and strengthen the sampling interface in PAPI. PAPI 6.0 was released on March 4, 2020. This release includes a new API for SDEs, a major revision of the “high-level API,” and several new components, including ROCM and ROCM_SMI (for AMD GPUs), powercap_ppc and sensors_ppc (for IBM Power9 and later), SDE, and the I/O component (exposes I/O statistics exported by the Linux kernel). PAPI 6.0 also ships with a new Counter Analysis Toolkit (CAT) that assists with native performance counter disambiguation through micro-benchmarks.

Find out more at http://icl.utk.edu/papi/

In Collaboration With

  1. Texas A&M University
  2. University of Maine
  3. Virginia Tech

Sponsored by

  1. National Science Foundation

With Support From

  1. AMD
  2. Cray
  3. IBM
  4. Intel
  5. NVIDIA

Project Handout