An Operational Semantic Basis for OpenMP Race Analysis
Simone Atzeni, Ganesh Gopalakrishnan

TL;DR
This paper introduces a simple operational semantics for OpenMP that aligns with current runtime events, aiding in the development of reliable race checkers and improving tooling for detecting data races.
Contribution
It provides a rigorous, practical operational semantics for OpenMP that can be directly used for building race detection tools and supporting future language extensions.
Findings
A new data race checker based on the semantics is under development.
The semantics aligns with existing OpenMP runtimes and tracing tools like OMPT.
The semantics can guide future OpenMP extensions and tooling efforts.
Abstract
OpenMP is the de facto standard to exploit the on-node parallelism in new generation supercomputers.Despite its overall ease of use, even expert users are known to create OpenMP programs that harbor concurrency errors, of which one of the most insidious of errors are {\em data races}.OpenMP is also a rapidly evolving standard, which means that future data races may be introduced within unfamiliar contexts.A simple and rigorous operational semantics for OpenMP can help build reliable race checkers and ward off future errors through programmer education and better tooling.This paper's key contribution is a simple operational semantics for OpenMP, with primitive events matching those generated by today's popular OpenMP runtimes and tracing methods such as OMPT.This makes our operational semantics more than a theoretical document for intellectual edification; it can serve as a blueprint for…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Software System Performance and Reliability · Distributed systems and fault tolerance
