Submitting Jobs

SLURM Submit Script

The following script can be used to submit a VASP job on the GPU nodes of Perlmutter.
#!/bin/bash
#SBATCH -N 1 # Number of nodes
#SBATCH -C gpu # Choose the GPU nodes
#SBATCH -G 4 # Number of GPUs per node
#SBATCH -q debug # Queue name
#SBATCH -J MyTestJob # The job title
#SBATCH -t 00:30:00 # DD:HH:SS walltime
#SBATCH -A matgen_g # Account to charge

module load vasp/6.4.1-gpu

export OMP_NUM_THREADS=8
export OMP_PLACES=threads
export OMP_PROC_BIND=spread

srun --gpus-per-node=4 --ntasks-per-node=4 --cpus-per-task=32 --cpu_bind=cores --gpu-bind=none vasp_std > vasp.out
# use vasp_gam instead of vasp_std for 1x1x1 KPOINTS

If you want to request more resources for a given VASP job, you will want to increase the value for -N (i.e. the total number of nodes). Remember that the scaling performance will decrease as a function of -N, so do some tests before running all your calculations with many nodes.

When running a calculation with a new submit script for the first time, check the top of the OUTCAR to make sure that you are using the requested number of compute cores.