mpi
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| mpi [2018/05/15 12:31] – hetoussa | mpi [2019/06/05 15:37] (Version actuelle) – borlonjo | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| ====== Programmation en C avec MPI ====== | ====== Programmation en C avec MPI ====== | ||
| - | ===== Script pour un programme multi processus à mémoire distribuée | + | ===== Exemple de code C utilisant MPI ===== |
| - | SLURM est fait pour fonctionner avec MPI. Par défaut, il lancera autant de processus que de cœurs | + | Un exemple (très simple) de code C utilisant MPI est disponible [[http:// |
| + | |||
| + | Pour le compiler ajoutez les lignes suivantes dans votre fichier .bashrc | ||
| + | <code bash> | ||
| + | if ! (which mpicc>/ | ||
| + | export PATH=/ | ||
| + | export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/ | ||
| + | fi | ||
| + | </ | ||
| + | |||
| + | Elles permettent de compiler et //linker// avec la bonne version de MPI. | ||
| + | |||
| + | Compilation : <code bash> | ||
| + | |||
| + | |||
| + | ===== Script pour lancer un programme MPI sur un seul noeud ===== | ||
| + | |||
| + | SLURM est fait pour fonctionner avec MPI. Par défaut, il lancera autant de processus que de cœurs | ||
| + | Le script suivant exécute le programme précédent sur un seul noeud : | ||
| - | Remarque : On peut utiliser l' | ||
| <code bash> | <code bash> | ||
| Ligne 11: | Ligne 28: | ||
| # ============= options de sbatch (ici réservation de 32 cores)================== | # ============= options de sbatch (ici réservation de 32 cores)================== | ||
| - | #SBATCH --ntasks=32 | + | #SBATCH --ntasks=32 |
| #SBATCH --ntasks-per-core=1 | #SBATCH --ntasks-per-core=1 | ||
| Ligne 18: | Ligne 35: | ||
| </ | </ | ||
| + | Remarque : On peut utiliser l' | ||
| ===== Script pour lancer un programme MPI en parallèle sur plusieurs noeuds ===== | ===== Script pour lancer un programme MPI en parallèle sur plusieurs noeuds ===== | ||
| + | |||
| + | L' | ||
| + | |||
| + | Les options données à SLURM doivent être cohérentes avec les informations contenues dans le fichier machine. | ||
| <code bash> | <code bash> | ||
| Ligne 37: | Ligne 58: | ||
| #total défini dans le fichier machine | #total défini dans le fichier machine | ||
| - | #REMARQUE 2 : tous les noeuds | + | #REMARQUE 2 : tous les noeuds |
| </ | </ | ||
mpi.1526380290.txt.gz · Dernière modification : 2018/10/11 22:49 (modification externe)