Jean Zay : exécution MPMD d'un couplage de codes en batch

Le modèle d’exécution MPMD (Multiple Program Multiple Data) est supporté sur Jean Zay. Différents exécutables sont lancés et communiquent entre eux en utilisant MPI ; tous les processus MPI sont inclus au sein du même communicateur MPI_COMM_WORLD.

Ce modèle d'exécution est réalisé à l'aide d'un fichier texte (nommé ici mpmd.conf) qui contient le mapping entre les processus MPI et les exécutables. L'option –multi-prog de la commande srun doit être spécifiée dans le script de soumission:

$ srun --multi-prog ./mpmd.conf

Couplage MPMD de codes MPI

A titre d'exemple, voici un fichier de configuration qui réalise le couplage de 3 codes MPI avec un total de 8 processus MPI générés :

mpmd.conf
0     ./a.out
1-3,7 ./b.out
4-6   ./c.out
  • le processus MPI de rang 0 est issu de l'exécutable ./a.out,
  • les 4 processus MPI de rang 1 à 3 et 7 sont issus de ./b.out,
  • les 3 processus MPI de rang 4 à 6 sont issus de ./c.out.

Le reste du script de soumission est identique à celui décrit pour l'exécution d'un code parallèle MPI en batch mais en prenant soin de réserver 8 cœurs.