Skip to content

VASP

VASP is a package for performing quantum-mechanical molecular dynamics (MD) using pseudopotentials and a plane wave basis set. The approach implemented in VASP is based on a finite-temperature local-density approximation (with the free energy as variational quantity) and an exact evaluation of the instantaneous electronic ground state at each MD step using efficient matrix diagonalization schemes and an efficient Pulay mixing.

Access

VASP is available only to HPC Vega users who already have an existing VASP license. In order to gain access to VASP on the HPC Vega cluster it is necessary for every user to send an email to our support team containing your e-mail address to which the license was assigned by VASP Software GmbH and whether it is for VASP version 5 or version 6 (versions are not inherently inclusive). Or in case the license was assigned to you by Material Designs Inc. license provider, inform the support team.

Modules

We provide multiple VASP builds for users. VASP modules add the path to the VASP binaries in your search path and also set a few environment variables. To see what VASP modules are available:

module spider vasp

Output

--------------------
  VASP-5:
--------------------
     Versions:
        VASP-5/VASP-5.4.4-AOCC-AOCL-OMPI
        VASP-5/VASP-5.4.4-foss-2020b
        VASP-5/VASP-5.4.4-GCC-AOCL-OMPI
        VASP-5/VASP-5.4.4-Intel
        VASP-5/VASP-5.4.4

--------------------
  For detailed information about a specific "VASP-5" package (including how to load the modules) use the module's full name.
  Note that names that have a trailing (E) are extensions provided by other modules.
  For example:

     $ module spider VASP-5/VASP-5.4.4
--------------------

--------------------
  VASP-6:
--------------------
     Versions:
        VASP-6/VASP-6.2.1
        VASP-6/VASP-6.3.1-foss2021b
        VASP-6/VASP-6.3.1-GCC-AOCL

--------------------
  For detailed information about a specific "VASP-6" package (including how to load the modules) use the module's full name.
  Note that names that have a trailing (E) are extensions provided by other modules.
  For example:

     $ module spider VASP-6/VASP-6.3.1-GCC-AOCL
--------------------

After you get access to VASP software on our cluster, you will be able to load VASP modules.

module load VASP-5/VASP-5.4.4

VASP binaries

After the module is loaded, vasp_* commands for calling Vasp binaries will be available in your path.

Each VASP module provides three different binaries:

  • vasp_gam – gamma point only build

  • vasp_ncl – non-collinear spin

  • vasp_std – the standard kpoint binary

You need to choose an appropriate binary to run your job.

Running batch jobs

To run batch jobs, you need to prepare a job script (see examples below) and submit it to the batch system with the sbatch command.

Example 1: Test job

#!/bin/bash
#SBATCH --job-name=vasp-test-1
#SBATCH --nodes=2
#SBATCH --partition=cpu
#SBATCH --ntasks=8
#SBATCH --cpus-per-task=8
#SBATCH --output=foo-out.%j
#SBATCH --error=foo-err.%j
#SBATCH --time=00:10:00

module purge

module load VASP-5
module load numactl #Optional

export OMP_NUM_THREADS=${SLURM_CPUS_PER_TASK}
mpirun vasp_std

Example 2: Hybrid job

#!/bin/bash
#SBATCH --job-name=vasp-test-2
#SBATCH --nodes=2
#SBATCH --ntasks-per-node=8
#SBATCH --cpus-per-task=2
#SBATCH --partition=cpu
#SBATCH --output=foo-out.%j
#SBATCH --error=foo-err.%j
#SBATCH --time=0:10:00

module load VASP-6/VASP-6.3.1-foss2021b
mpirun vasp_std

Example 3: Single node job

#!/bin/bash
#SBATCH --job-name=vasp-test-3
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=64
#SBATCH --cpus-per-task=1
#SBATCH --hint=nomultithread
#SBATCH --partition=cpu
#SBATCH --output=foo-out.%j
#SBATCH --error=foo-err.%j
#SBATCH --time=0:10:00

module load VASP-6/VASP-6.3.1-foss2021b

export OMP_NUM_THREADS=1
export OMP_PROC_BIND=TRUE
export OMP_PLACES=cores
export I_MPI_PIN_RESPECT_CPUSET=0, I_MPI_PIN_CELL=core, I_MPI_DEBUG=10

mpirun --bind-to core --report-bindings vasp_std