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 22:49 (modification externe)