#!/bin/bash
#SBATCH --job-name=Hybride         # nom du job
#SBATCH --ntasks=8             # Nombre de processus MPI
#SBATCH --cpus-per-task=10     # nombre de threads OpenMP
# /!\ Attention, la ligne suivante est trompeuse mais dans le vocabulaire
# de Slurm "multithread" fait bien référence à l'hyperthreading.
#SBATCH --hint=nomultithread   # 1 thread par coeur physique (pas d'hyperthreading)
#SBATCH --time=00:10:00            # Temps d’exécution maximum demandé (HH:MM:SS)
#SBATCH --output=Hybride%j.out     # Nom du fichier de sortie
#SBATCH --error=Hybride%j.out      # Nom du fichier d'erreur (ici commun avec la sortie)

# on se place dans le répertoire de soumission
cd ${SLURM_SUBMIT_DIR}

# nettoyage des modules charges en interactif et herites par defaut
module purge

# chargement des modules
module load intel-all/19.0.4

# echo des commandes lancées
set -x

# nombre de threads OpenMP
export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK 
# binding OpenMP
export OMP_PLACES=cores

# exécution du code
srun ./exec_mpi_omp