ICL Research Profile

PAPI

Overview

The Performance Application Programming Interface (PAPI) is the primary vehicle through which ICL gave performance measurement support to the larger HPC community. PAPI is an ongoing project that 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. Provided as a linkable library or shared object, PAPI can be called directly in a user program or used transparently through a variety of third-party tools, making it a de facto standard for performance counter analysis. Industry liaisons with Bull, Cray, Intel, IBM, NVIDIA, and others ensure seamless integration of PAPI with new architectures at or near their release.

In 2015, ICL, together with the University of Maine, began work on PAPI-EX. The goal of the PAPI-EX project is to build support for performance counters available in recent generations of CPUs and GPUs, develop support for system-wide hardware performance counter monitoring, create a sampling interface in PAPI, and incorporate a user-facing command-line tool for PAPI. PAPI-EX will also incorporate a counter inspection toolkit designed to improve understanding of low-level hardware events. At the end of 2016, ICL/UTK was awarded funding for the ECP EXA-PAPI project, which will augment PAPI-EX.

Find out more at http://icl.eecs.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