Abstract : The OpenMP specification requires that all threads in a team execute the same sequence of worksharing and barrier regions. An improper use of such directive may lead to deadlocks. In this paper we propose a static analysis to ensure this property is verified. The well-defined semantic of OpenMP programs makes compiler analysis more effective. We propose a new compile-time method to identify in OpenMP codes the potential improper uses of barriers and work-sharing constructs, and the execution paths that are responsible for these issues. We implemented our method in a GCC compiler plugin and show the small im-pact of our analysis on performance for NAS-OMP benchmarks and a test case for a production industrial code.
https://hal.archives-ouvertes.fr/hal-01078759
Contributor : Emmanuelle Saillard <>
Submitted on : Thursday, October 30, 2014 - 10:54:01 AM Last modification on : Tuesday, May 14, 2019 - 11:38:11 AM Long-term archiving on: : Monday, February 2, 2015 - 3:53:02 PM