Accurate and Complete Hardware Profiling for OpenMP

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Analyzing the behavior of OpenMP programs and their interaction with the hardware is essential for locating performance bottlenecks and identifying performance optimization opportunities. However, current architectures only provide a small number of dedicated registers to quantify hardware events, which strongly limits the scope of performance analyses. Hardware event multiplexing can help cover more events, but incurs a significant loss of accuracy and introduces overheads that change the behavior of program execution significantly. In this paper, we present an implementation of our technique for building a unique, coherent profile that contains all available hardware events from multiple executions of the same OpenMP program, each monitoring only a subset of the available hardware events. Reconciliation of the execution profiles relies on a new labeling scheme for OpenMP that uniquely identifies each dynamic unit of work across executions under dynamic scheduling across processing units. We show that our approach yields significantly better accuracy and lower monitoring overhead per execution than hardware event multiplexing.

Bibliographical metadata

Original languageEnglish
Title of host publicationProceedings of the 13th International Workshop on OpenMP
Subtitle of host publicationScaling OpenMP for Exascale Performance and Portability
PublisherSpringer
StateAccepted/In press - 26 May 2017
Event13th International Workshop on OpenMP - Stony Brook, United States

Publication series

NameLecture Notes in Computer Science (LNCS)

Conference

Conference13th International Workshop on OpenMP
Abbreviated titleIWOMP
CountryUnited States
CityStony Brook
Period18/09/1722/09/17
Internet address