mpi
Ceci est une ancienne révision du document !
Programmation en C avec MPI
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.1526380316.txt.gz · Dernière modification : 2018/10/11 22:49 (modification externe)