#!/bin/bash
#SBATCH --job-name=aps_mpi_omp     # nom du job
#SBATCH --ntasks=4                 # nombre total de processus MPI
#SBATCH --ntasks-per-node=4        # Nombre de processus MPI par noeud
#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       # on réserve des coeurs physiques et non logiques
# La ligne ci-dessous peut être décommentée pour passer en mode exclusif et disposer
# d'un accès complet aux compteurs matériels (cf. les bonnes pratiques pour le profilage)
##SBATCH --exclusive -C prof
#SBATCH --time=00:30:00            # temps d'exécution maximum demande (HH:MM:SS)
#SBATCH --output=%x_%j.out          # nom du fichier de sortie
#SBATCH --error=%x_%j.out           # nom du fichier d'erreur (ici commun avec la sortie)

## Choix d'un environnement Intel disposant de APS
module load intel/2019.4

##echo des commandes
set -x

## Execution sous le SCRATCH
cd $SCRATCH

## Echantillonnage du binaire ./my_bin_exe 
## Les fichiers de rapport sont automatiquement generes apres l'echantillonnage.
srun aps --collection-mode=mpi,omp ./my_bin_exe