Running using SLURM

Test Project

Example SLURM-script

#!/bin/bash

#SBATCH --job-name=sassena
#SBATCH --nodes=1            # run all processes on a single node
#SBATCH --ntasks-per-node=4  # number of MPI tasks (i.e. processes)
#SBATCH --cpus-per-task=1    # number of cores per MPI task
#SBATCH --mem-per-cpu=2G     # 96GB RAM per node, 2 sockets * 12 cores * 2 threads
#SBATCH --output=out_%j.log  # file with program output on screen, contains job number

echo "Date              = $(date)"
echo "Hostname          = $(hostname -s)"
echo "Working Directory = $(pwd)"
echo ""
echo "Number of Nodes Allocated      = $SLURM_JOB_NUM_NODES"
echo "Number of Tasks Allocated      = $SLURM_NTASKS"
echo "Number of Cores/Task Allocated = $SLURM_CPUS_PER_TASK"
echo ""

mpiexec sassena --config scatter.xml
mv signal.h5 my_favourite_sample.h5

To use OpenMP threading alongside MPI, increase --cpus-per-task and pass the thread count to Sassena:

#SBATCH --ntasks-per-node=4  # number of MPI tasks
#SBATCH --cpus-per-task=4    # OpenMP threads per MPI task

export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK

mpiexec sassena --config scatter.xml --limits.computation.threads=$SLURM_CPUS_PER_TASK
mv signal.h5 my_favourite_sample.h5