Abstract

Data races are a particularly nefarious type of bugs that can affect the correctness of parallel software. Data races are inherently non-deterministic, making them extremely challenging to detect and fix. High performance computing (HPC) applications are particularly vulnerable to data races as they are generally large complex applications involving massive levels of parallelism. Detecting data races in large scale, complex, and highly parallel applications can be nearly impossible without the help of domain specific race detection tools. We present the OpenRace framework, the only open source project aimed at providing the foundation needed to build a fast and precise static race detection tool for LLVM based languages. OpenRace is designed to be extensible and allow new parallel programming frameworks to be easily modelled without the need to write an entirely custom race detection engine, while also providing the flexibility to model complex domain specific features. We show the core components of the framework, and demonstrate how those components have been used to create a race detection tool for OpenMP. OpenMP is the standard choice for shared memory parallelism in the majority of HPC applications, and involves a number of complex features that can be challenging to model statically. The OpenRace tool has thus far passed 149 of the 172 C/C++ cases in DataRaceBench version 1.3.2, outperforming all dynamic tools and ranking second place overall among the tools with results published by the DataRaceBench authors.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.