==== Example sbatch Scripts ====
Copy and paste a script when you are using Windows will cause problems with line endings.
You can found more info [[https://support.nesi.org.nz/hc/en-gb/articles/218032857-Converting-from-Windows-style-to-UNIX-style-line-endings|here]].
==== MPI-Job ====
#!/bin/bash
#SBATCH -o /../../../myjob.%j.%N.out # Output-File
#SBATCH -D /../../../ # Working Directory
#SBATCH -J Hello-World_MPI # Job Name
#SBATCH --nodes=2 # Anzahl Knoten N
#SBATCH --ntasks-per-node=20 # Prozesse n pro Knoten
#SBATCH --ntasks-per-core=1 # Prozesse n pro CPU-Core
#SBATCH --mem=500M # 500MiB resident memory pro node
##Max Walltime vorgeben:
#SBATCH --time=72:00:00 # Erwartete Laufzeit
#Auf Standard-Knoten rechnen:
#SBATCH --partition=standard
#Job-Status per Mail:
#SBATCH --mail-type=ALL
#SBATCH --mail-user=vorname.nachname@tu-berlin.de
module load $MODULES
mpirun $myApplication
\\
==== Single-Node-Job ====
#!/bin/bash
#SBATCH -o /../../../myjob.%j.%N.out # Output-File
#SBATCH -D /../../../ # Working Directory
#SBATCH -J Hello-World # Job Name
#SBATCH --ntasks=1 # Anzahl Prozesse (CPU-Cores)
#SBATCH --mem=500M # 500MiB resident memory pro node
##Max Walltime vorgeben:
#SBATCH --time=72:00:00 # Erwartete Laufzeit
#Auf Standard-Knoten rechnen:
#SBATCH --partition=standard
#Job-Status per Mail:
#SBATCH --mail-type=ALL
#SBATCH --mail-user=vorname.nachname@tu-berlin.de
# benötigte SW / Bibliotheken laden
module load $MODULES
echo "Running $myApplication on a single CPU core"
$myApplication
\\
==== GPU-Job ====
#!/bin/bash
#SBATCH -o /../../../myjob.%j.%N.out # Output-File
#SBATCH -D /../../../ # Working Directory
#SBATCH -J Hello-World_GPU # Job Name
#SBATCH --ntasks=2 # Anzahl Prozesse P (CPU-Cores)
#SBATCH --cpus-per-task=1 # Anzahl CPU-Cores pro Prozess P
#SBATCH --gres=gpu:tesla:2 # 2 GPUs anfordern
#SBATCH --mem=500G # 5GiB resident memory pro node
##Max Walltime vorgeben:
#SBATCH --time=72:00:00 # Erwartete Laufzeit
#Auf GPU-Knoten rechnen:
#SBATCH --partition=gpu
#Job-Status per Mail:
#SBATCH --mail-type=ALL
#SBATCH --mail-user=vorname.nachname@tu-berlin.de
# benötigte SW / Bibliotheken laden (CUDA, etc.)
module load $MODULES
$myCUDA_Application
\\
==== openMP-Job ====
#!/bin/bash
#SBATCH -o /../../../myjob.%j.%N.out # Output-File
#SBATCH -D /../../../ # Working Directory
#SBATCH -J Hello-World_OpenMP # Job Name
#SBATCH --nodes=1 # Anzahl Knoten N
#SBATCH --ntasks=1 # Anzahl Prozesse P
#SBATCH --cpus-per-task=4 # Anzahl CPU-Cores pro Prozess P
#SBATCH --mem=500M # 500MiB resident memory pro node
##Max Walltime vorgeben:
#SBATCH --time=72:00:00 # Erwartete Laufzeit
#Auf Standard-Knoten rechnen:
#SBATCH --partition=standard
#Job-Status per Mail:
#SBATCH --mail-type=ALL
#SBATCH --mail-user=vorname.nachname@tu-berlin.de
module load $MODULES
# z. B. 1 Prozess mit 4 OpenMP-Threads
export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK
$myApplication
\\