Outils pour utilisateurs

Outils du site


mpi

Ceci est une ancienne révision du document !


Programmation en C avec MPI

Exemple de code C utilisant MPI

Un petit exemple est disponible ici

Script pour lancer un programme MPI sur un noeud

SLURM est fait pour fonctionner avec MPI. Par défaut, il lancera autant de processus que de cœurs disponibles.

Remarque : On peut utiliser l'option bind-to-core de mpirun pour attacher les processus MPI sur les cœurs.

#!/bin/bash
 
# ============= options de sbatch (ici réservation de 32 cores)==================
#SBATCH --ntasks=32            # 32 tasks car 32 processus en parallèle
#SBATCH --ntasks-per-core=1    # on met une seule task par CPU
 
# =====================ligne de commande ==================================
mpirun ./exe

Script pour lancer un programme MPI en parallèle sur plusieurs noeuds

#!/bin/bash
#SBATCH --ntasks=16
#SBATCH --ntasks-per-core=1
#SBATCH --job-name=testMPI
#SBATCH --nodelist=node22,node23,node24,node25
 
 
#le fichier machine contient la liste des machines à utiliser
#elle doit être la même que celle définie par nodelist 
mpiexec -machinefile machine ./hello
 
#REMARQUE 1 : ntasks doit être exactement égal au nb de threads désirés qui doit être égal au nombre de slots
#total défini dans le fichier machine
 
#REMARQUE 2 : tous les noeuds surlesquels vont s'exécuter le programme doivent faire partie de la même partition
mpi.1526380488.txt.gz · Dernière modification : 2018/10/11 20:49 (modification externe)