|Title||Redesigning PAPI’s High-Level API|
|Publication Type||Tech Report|
|Year of Publication||2020|
|Technical Report Series Title||Innovative Computing Laboratory Technical Report|
|Institution||University of Tennessee|
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.
Redesigning PAPI’s High-Level API
External Publication Flag: