Skip to main content
⚠ INFORMATION
This page was translated by an AI (LLM) with a cursory human check and is awaiting full review.

MUST

Description

MUST is a tool that detects errors in the use of the MPI library during the execution of a program.

Usage

The module command provides access to the various versions of MUST:

$ module av must
must/1.6-mpi

To use this version 1.6-mpi, simply use the following command:

$ module load must/1.6-mpi

Once the module is loaded, using MUST involves two steps:

  • Running your program with mustrun;
  • Viewing the diagnostics.

Execution

Execution can be done either interactively or in batch mode, using the mustrun command:

$ module load must/1.6-mpi
$ mustrun --must:mpiexec srun --must:np -n -n 5 my_exe

Note that the overhead of MUST on execution time can be very significant: by adding the --must:nocrash option, this overhead becomes low, but this option does not work if the program stops abruptly.

Attention

MUST uses an additional MPI process to observe the MPI behaviour of the program. It is therefore necessary to reserve one additional task (i.e. 1 additional CPU) in the SLURM script.

Viewing Results

MUST writes an HTML file MUST_output.html at the end of the program execution. This file can be viewed using any web browser.

Documentation

  • MUST documentation

Your opinion matters!

To give your feedback, report an error, or suggest an improvement, click here:

quick anonymous questionnaire

This questionnaire is temporary and will take less than a minute, so take the opportunity!