New Webpage at RWTH Aachen

It’s a pleasure to announce that RWTH Aachen now hosts MUST and leads its future development in a joint effort with Technische Universität Dresden and the Lawrence Livermore National Laboratories. The new webpage for MUST is:

Additionally, we are pleased to provide you the 1.3 releases of MUST and GTI on this page. This new release brings the full feature set of MUST towards scalability. We successfully ran full runtime deadlock detection along with other powerful checks with up to 16,384 processes. This capability provides a whole new scalability level to runtime MPI correctness tools.


MUST detects usage errors of the Message Passing Interface (MPI) and reports them to the user. As MPI calls are complex and usage errors common, this functionality is extremely helpful for application developers that want to develop correct MPI applications. This includes errors that already manifest --segmentation faults or incorrect results -- as well as many errors that are not visible to the application developer or do not manifest on a certain system or MPI implementation.

To detect errors, MUST intercepts the MPI calls that are issued by the target application and evaluates their arguments. The two main usage scenarios for MUST arise during application development and when porting an existing application to a new system. When a developer adds new MPI communication calls, MUST can detect newly introduced errors, especially also some that may not manifest in an application crash. Further, before porting an application to a new system, MUST can detect violations to the MPI standard that might manifest on the target system. MUST reports errors in a log file that can be investigated once the execution of the target executable finishes.

MUST currently provides correctness checks for the following classes of errors:

  • Constants and integer values
  • Communicator usage
  • Datatype usage
  • Group usage
  • Operation usage
  • Request usage
  • Leak checks (MPI resources not freed before calling MPI Finalize)
  • Type mis-matches
  • Overlapping buffers passed to MPI
  • Deadlocks resulting from MPI calls

Release of MUST version 1.2.0 (December 2012):

Release of MUST version 1.1.0 (April 2012):

Release of MUST version 1.0.0 (Nov 2011):