IWOMP 2008 START Conference Manager    

Detection of Violations of the MPI Standard in Hybrid OpenMP/MPI Applications

Tobias Hilbrich, Matthias Mueller and Bettina Krammer

International Workshop on OpenMP (IWOMP 2008)
Purdue University, West Lafayette, IN, USA, May 12th - May 14th 2008


Summary

The MPI standard allows the usage of multiple threads per process. The main idea was that an MPI call executed at one thread should not block other threads. In the MPI-2 standard this was refined by introducing the so called level of thread support which describes how threads may interact with MPI. The multi-threaded usage is restricted by severals rules stated in the MPI standard. In this paper we describe the work on an MPI checker called MARMOT to enhance its capabilities towards a verification that ensures that these rules are not violated. A first implementation is capable to detect violations if they actually occur in a run made with MARMOT. As most of these violations occur due to missing thread synchronization it is likely that they don't appear in every run of the application. To detect whether there is a run that violates one of the MPI restrictions it is necessary to analyze the OpenMP usage. Thus we introduced artificial data races races that only occur if the application violates one of the MPI rules. By this design all tools capable to detect data races can also detect violations to some of the MPI rules. To test our approach we used the Intel Thread Checker.


  
START Conference Manager (V2.54.5)