Obtaining a Licence
Research Computing does not have a license for VASP. See this page for information about licensing:
https://www.vasp.at/faqs
In short, VASP licenses are given to well-defined research groups only. They are not granted by department or institution. Furthermore, they are not personal licenses. All members of a VASP group have to work in the same organizational unit (department, institute) at the same location. The way to get a license is for PI of a research group to obtain it.
Once a research group obtains a license, Research Computing can help with the installation of the software and configuring the license server.
Installation
VASP provides installation directions for Version 6.X.X. Here is a sample procedure for Della (CPU):
$ ssh <YourNetID>@della8.princeton.edu $ cd /path/to/vasp.6.2.1 $ cp arch/makefile.include.linux_intel_omp ./makefile.include $ module purge $ module load intel/2021.1.2 intel-mpi/intel/2021.1.1 $ make DEPS=1 -j8 all
The code should build successfully. The next step is to run the test suite:
$ export PATH=$PATH:/path/to/vasp.6.3.1/bin $ unset I_MPI_HYDRA_BOOTSTRAP # for testing only, do not include in Slurm script $ unset I_MPI_PMI_LIBRARY # for testing only, do not include in Slurm script $ make test
The directions above build an OpenMP/MPI version of VASP. Here is a general Slurm script for such a case. Be sure to include the two environment modules and the definition of the PATH environment variable in your Slurm script. You will also need to conduct a scaling analysis to find the optimal Slurm directives.
Below is a sample Slurm script:
#!/bin/bash #SBATCH --job-name=vasp # create a short name for your job #SBATCH --nodes=1 # node count #SBATCH --ntasks-per-node=8 # total number of tasks per node #SBATCH --cpus-per-task=2 # cpu-cores per task (>1 if multi-threaded tasks) #SBATCH --mem-per-cpu=4G # memory per cpu-core (4G is default) #SBATCH --time=00:01:00 # total run time limit (HH:MM:SS) #SBATCH --mail-type=begin # send email when job begins #SBATCH --mail-type=end # send email when job ends #SBATCH --mail-user=<YourNetID>@princeton.edu export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK export PATH=$PATH:/path/to/vasp.6.3.1/bin module purge module load intel/2021.1.2 intel-mpi/intel/2021.1.1 srun vasp_std <inputs>