MPI correctness checking for OpenMP/MPI applications

  • Authors:
  • Tobias Hilbrich;Matthias S. Müller;Bettina Krammer

  • Affiliations:
  • Center for Information Services and High Performance Computing, Technische Universität Dresden, Dresden, Germany;Center for Information Services and High Performance Computing, Technische Universität Dresden, Dresden, Germany;LRC ITACA, Université de Versailles Saint-Quentin-en-Yvelines, Versailles, France

  • Venue:
  • International Journal of Parallel Programming
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

The MPI interface is the de-facto standard for message passing applications, but it is also complex and defines several usage patterns as erroneous. A current trend is the investigation of hybrid programming techniques that use MPI processes and multiple threads per process. As a result, more and more MPI implementations support multi-threading, which are restricted by several rules of the MPI standard. In order to support developers of hybrid MPI applications, we present extensions to the MPI correctness checking tool Marmot. Basic extensions make it aware of OpenMP multi-threading, while further ones add new correctness checks. As a result, it is possible to detect errors that actually occur in a run with Marmot. However, some errors only occur for certain execution orders, thus, we present a novel approach using artificial data races, which allows us to employ thread checking tools, e.g., Intel Thread Checker, to detect MPI usage errors.