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