~~SLIDESHOW yatil~~ ====== Slurm et MPI ====== Cet article donne des indications sur l'utilisation de programmes MPI avec l'ordonnanceur Slurm. ===== Avant-propos ===== Un programme //MPI// est un programme parallèle, composé de plusieurs processus distincts. Ces processus peuvent être localisés sur un seul nœud, ou répartis sur plusieurs. Un programme MPI pourra dans ce cas exploiter pleinement, à grande échelle, la puissance de calcul offerte par un cluster tel que CALI. Il est écrit avec une librairie MPI. MPI signifie //Message Passing Interface//, c'est une norme facilitant l'écriture de programmes parallèles. ===== Fichier Batch ===== Exemple de fichiers batch slurm adapté pour un programme compilé avec la librairie Intel MPI : #!/bin/bash #SBATCH --partition=rapide #SBATCH --ntasks=32 #SBATCH --mem-per-cpu=200 #SBATCH --time=00:30:00 srun ./mon_programme ==== Options Slurm ==== * L'option ''%%--%%ntasks'' indique le nombre de processus (tâches) à lancer, ici 32 tâches MPI ==== Lancement du programme ==== * Le programme parallèle doit être exécuté par l'intermédiaire de ''srun'', une commande spéciale de //slurm// qui va "s'occuper de tout" * La librairie Intel MPI est configurée, via son //module//, pour utiliser la librairie PMI (Process Management Interface) de slurm (variable ''I_MPI_PMI_LIBRARY'')