MUST – Runtime Error Detection for Parallel Applications


The Marmot Umpire Scalable Tool (MUST) is a runtime error detection tool that automatically detects non-standard compliant use of MPI. MUST attaches to the target application and intercepts its MPI calls. It checks for local and non-local correctness errors, such as errors in point-topoint type matching or deadlocks. It unites the features of Marmot and Umpire while providing drastically increased scalability at the same time and is available as open source.

MUST detects:

  • Invalid arguments
  • Resource usage errors and leaks
  • Actual and potential deadlocks
  • Datatype matching errors
  • Overlaps in communication buffers

Currently MUST provides a rich set of correctness checks where checks are available for large scale runs. Especially, we present a fi rst scalable runtime deadlock detection during ISC. For that we provide an open source base infrastructure called the Generic Tool Infrastructure (GTI). It eases many hurdles in tool development and allows fast and effi cient specifi cation of scalable tools. Furthermore GTI offers modes to finish the runtime analysis while the target application crashes. We also provide GTI as open source.

You will find the source code and dokumention on GTI and MUST in the dokumention portal.