An Automated Approach to Hardware Performance Monitoring Counters

Fernando Gustavo Tinetti, Mariano Méndez · 2014

Program performance optimization could be a very complex process, even with current software development facilities/ tools. An Integrated Development Environment (IDE) usually does not include many aids for optimization and/or performance evaluation. We propose to include performance evaluation through hardware monitoring counters into IDE software. Currently, it is possible to reach hardware monitoring counters via many libraries, and we have also seen that many of those libraries are approximately at the same abstraction level (including the way at which they allow access to the hardware counters). Thus, it is not only possible to include some performance evaluation library into the development process but, also, including specific aids to use some library via configurable/adjustable code snippets. We show, as a proof of concept, an Eclipse plug-in to help High Performance Computing (HPC) programmers to access hardware monitoring event counters using PAPI (Performance API). The plug-in is able to automatically include source code to count specific events available via PAPI in sections of source code defined by the programmer. Also, given that the code is automatically included, it would be also possible to remove that code from the release version (for the production environment).

Read the paper · More papers on PaperTik