VASP on raad2

From Research Computing @ TAMUQ
Jump to navigation Jump to search


Sample Job File

#!/bin/bash -l
#SBATCH --job-name=vasp
#SBATCH --time=48:00:00
#SBATCH -n 48
#SBATCH -c 1
#SBATCH --no-requeue
#SBATCH --exclusive
#SBATCH --ntasks=48
#SBATCH --partition=l_long
#SBATCH --qos=ll

##Set OMP_NUM_THREADS to the same value as -c
##with a fallback in case it isn't set.
##SLURM_CPUS_PER_TASK is set to the value of -c, but only if -c is explicitly set
if [ -n "$SLURM_CPUS_PER_TASK" ]; then
  omp_threads=$SLURM_CPUS_PER_TASK
else
  omp_threads=1
fi
export OMP_NUM_THREADS=$omp_threads
echo "OMP_NUM_THREADS=" $omp_threads

#========================================
# load modules and run simulation

module unload PrgEnv-cray
module load PrgEnv-intel

license=5-1563
releasename=544_18Apr17
variant=""
build=cnl7.0_intel19.1.3.304
releasever=5.4.4

bindir="/lustre/projects/vasp/$license/${releasename}${variant}/$build/src/vasp.${releasever}/bin"

srun --propagate=STACK,MEMLOCK --hint=nomultithread  $bindir/vasp_std > vasp.out

Structure of VASP Project Directories

Each VASP license holder has her own VASP project directory containing various installs of VASP organized -- by site convention -- under a defined directory hierarchy. For instance, one license holder might have this set of binaries in his VASP directory:

# ls -ld /lustre/projects/vasp/5-1563/*/*/src/vasp.5.4.[14]/bin/*
-rwxr-xr-x 1 otbouha20 sw.vasp.bouhali 103384312 May 14  2018 /lustre/projects/vasp/5-1563/541_05Feb16/cnl6.0_intel17.0.1.132/src/vasp.5.4.1/bin/vasp_gam
-rwxr-xr-x 1 otbouha20 sw.vasp.bouhali 104263080 May 14  2018 /lustre/projects/vasp/5-1563/541_05Feb16/cnl6.0_intel17.0.1.132/src/vasp.5.4.1/bin/vasp_ncl
-rwxr-xr-x 1 otbouha20 sw.vasp.bouhali 104225312 May 14  2018 /lustre/projects/vasp/5-1563/541_05Feb16/cnl6.0_intel17.0.1.132/src/vasp.5.4.1/bin/vasp_std
-rwxr-x--- 1 otbouha20 sw.vasp.bouhali 104017768 May 15  2018 /lustre/projects/vasp/5-1563/541_05Feb16_vtst/cnl6.0_intel17.0.1.132/src/vasp.5.4.1/bin/vasp_gam
-rwxr-x--- 1 otbouha20 sw.vasp.bouhali 104892064 May 15  2018 /lustre/projects/vasp/5-1563/541_05Feb16_vtst/cnl6.0_intel17.0.1.132/src/vasp.5.4.1/bin/vasp_ncl
-rwxr-x--- 1 otbouha20 sw.vasp.bouhali 104854360 May 15  2018 /lustre/projects/vasp/5-1563/541_05Feb16_vtst/cnl6.0_intel17.0.1.132/src/vasp.5.4.1/bin/vasp_std
-rwxr-x--- 1 otbouha20 sw.vasp.bouhali 109942464 May 15  2018 /lustre/projects/vasp/5-1563/544_18Apr17/cnl6.0_intel17.0.1.132/src/vasp.5.4.4/bin/vasp_gam
-rwxr-x--- 1 otbouha20 sw.vasp.bouhali 110873536 May 15  2018 /lustre/projects/vasp/5-1563/544_18Apr17/cnl6.0_intel17.0.1.132/src/vasp.5.4.4/bin/vasp_ncl
-rwxr-x--- 1 otbouha20 sw.vasp.bouhali 110822120 May 15  2018 /lustre/projects/vasp/5-1563/544_18Apr17/cnl6.0_intel17.0.1.132/src/vasp.5.4.4/bin/vasp_std
-rwxr-x--- 1 otbouha20 sw.vasp.bouhali 133189696 Jun 22 15:13 /lustre/projects/vasp/5-1563/544_18Apr17/cnl7.0_intel19.1.3.304/src/vasp.5.4.4/bin/vasp_gam
-rwxr-x--- 1 otbouha20 sw.vasp.bouhali 129156088 Jun 22 15:23 /lustre/projects/vasp/5-1563/544_18Apr17/cnl7.0_intel19.1.3.304/src/vasp.5.4.4/bin/vasp_ncl
-rwxr-x--- 1 otbouha20 sw.vasp.bouhali 129080312 Jun 22 15:04 /lustre/projects/vasp/5-1563/544_18Apr17/cnl7.0_intel19.1.3.304/src/vasp.5.4.4/bin/vasp_std
-rwxr-x--- 1 otbouha20 sw.vasp.bouhali 114923008 May 28  2018 /lustre/projects/vasp/5-1563/544_18Apr17_wannier/cnl6.0_intel17.0.1.132/src/vasp.5.4.4/bin/vasp_gam
-rwxr-x--- 1 otbouha20 sw.vasp.bouhali 115158736 May 28  2018 /lustre/projects/vasp/5-1563/544_18Apr17_wannier/cnl6.0_intel17.0.1.132/src/vasp.5.4.4/bin/vasp_ncl
-rwxr-x--- 1 otbouha20 sw.vasp.bouhali 115107456 May 28  2018 /lustre/projects/vasp/5-1563/544_18Apr17_wannier/cnl6.0_intel17.0.1.132/src/vasp.5.4.4/bin/vasp_std
#

This listing includes binaries compiled in the older Cray environment (CLE 6.0) as well as some compiled in the new environment (CLE 7.0). We are able to use all of them since all these binaries happen to be statically linked. In order to use a particular binary in a job file, we recommend setting the path to the vasp binary in your job file in the following way:

Example 1

license=5-1563
releasename=541_05Feb16
variant="_vtst"
build=cnl6.0_intel17.0.1.132
releasever=5.4.1

bindir="/lustre/projects/vasp/$license/${releasename}${variant}/$build/src/vasp.${releasever}/bin"
# works out to "/lustre/projects/vasp/5-1563/541_05Feb16_vtst/cnl6.0_intel17.0.1.132/src/vasp.5.4.1/bin"

Example 2

license=5-1563
releasename=544_18Apr17
variant=""
build=cnl7.0_intel19.1.3.304
releasever=5.4.4

bindir="/lustre/projects/vasp/$license/${releasename}${variant}/$build/src/vasp.${releasever}/bin"
# works out to "/lustre/projects/vasp/5-1563/544_18Apr17/cnl7.0_intel19.1.3.304/src/vasp.5.4.4/bin"

For both examples above, the VASP binaries themselves can be defined as one of the following:

$bindir/vasp_std
$bindir/vasp_ncl
$bandir/vasp_gam