TY - GEN
T1 - End-user Tools for Application Performance Analysis Using Hardware Counters
AU - London, K.
AU - Dongarra, J.
AU - Moore, S.
AU - Mucci, P.
AU - Seymour, K.
AU - Spencer, T.
N1 - Publisher Copyright:
© (2001) by the International Society for Computers and Their Applications All rights reserved.
PY - 2001
Y1 - 2001
N2 - One purpose of the end-user tools described in this paper is to give users a graphical representation of performance information that has been gathered by instrumenting an application with the PAPI library. PAPI is a project that specifies a standard 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 a 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. The perfometer tool developed by the PAPI project provides a graphical view of this information, allowing users to quickly see where performance bottlenecks are in their application. Only one function call has to be added by the user to their program to take advantage of perfometer. This makes it quick and simple to add and remove instrumentation from a program. Also, perfometer allows users to change the "event" they are monitoring. Add the ability to monitor parallel applications, set alarms and a Java front-end that can ran anywhere, and this gives the user a powerful tool for quickly discovering where and why a bottleneck exists. A number of third-party tools for analyzing performance of message-passing and/or threaded programs have also incorporated support for PAPI so as to be able to display and analyze hardware counter data from their interfaces.
AB - One purpose of the end-user tools described in this paper is to give users a graphical representation of performance information that has been gathered by instrumenting an application with the PAPI library. PAPI is a project that specifies a standard 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 a 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. The perfometer tool developed by the PAPI project provides a graphical view of this information, allowing users to quickly see where performance bottlenecks are in their application. Only one function call has to be added by the user to their program to take advantage of perfometer. This makes it quick and simple to add and remove instrumentation from a program. Also, perfometer allows users to change the "event" they are monitoring. Add the ability to monitor parallel applications, set alarms and a Java front-end that can ran anywhere, and this gives the user a powerful tool for quickly discovering where and why a bottleneck exists. A number of third-party tools for analyzing performance of message-passing and/or threaded programs have also incorporated support for PAPI so as to be able to display and analyze hardware counter data from their interfaces.
UR - https://www.scopus.com/pages/publications/85133141826
M3 - Conference contribution
AN - SCOPUS:85133141826
T3 - 14th International Conference on Parallel and Distributed Computing Systems 2001, PDCS 2001
SP - 460
EP - 465
BT - 14th International Conference on Parallel and Distributed Computing Systems 2001, PDCS 2001
A2 - Sha, Edwin
PB - International Society for Computers and Their Applications (ISCA)
T2 - 14th International Conference on Parallel and Distributed Computing Systems, PDCS 2001
Y2 - 8 August 2001 through 10 August 2001
ER -