--- title: Slurm Examples #tags: keywords: slurm example, template, examples, templates, running jobs, sbatch, single core based jobs, HT, multithread, no-multithread, mpi, openmp, packed jobs, hands-on, array jobs, gpu last_updated: 24 Mai 2023 summary: "This document shows different template examples for running jobs in the Merlin cluster." sidebar: merlin7_sidebar permalink: /merlin7/slurm-examples.html --- ![Work In Progress](/images/WIP/WIP1.webp){:style="display:block; margin-left:auto; margin-right:auto"} {{site.data.alerts.warning}}The Merlin7 documentation is Work In Progress. Please do not use or rely on this documentation until this becomes official. This applies to any page under https://hpce.pages.psi.ch/merlin7/ {{site.data.alerts.end}} ## Single core based job examples ```bash #!/bin/bash #SBATCH --partition=hourly # Using 'hourly' will grant higher priority #SBATCH --ntasks-per-core=2 # Request the max ntasks be invoked on each core #SBATCH --hint=multithread # Use extra threads with in-core multi-threading #SBATCH --time=00:30:00 # Define max time job will run #SBATCH --output=myscript.out # Define your output file #SBATCH --error=myscript.err # Define your error file module purge module load $MODULE_NAME # where $MODULE_NAME is a software in PModules srun $MYEXEC # where $MYEXEC is a path to your binary file ``` ## Multi-core based jobs example ### Pure MPI ```bash #!/bin/bash #SBATCH --job-name=purempi #SBATCH --partition=daily # Using 'daily' will grant higher priority #SBATCH --time=24:00:00 # Define max time job will run #SBATCH --output=%x-%j.out # Define your output file #SBATCH --error=%x-%j.err # Define your error file #SBATCH --exclusive #SBATCH --nodes=1 #SBATCH --ntasks=128 #SBATCH --hint=nomultithread ##SBATCH --cpus-per-task=1 module purge module load $MODULE_NAME # where $MODULE_NAME is a software in PModules srun $MYEXEC # where $MYEXEC is a path to your binary file ``` ### Hybrid ```bash #!/bin/bash #SBATCH --job-name=hybrid #SBATCH --partition=daily # Using 'daily' will grant higher priority #SBATCH --time=24:00:00 # Define max time job will run #SBATCH --output=%x-%j.out # Define your output file #SBATCH --error=%x-%j.err # Define your error file #SBATCH --exclusive #SBATCH --nodes=1 #SBATCH --ntasks=128 #SBATCH --hint=multithread #SBATCH --cpus-per-task=2 module purge module load $MODULE_NAME # where $MODULE_NAME is a software in PModules srun $MYEXEC # where $MYEXEC is a path to your binary file ```