ALIs

kommt noch

VASP - Vienna ab initio simulation package

This document provides an overview to VASP licencees on how to access and use the package on LRZ HPC systems

Introduction

VASP is a package for performing ab-initio 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 and an exact evaluation of the instantaneous electronic ground state at each MD-step using efficient matrix diagonalization schemes and an efficient Pulay mixing.

Please consult the VASP Home page for further details and documentation.

Licensing and Versions

Leibniz Supercomputing Centre has licensed VASP under an installation and maintenance agreement; under this agreement, usage of the software is only allowed for licensed users of VASP. Furthermore, a license of version 4 of VASP does not entitle to use of version 5 - a license upgrade must be procured.

Before using VASP on the LRZ HPC systems, the following steps must be performed:

  1. The user applies by contacting LRZ HPC support, providing the following information: name, affiliation (working group), VASP version to be used (4 or 5), license number and the user account(s) under which you access the LRZ systems.

  2. LRZ checks back with the VASP team whether the license information is valid.

  3. Upon positive feedback, access to the software is given by LRZ.

Installed variants

VTST support is available for some installed versions. The Bader analysis tool is available for all installations.

Version 5.2

The release is available on all SGI Altix systems and the Opteron cluster systems. However, not all combinations of switches for the VASP startup mechanism may be supported; please check with a small example before submitting jobs (unsupported combinations return an error message). This version is presently loaded by default on the cluster systems and SuperMUC.

Version 4.6 (legacy)

  • parallel versions of version 4.6 are available for the SGI Altix and ICE systems. Available executables: vasp, vasp_nohalf (the latter built without -DNGZhalf).

  • a parallel version of 4.6 including VTST support (including scripts) is available on HLRB-II and the ICE system. Executable: vasp_vtst.

  • parallel version 4.6 (built without ScaLAPACK) is available on Opteron/EM64T based systems.

This version is loaded by default on HLRB-II.

Usage

Version 5.2

After login to the system or at the beginning of your batch script, please load the appropriate environment module via

module load vasp

To execute vasp, please issue the command

vasp5 [-n <tasks>] [-a] [-s <half|full> ]

The meaning of the command line arguments is:

  • -n: The number of MPI tasks for parallel execution. If this is omitted, the serial version is executed.
  • -a: If this is specified, the VTST extensions are available.
  • -s: If specified with full, no symmetry reduction is performed on the density. By default, the value half is assumed.

Version 4.6

After login to the system, or at the beginning of your batch script, please load the appropriate environment module via

module load vasp/4.6

Subsequently, you can call vasp via

mpirun -np <num_procs>  $(which vasp)

or

mpiexec -n <num_procs>  $(which vasp)

(the latter form is required on Opteron-based systems or on HLRB-II).

You will need to appropriately modify the batch script examples below by replacing the vasp5 command line by mpirun or mpiexec invocations of the vasp executable.

 

Example batch scripts

Parallel processing (Linux Cluster)

SGE jobs

SLURM jobs

#!/bin/bash
#$-o $HOME/mydir/vasp.out -j y
#$-N vasp
#$-S /bin/bash
#$-l h_rt=24:00:00 
#$-pe mpi_8  24
#       or uv1 (UV)
#$-M  wrzlprmft@mydomain
. /etc/profile
cd mydir
# mydir contains input files
export OMP_NUM_THREADS=1
module load vasp

vasp5 -n $NSLOTS
#!/bin/bash
#SBATCH -o /home/cluster/<group>/<user>/mydir/vasp.%j.out
#SBATCH -D /home/cluster/<group>/<user>/mydir
#SBATCH -J <job_name>
#SBATCH -M mpp1

# or use ice1 for the sgi ICE etc.

#SBATCH --ntasks=32
#SBATCH --mail-type=end
#SBATCH --mail-user=<email_address>@<domain>
#SBATCH --export=NONE
#SBATCH --get-user-env
#SBATCH --time=24:00:00

. /etc/profile.d/modules.sh
cd mydir

# mydir contains input files

module load vasp


vasp5 -n 32

Parallel processing on SuperMUC with LoadLeveler

#!/bin/bash
#@ wall_clock_limit = 24:00:00
#  24 hours maximum run time
#@ job_type = MPICH
#@ class = general
#@ node = 2
#@ tasks_per_node = 40
#@ initialdir = $(home)/mydir
#@ output = job$(jobid).out
#@ error = job$(jobid).err
#@ notification=always
#@ notify_user=erika.mustermann@xyz.de
#@ queue

. /etc/profile.d/modules.sh

 

cd $HOME/mydir

module load vasp

vasp5 -n 80

 

Further notes

It is also possible to use an OMP_NUM_THREADS setting of larger than 1 provided that the number of MPI tasks is reduced in proportion. It is however not trivial to set this up correctly, hence we do not recommend doing this; please consult the information available from the MPI document for details on how to handle hybrid execution.

Documentation and Support

A PDF file is available in the subdirectory $VASP_DOC on the systems where VASP is installed.

In case any problems are observed, please contact HPC support via the LRZ Service Desk. Providing test cases with short run times is appreciated.