TY - GEN
T1 - OpenMP® runtime instrumentation for optimization
AU - Doodi, Taru
AU - Peyton, Jonathan
AU - Cownie, Jim
AU - Garzaran, Maria
AU - Kalidas, Rubasri
AU - Kim, Jeongnim
AU - Mathuriya, Amrita
AU - Wilmarth, Terry
AU - Zheng, Gengbin
N1 - Acknowledgement. This material is based upon work supported by Subcontract No. B609815 with Argonne National Laboratory and Intel Federal LLC. We thank professor John Mellor-Crummey for his feedback on OMPT and its comparison with TRIO.
PY - 2017
Y1 - 2017
N2 - The OpenMP (The OpenMP name is a registered trademark of the OpenMP Architecture Review Board.) application programming interface provides a simple way for programmers to write parallel programs that are portable between machines and vendors. Programmers parallelize their programs to obtain higher performance, but, as the number of cores per processor increases, taking advantage of parallelism efficiently becomes more difficult. To facilitate efficient parallelization and avoid poor utilization of machine resources, programmers need to know where an application is spending time and what factors hinder scalability. In this paper, we present a Tool for Runtime Instrumentation of OpenMP programs (TRIO) that automatically collects statistics about an application’s use of the OpenMP runtime. TRIO provides statistics such as the total number of times an OpenMP construct is called, the time spent in each OpenMP construct, and the total time spent within the OpenMP runtime. TRIO helps to identify the runtime calls where a program spends most of the time and which constructs are called the most at runtime.
AB - The OpenMP (The OpenMP name is a registered trademark of the OpenMP Architecture Review Board.) application programming interface provides a simple way for programmers to write parallel programs that are portable between machines and vendors. Programmers parallelize their programs to obtain higher performance, but, as the number of cores per processor increases, taking advantage of parallelism efficiently becomes more difficult. To facilitate efficient parallelization and avoid poor utilization of machine resources, programmers need to know where an application is spending time and what factors hinder scalability. In this paper, we present a Tool for Runtime Instrumentation of OpenMP programs (TRIO) that automatically collects statistics about an application’s use of the OpenMP runtime. TRIO provides statistics such as the total number of times an OpenMP construct is called, the time spent in each OpenMP construct, and the total time spent within the OpenMP runtime. TRIO helps to identify the runtime calls where a program spends most of the time and which constructs are called the most at runtime.
KW - OpenMP constructs
KW - Runtime instrumentation
UR - http://www.scopus.com/inward/record.url?scp=85029391932&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85029391932&partnerID=8YFLogxK
U2 - 10.1007/978-3-319-65578-9_19
DO - 10.1007/978-3-319-65578-9_19
M3 - Conference contribution
AN - SCOPUS:85029391932
SN - 9783319655772
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 281
EP - 295
BT - Scaling OpenMP for Exascale Performance and Portability - 13th International Workshop on OpenMP, IWOMP 2017, Proceedings
A2 - de Supinski, Bronis R.
A2 - Chapman, Barbara M.
A2 - Terboven, Christian
A2 - Muller, Matthias S.
A2 - Olivier, Stephen L.
PB - Springer
T2 - 13th International Workshop on OpenMP, IWOMP 2017
Y2 - 20 September 2017 through 22 September 2017
ER -