Classification of Common Errors in OpenMP Applications

With the increased core count in current HPC systems, node level parallelization has become more important even on distributed memory systems. The evolution of HPC therefore requires programming models to be capable of not only reacting to errors, but also resolving them. We derive a classification...

Full description

Saved in:
Bibliographic Details
Published inUsing and Improving OpenMP for Devices, Tasks, and More pp. 58 - 72
Main Authors Münchhalfen, Jan Felix, Hilbrich, Tobias, Protze, Joachim, Terboven, Christian, Müller, Matthias S.
Format Book Chapter
LanguageEnglish
Published Cham Springer International Publishing
SeriesLecture Notes in Computer Science
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:With the increased core count in current HPC systems, node level parallelization has become more important even on distributed memory systems. The evolution of HPC therefore requires programming models to be capable of not only reacting to errors, but also resolving them. We derive a classification of common OpenMP usage errors and evaluate them in terms of automatic detection by correctness-checking tools, the OpenMP runtime and debuggers. After a short overview of the new features that were introduced in the OpenMP 4.0 standard, we discuss in more detail individual error cases that emerged due to the task construct of OpenMP 3.0 and the target construct of OpenMP 4.0. We further propose a default behavior to resolve the situation if the runtime is capable of handling the usage error. Besides the specific cases of error we discuss in this work, others can be distinctly integrated into our classification.
ISBN:9783319114538
3319114530
ISSN:0302-9743
1611-3349
DOI:10.1007/978-3-319-11454-5_5