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.
Original language | English |
---|---|
Title of host publication | Proceedings of the 13th International Workshop on OpenMP |
Subtitle of host publication | Scaling OpenMP for Exascale Performance and Portability |
Publisher | Springer Nature |
Publication status | Accepted/In press - 26 May 2017 |
Event | 13th International Workshop on OpenMP - Wang Center, Stony Brook University, Stony Brook, United States Duration: 18 Sept 2017 → 22 Sept 2017 Conference number: 13 https://you.stonybrook.edu/iwomp2017/ |
Publication series
Name | Lecture Notes in Computer Science (LNCS) |
---|
Conference
Conference | 13th International Workshop on OpenMP |
---|---|
Abbreviated title | IWOMP |
Country/Territory | United States |
City | Stony Brook |
Period | 18/09/17 → 22/09/17 |
Internet address |
Keywords
- Performance analysis
- Hardware events
- Performance monitoring counters
- OpenMP profiling