Réservation des ressources. Deux exemples: Code MPI avec 5 tâches et 10GB de mémoire; Code Multithreaded avec 5 threads et 10GB de mémoire.
Code MPI. 5 tâches et 10GB de mémoire
Il faut OBLIGATOIREMENT que votre script comporte à minima les informations suivantes (notamment l’allocation mémoire en MB) :
#!/bin/bash#SBATCH -J script_art610#SBATCH -N 1#SBATCH -n 5#SBATCH --ntasks-per-node=5#SBATCH --ntasks-per-core=1#SBATCH --mem=10000#SBATCH --time=01:00:00#SBATCH --mail-user=toto [at] mail [dot] com
Dans cet exemple on réserve 10GB de mémoire sur 1 nœud pour lancer 5 tâches durant 1 heure.
Le paramètre time est optionnel mais très important, si on évalue correctement le temps d’exécution on a des chances de passer plus rapidement
La suite du script, en particulier les options de réservation est inchangée par rapport à ce qui est décrit ici
Code Multithreaded. 5 threads et 10GB de mémoire
Il faut OBLIGATOIREMENT que votre script comporte à minima les informations suivantes (notamment l’allocation mémoire en MB) :
#!/bin/bash#SBATCH -J script_art610#SBATCH -N 1#SBATCH -n 1#SBATCH --cpus-per-task=5#SBATCH --threads-per-core=1#SBATCH --mem=10000#SBATCH --time=01:00:00#SBATCH --mail-user=toto [at] mail [dot] com# The following variable is REALLY IMPORTANT.# If the variable is not set up all the threads will run on 1 coreexport SRUN_CPUS_PER_TASK=${SLURM_CPUS_PER_TASK}# If the code is OpenMPexport OMP_NUM_THREADS=5
Dans cet exemple on réserve 10GB de mémoire sur 1 nœud pour lancer 5 threads durant 1 heure.
Le paramètre time est optionnel mais très important, si on évalue correctement le temps d’exécution on a des chances de passer plus rapidement
La suite du script, en particulier les options de réservation est inchangée par rapport à ce qui est décrit ici