Outils pour utilisateurs

Outils du site


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