VASP
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:
- name
- email address
- department and institution (university)
- licence information:
- version of the VASP licence (version 5 or version 6)
- the licence number
- 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.