VASP

From SciNet Users Documentation
Jump to navigation Jump to search

The Vienna Ab initio Simulation Package is an atomic-scale materials modelling program, (electronic structure calculations, from first principles). It is available through both the Trillium and Alliance (formerly Compute Canada) software stacks.

Licensing

VASP is commercial software: only research groups licensed by the developers may use it. Your PI must register at the VASP website and obtain a licence.

SciNet does not have a licence that covers every Trillium user, so your group must hold its own. The University of Toronto, which owns Trillium, does hold a VASP licence; that licence is what allows a few U of T staff to install specific VASP versions on Trillium and to offer limited support for them, but it does not replace your group's licence.

The pre-built binaries are not in the CVMFS CCEnv stack. They are kept in a separate commercial module tree, which you must add explicitly (see below).

To be given access to them, write to the Alliance (formerly Compute Canada) support with:

  • licence holder (your PI) information:
    1. name
    2. email address
    3. department and institution (university)
  • licence information:
    1. version of the VASP licence (version 5 or version 6)
    2. the licence number
    3. an updated list of who is allowed to use the licence, for example the most recent email from the VASP licence administrator listing the licensed users.

If you are licensed for version 6 you may also use version 5, but a version 5 licence does not permit you to use version 6.

You may also install VASP yourself under the terms of your licence; see the Alliance VASP page.

Available modules

vasp/5.4.1-mods-mch-vtst
vasp/5.4.4
vasp/5.4.4-mnvfm
vasp/5.4.4.pl2-vaspsol
vasp/6.3.2-vtst-vaspsol
vasp/6.4.2
vasp/6.4.2-gpu
vasp/6.6.1

Running using the Trillium installation

Because VASP is commercial software it is hidden in the Trillium software stack by default. To see which modules are available, perform the following steps from a Trillium login node.

module use /opt/software/commercial/modules
module spider vasp

Access to the commercial module tree is granted through the licensing process described above. The module should be loaded as follows:

For vasp/6.6.1:

module load StdEnv/2023 intel/2025.2.0 intelmpi/2021.16.1 hdf5/1.14.6
module use /opt/software/commercial/modules
module load vasp/6.6.1

For vasp/6.4.2:

module load StdEnv/2023 intel/2023.2.1 intelmpi/2021.9.0 hdf5/1.14.2
module use /opt/software/commercial/modules
module load vasp/6.4.2

For vasp/5.4.4:

module load StdEnv/2023 intel/2023.2.1 intelmpi/2021.9.0 
module load imkl/2023.2.0 
module use /opt/software/commercial/modules 
module load vasp/5.4.4

Pseudopotentials

The PBE PAW potentials are installed with VASP 6.3.2 and later. After loading one of those modules they are in $SCINET_VASP_ROOT/potpaw_PBE. The 5.4.x builds do not include them, so you must supply your own POTCAR files for those.

VASP 6.4.2 on Trillium CPU

Example submission script for a job running on 1 node, with max walltime of 11 hours:

#!/bin/bash
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=192
#SBATCH --time=11:00:00
#SBATCH --job-name=vasp_cpu_test

cd "$SLURM_SUBMIT_DIR"

module load StdEnv/2023 intel/2023.2.1 intelmpi/2021.9.0 hdf5/1.14.2
module use /opt/software/commercial/modules
module load vasp/6.4.2
source /scinet/vast/etc/vastpreload-intelmpi.bash

mpirun vasp_std

Further customization of the script can be found at the OnDemand portal.

Running VASP on Trillium GPU

Module should be loaded as follows:

module load StdEnv/2023 nvhpc/25.1 cuda/12.6 nccl/2.26.2 imkl/2023.2.0 hdf5/1.14.5
module use /opt/software/commercial/modules
module load vasp/6.4.2-gpu

VASP 6.4.2 on Trillium GPU

Example submission script for a job running on 1 node, with max walltime of 11 hours:

#!/bin/bash
#SBATCH --nodes=1
#SBATCH --gpus-per-node=1
#SBATCH --ntasks=1
#SBATCH --time=11:00:00
#SBATCH --job-name=vasp_gpu_test

cd "$SLURM_SUBMIT_DIR"

module load StdEnv/2023 nvhpc/25.1 cuda/12.6 nccl/2.26.2 imkl/2023.2.0 hdf5/1.14.5
module use /opt/software/commercial/modules
module load vasp/6.4.2-gpu

mpirun vasp_std

Further customization of the script can be found at the OnDemand portal.

Running VASP on Balam

VASP is available on Balam. Load CCEnv before loading the VASP prerequisite modules and commercial module path.

Example submission script for a one-GPU VASP 6.4.2 job:

#!/bin/bash
#SBATCH --nodes=1
#SBATCH --gpus-per-node=1
#SBATCH --ntasks=1
#SBATCH --time=11:00:00
#SBATCH --job-name=vasp_balam_gpu_test

cd "$SLURM_SUBMIT_DIR"

module load CCEnv
module load StdEnv/2023 nvhpc/25.1 cuda/12.6 nccl/2.26.2 imkl/2023.2.0 hdf5/1.14.5
module use /opt/software/commercial/modules
module load vasp/6.4.2-gpu

mpirun vasp_std

VASP uses four input files: INCAR, KPOINTS, POSCAR, POTCAR. It is best to prepare VASP input files in a separate directory for each job.

Choose suitable INCAR parallelization settings (for example, KPAR and, where appropriate, NCORE or NSIM) to match the allocated MPI ranks and k-point workload, which helps ensure efficient use of requested resources.