Il peut arriver que l’on ai besoin de lier plusieurs exécutables différents au sein d’un unique lancement MPI, de sorte à ce que des processus issus de différents binaires partagent un communicateur commun.
Avec srun
, cela peut être réalisé avec l’option --multi-prog
.
Par exemple, on souhaite lancer un calcul sur un nœud, constitué de 18 processus issus du binaire prog1.exe
et 18 processus issus du binaire prog2.exe
.
Il suffit alors de donner en option à srun
un fichier contenant la liste des couples numéro de tâche MPI - nom de l’exécutable.
Exemple :
Ci-dessous un exemple concret d’utilisation avec le code de calcul NEMO, qui utilise un outil spécifique pour effectuer des entrées/sorties parallèles, XIOS.
On souhaite ici lancer NEMO (nemo.exe
, code de calcul) conjointement avec XIOS (xios_server.exe
, serveur d’IO parallèle), de sorte à ce que l’on ait un seul processus XIOS par nœud, les autres étant des processus NEMO.