#!/bin/bash
#SBATCH --partition=gpu-a100
#SBATCH --time 12:00:00
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=4
#SBATCH --cpus-per-task=18
#SBATCH --time=06:00:00
#SBATCH --job-name=cp2k
export SLURM_CPU_BIND=none
export OMP_NUM_THREADS=${SLURM_CPUS_PER_TASK}
export OMP_PLACES=cores
export OMP_PROC_BIND=close
export OMPI_MCA_coll="^hcoll"
export OMPI_MCA_btl="smcuda,tcp,vader,self"
module load gcc/11.3.0 openmpi/gcc.11/4.1.4 cp2k/2023.1
# gpu_bind.sh (see the following script) should be placed inside the same directory where cp2k will be executed
mpirun --bind-to core --map-by numa:PE=${SLURM_CPUS_PER_TASK} ./gpu_bind.sh cp2k.psmp input > output |