TY - GEN
T1 - Open source task profiling by extending the OpenMP runtime API
AU - Qawasmeh, Ahmad
AU - Malik, Abid
AU - Chapman, Barbara
AU - Huck, Kevin
AU - Malony, Allen
PY - 2013
Y1 - 2013
N2 - The introduction of tasks in the OpenMP programming model brings a new level of parallelism. This also creates new challenges with respect to its meanings and applicability through an event-based performance profiling. The OpenMP Architecture Review Board (ARB) has approved an interface specification known as the "OpenMP Runtime API for Profiling" to enable performance tools to collect performance data for OpenMP programs. In this paper, we propose new extensions to the OpenMP Runtime API for profiling task level parallelism. We present an efficient method to distinguish individual task instances in order to track their associated events at the micro level. We implement the proposed extensions in the OpenUH compiler which is an open-source OpenMP compiler. With negligible overheads, we are able to capture important events like task creation, execution, suspension, and exiting. These events help in identifying overheads associated with the OpenMP tasking model, e.g., task waiting until a task starts execution or task cleanup etc. These events also help in constructing important parent-child relationships that define tasks' call paths. The proposed extensions are in line with the newest specifications recently proposed by the OpenMP tools committee for task profiling.
AB - The introduction of tasks in the OpenMP programming model brings a new level of parallelism. This also creates new challenges with respect to its meanings and applicability through an event-based performance profiling. The OpenMP Architecture Review Board (ARB) has approved an interface specification known as the "OpenMP Runtime API for Profiling" to enable performance tools to collect performance data for OpenMP programs. In this paper, we propose new extensions to the OpenMP Runtime API for profiling task level parallelism. We present an efficient method to distinguish individual task instances in order to track their associated events at the micro level. We implement the proposed extensions in the OpenUH compiler which is an open-source OpenMP compiler. With negligible overheads, we are able to capture important events like task creation, execution, suspension, and exiting. These events help in identifying overheads associated with the OpenMP tasking model, e.g., task waiting until a task starts execution or task cleanup etc. These events also help in constructing important parent-child relationships that define tasks' call paths. The proposed extensions are in line with the newest specifications recently proposed by the OpenMP tools committee for task profiling.
KW - Open-Source Implementation
KW - OpenMP
KW - OpenMP Runtime API for Profiling
KW - OpenMP Tasks
UR - https://www.scopus.com/pages/publications/84883269759
U2 - 10.1007/978-3-642-40698-0_14
DO - 10.1007/978-3-642-40698-0_14
M3 - Conference contribution
AN - SCOPUS:84883269759
SN - 9783642406973
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 186
EP - 199
BT - OpenMP in the Era of Low Power Devices and Accelerators - 9th International Workshop on OpenMP, IWOMP 2013, Proceedings
T2 - 9th International Workshop on OpenMP in the Era of Low Power Devices and Accelerators, IWOMP 2013
Y2 - 16 September 2013 through 18 September 2013
ER -