#!/bin/bash

# example SLURM template for single-node relion jobs (CPU or GPU), assumes
# extra1 already configured for number of GPUs (which should be 0 for CPU jobs)

#SBATCH --ntasks=XXXmpinodesXXX
#SBATCH --nodes=1
#SBATCH --cpus-per-task=XXXthreadsXXX
#SBATCH --gres=gpu:XXXextra1XXX
#SBATCH --partition=XXXqueueXXX
#SBATCH --error=XXXerrfileXXX
#SBATCH --output=XXXoutfileXXX
#SBATCH --open-mode=append
#SBATCH --time=XXXextra2XXX

#SBATCH --job-name=XXXnameXXX

echo "starting relion run at: $(date)"
if [ -n "${SLURM_JOB_ID}" ]; then
	echo "slurm id: ${SLURM_JOB_ID}"
	relion --version
else
	echo "not running through slurm (this is either a bug, or should not happen)"
	exit 1
fi

if [[ 1 -eq XXXmpinodesXXX ]]; then
	XXXcommandXXX
else
	mpirun.relion -np XXXmpinodesXXX XXXcommandXXX
fi

echo "finished relion run at: $(date)"
