The range of OpenMP features increases continuously to address developments in parallel computer architectures and to improve expressiveness. As a consequence, also the complexity of OpenMP applications increases and thus applications tend to be more error-prone. While correctness checking tools for data race detections exist, tools for the validation of recent OpenMP features are rare. We will present a generic and formal OpenMP epoch model as a basis for correctness checking tools to determine the happens-before relations for different OpenMP constructs in order to detect a wide class of errors. This model is based on information directly delivered by an instrumented OpenMP runtime with low overhead. Thus, scalable tools based on our model can be developed, taking the OpenMP memory model into account.
['Tim Cramer', 'Simon Schwitanski', 'Felix Münchhalfen', 'Christian Terboven', 'Matthias Müller']
An OpenMP Epoch Model for Correctness Checking