

''
Un script à envoyer sur le cluster va contenir les instructions sous la forme
en debut de ligne du script (fichier.sh)
Ensuite on envoie le batch pour execution
cluster-head> sbatch fichier.sh
exemple 1: je veux 50 taches independantes, peu m'importe où elles vont s'exécuter
#!/bin/bash
#SBATCH -n 50
cd repertoireousetrouvemes_affaires
srun mon_executable
(recuperation du numéro de tache avec la variable d'environnement SLURM_PROCID)
exemple 2: j'ai un code qui demarre plusieurs taches MPI, chaque tache se divisant en 8 avec openMP
#!/bin/bash
#SBATCH –job-name=cosmocmc
# nombre de noeuds (machine)
#SBATCH -N 4
# je veux les noeuds pour moi toute seule, je blinde les machines
#SBATCH –exclusive
# pour chaque tache mpi, elle spawne 8 threads (OpenMP), cosmomc attention num_thread dans .ini
#SBATCH -c 8
#liste des noeuds alloues pour le job
echo “On tourne sur: $SLURMNODELIST”
# nombre total de noeuds
echo “Soit $SLURMNNODES nodes.”
# liste du nombre de CPU pour chaque noeuds
echo “job cpu per node = $SLURMJOBCPUSPERNODE”
# je ne sais pas combien j en veux, depends du nombre de CPUs sur les noeuds
temp=
echo $SLURM_JOB_CPUS_PER_NODE | sed s/\(//g | sed s/\)//g | sed s/\,/\+/g | sed s/x/*/g
n=$1)