==== 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 \\