Attention

Advance Notice: Bessemer will be retired at the end of the day on Friday 31st October 2025.

srun

srun is the SLURM command used to launch tasks within a job allocation. It can be used in both batch scripts and on the command line to:

  • Start one or more job ‘steps’ in a batch job (a step can request and use some or all of the resources allocated to the job; steps can run sequentially or in parallel)
    • useful for analysing performance across multiple stages of a workflow

  • Launch MPI or multi-task jobs
    • (e.g. with --ntasks > 1)

    • where multiple processes need to be started across CPUs or nodes

  • Run an interactive job
    • for example, srun --pty bash -i

Documentation

Run man srun on the system for full details.

Usage

To launch an interactive shell:

srun --pty bash -i

To run a non-interactive job directly:

srun --export=ALL --time=00:10:00 --mem=1G python3 my_script.py 100000000

In a batch script:

#SBATCH --ntasks=4
srun --export=ALL ./my_parallel_app

For simple, single-task jobs, srun is optional in batch scripts — your command can be run directly.

See the interactive and batch submission guide for more examples.