Jean Zay : MUST

Description

MUST est un outil qui détecte les erreurs d'utilisation de la bibliothèque MPI lors de l'exécution d'un programme.

Utilisation

La commande module permet d'accéder aux diverses versions de MUST :

$ module av must
  must/1.6-mpi

Pour utiliser cette version 1.6-mpi, il suffit d'utiliser la commande suivante :

$ module load must/1.6-mpi

Une fois le module chargé, l'utilisation de MUST se fait en deux étapes :

  1. Exécution de votre programme avec mustrun;
  2. Visualisation des diagnostiques.

Exécution

L'exécution s'effectue soit de manière interactive soit en batch, via la commande mustrun :

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

Notez que le surcoût de MUST sur le temps d’exécution peut être très important : en ajoutant l'option –must:nocrash ce surcoût devient faible, mais cette option ne fonctionne pas si le programme s'arrête brutalement.

Attention : MUST utilise un processus MPI en plus pour observer le comportement MPI du programme. Il est donc nécessaire de réserver une tache de plus (i.e. CPU) dans le script slurm.

Visualisation des résultats

MUST écrit un fichier au format HTML MUST_output.html à la fin de l'exécution du programme. Ce fichier peut être consulté via n'importe quel navigateur Web.

Documentation

  • La documentation de MUST