Controlling MPI tasks per node

We recommend that you specify the number of nodes, the tasks per node, and sockets in your SLURM job script. A few applications can benefit from hyperthreading and by default, SLURM will load 64 tasks per node since hyperthreading is enabled on Shaheen. Here is an example to control the number of tasks on each node to avoid hyperthreading:

#!/bin/bash
#SBATCH --account=k##
#SBATCH --job-name=job_name
#SBATCH --output=job_name.out
#SBATCH --error=job_name.err
#SBATCH --nodes=4
#SBATCH --time=00:30:00

srun --ntasks=128 --hint=nomultithread --ntasks-per-node=32 --ntasks-per-socket=16 ./exe