Redesigning PAPI's High-Level API

TitleRedesigning PAPI's High-Level API
Publication TypeTech Report
Year of Publication2020
AuthorsWinkler, F.
Technical Report Series TitleInnovative Computing Laboratory Technical Report
NumberICL-UT-20-03
Date Published2020-02
InstitutionUniversity of Tennessee
Abstract

PAPI (Performance Application Programming Interface) provides a portable and efficient API to access the hardware performance counters found on modern microprocessors. With the introduction of Component PAPI or PAPI-C in early 2010 PAPI has extended its reach beyond the CPU and can now monitor system information across a range of components from CPUs to network cards, graphics accelerator cards, parallel file systems and more. To collect performance events, PAPI provides two APIs, the low-level and high-level API. The legacy high-level API was designed for simplicity, but could only handle preset CPU events. To access events from all installed components, the programmer had to use the low-level API. This paper introduces a new high-level API that enables the measurement of both preset and native events. It is intended for programmers who want to perform simple event measurements with minimal code instrumentation.

Project Tags: 
External Publication Flag: