VASP installations at NSC


Directory list:

VersionDescription
4.6.36-17Feb09 VASP 4.6.36 (2009-02-17)
5.2.12-11Nov11 VASP 5.2.12 (2011-11-11)
5.3.2-13Sep12 VASP 5.3.2 (2012-09-13)
5.3.3-18Dec12 VASP 5.3.3 (2012-12-18)
5.3.5-01Apr14 VASP 5.3.5 (2014-04-01)

Level of support

Tier 1 NSC has at least one application expert on staff with knowledge about this software, and we will try to help you with any problems. We have also ran some internal tests to make sure that the program is working as intended. NSC also commits to installing updates to this program as they become available.

Please see the page describing our software support categories for more information.
You can also contact support@nsc.liu.se for further information.

The VASP installations are generally maintained by Peter Larsson (pla@nsc.liu.se).

Naming scheme for binaries

It is customary to produce several versions of VASP. The following naming scheme is used at NSC:

Name Description
vasp Softlink to vasp-half
vasp-half vasp compiled with -DNGZhalf, “normal” version for bulk system
vasp-gamma compiled with -DNGZhalf and -DwNGZhalf, gamma-point only (big supercells or clusters)
vasp-full compiled without -DNGZ*, for spin-orbit/non-collinear calculations.

As of February 2013, you will also find the SNIC-standardized names for new installations. These should be the same at all SNIC centers in Sweden:

Name Description
vasp vasp compiled with -DNGZhalf, “normal” version for bulk system
vasp-gamma compiled with -DNGZhalf and -DwNGZhalf, gamma-point only (big supercells or clusters)
vasp-noncollinear compiled without -DNGZ*, for spin-orbit/non-collinear calculations

It is strongly recommended to use either “vasp” or “vasp-gamma” if possible, in order to decrease the memory usage and increase the numerical stability. Mathematically, the half and gamma versions should give identical results to the full versions, for applicable systems. Sometimes, you can see a disagreement due to the way floating point numerics works in a computer. In such cases, I would be more inclined to believe the gamma/half results, since they preserve symmetries to a higher degree.

How to run

Load the VASP module corresponding to the version you want to use. We strongly recommend to use the latest version of VASP, many of the earlier releases in the 5.2-series had severe bugs.

module load vasp/5.3.5-01Apr14 

Then launch the desired VASP binary with “mpprun”:

mpprun vasp

Example batch script

A minimum batch script for running VASP without modules looks like this:

#!/bin/bash
#SBATCH -N 4
#SBATCH -t 4:00:00
#SBATCH -J jobname
#SBATCH --exclusive
#SBATCH -A SNIC-xxx-yyy

mpprun /software/apps/vasp/5.3.5-01Apr14/default/vasp-[gamma/noncollinear]

(Note that you should edit the jobname and the account number before submitting.)

It can be both faster and more memory efficient to run wide parallel vasp jobs (say, more than 16 nodes) with only 8 or 12 cores/node. In such case, provide it as an “#SBATCH” option:

#SBATCH --ntasks-per-node 12

This has two advantages: you don’t need to keep track of the number cores yourself, and SLURM will make a better job of distributing your ranks evenly across the nodes, which improves performance.

Choosing NPAR, NCORE and NSIM

When running on more than node using MPI, you have to set the certain parameters in the INCAR file. We recommend setting:

NPAR = number of compute nodes
LPLANE = .TRUE.
NSIM = 1

or

NCORE = number of MPI ranks per node (typically 16)
LPLANE = .TRUE.
NSIM = 1

Initial testing suggests that NPAR=2 and NSIM=1 gives best performance for single node jobs (16 cores) on Triolith. The exception to the above rules is hybrid and GW calculations, where NPAR has to be equal to the number of MPI ranks (total number of cores). For k-point and image parallelization, you should adjust NPAR according to the size of your image.

Known problems

  • vdW calculations became broken in many of the VASP installations after an OS upgrade. Broken builds include version 5.3.3 build01-build06. Use 5.3.3/default (which is build15) if you want to use vdW. If you need to use vdW with an older version of VASP, please add the following to your job script before launching VASP:

    LD_PRELOAD=/software/tools/ldpreload/openrocrwrap/libopenrocrwrapsilent.so

  • The memory usage of VASP is not easily predictable. Sometimes, a VASP calculation can run out of memory in the end of the run, just before it is supposed to write out the results. If your VASP job crashed unexpectedly, the first thing you should check is if it ran out of memory (for example, did you increase the number of k-point compared to the previous run?). If you are unable to find out the memory usage of your job, NSC support can help you if you provide the job number.

  • Running small jobs in a wide parallel fashion sometimes fails to due bugs in the parallelization of VASP. Try to have at least 1 atom per CPU core (or 4 bands per MPI rank). It can also help to set LSCALAPACK=.FALSE.

  • NEB calculations can become frozen, if one of the images finishes a long time before the others.

  • Some hybrid calculations can crash with the standard (Intel MPI) version of VASP. These calculations generally run well (albeit slower) with the OpenMPI-compiled versions of VASP.