See full list on github.com. There is even GPU capable versions. Those need a slightly older Intel compiler versions loaded (CUDA 8 does not support Intel 2017), load unload the intel module that vasp/5.4.4 load and load the intel 2016.2. The GPU versions are built using intel 2016.2 and CUDA 8. For the older versions, before 5.4.x: to get access to VASP.
Where the modules with '5.4.4' or '5.4.1' in their version strings are the builds of the pure MPI VASP codes, and the modules with '2018' or '2017' in their version strings are the builds of the hybrid MPI+OpenMP VASP codes, which are avaiblable to the NERSC VASP 5 users through the VASP beta testing program. Transition State Tools for VASP¶. This is not the official VASP web page. Designed to simulate the properties of systems at the atomic scale, VASP (Vienna Ab-initio Simulation Package) is a software package created, distributed, and maintained by the Hafner Research Group at the University of Vienna.
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 (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 NERSC users who already have an existing VASP license. In order to gain access to the VASP binaries at NERSC through an existing VASP license, there are two options:
- For users who purchased VASP license directly from the VASP Software GmbH at Vienna, please send your license information to the VASP support at Vienna at
licensing (at) vasp (dot) at
, cc'ing NERSC atvasp_licensing (at) nersc (dot) gov
, requesting that they confirm your VASP license to NERSC staff. Click here to send a confirmation email now. - For users who purchased VASP license from Materials Design, Inc., please send your licensee information to Materials Design's support at
support (at) materialsdesign (dot) com
, cc'ing NERSC atvasp_licensing (at) nersc (dot) gov
, requesting that they confirm your VASP license to NERSC staff.' Click here to send a confirmation email now.
Note
NERSC does not provide the VASP 4 modules anymore.
It may take several business days from the date when your confirmation request is sent to the VASP support at Vienna to you actually gain the access to the VASP binaries provided at NERSC. If the confirmation takes longer than 5 business days, update the initial email thread with the license information.
When your VASP license is confirmed, NERSC will add you to a unix file group: vasp5
for VASP 5, and vasp6
for VASP 6. You can check if you have the VASP access at NERSC or not by typing the groups
command. If you are in the vasp5
file group, then you can access VASP 5 binaries provided at NERSC. If you are in the vasp6
file group, then you can access both VASP 5 and VASP 6.
Modules¶
We provide multiple VASP builds for users. To see what VASP modules are available:
For example, these are the available modules (as of 8/6/2020),
Where the modules with '5.4.4' or '5.4.1' in their version strings are the builds of the pure MPI VASP codes, and the modules with '2018' or '2017' in their version strings are the builds of the hybrid MPI+OpenMP VASP codes, which are avaiblable to the NERSC VASP 5 users through the VASP beta testing program. The modules with '6.1.0' is the official release of the hybrid MPI+OpenMP VASP, which are available to the users who have VASP 6 licenses. The vasp-tpc (tpc stands for third party codes) modules are the custom builds incorporating commonly used third party contributed codes, e.g., the VTST code from University of Texas at Austin, Wannier90, BEFF, VASPSol, etc.. The 'knl' and 'hsw' in the version strings indicate the modules are optimal builds for Cori KNL and Haswell, respectively. The current default on Cori is vasp/5.4.4-hsw (VASP 5.4.4 with the latest patches, and you can access it by
To use other non-default module, you need to provide the full module name,
The module show
command shows what VASP modules do to your environment, e.g.
This vasp module adds the path to the VASP binaries to your search path, and also sets a few environment variables. Where PSEUDOPOTENTIAL_DIR
and VDW_KERNAL_DIR
are defined for the locations of the pseudopotential files and the vdw_kernel.bindat
file used in dispersion calculations. The OpenMP and MKL environment variables are set for optimal performance.
Vasp binaries¶
Each VASP module provides the three different binaries:
vasp_gam
- gamma point only buildvasp_ncl
- non-collinear spinvasp_std
- the standard kpoint binary
News - Cms.mpi.univie.ac.at
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 samples below), and submit it to the batch system with the 'sbatch' command. Assume the job script is named as run.slurm,
Please check the Queue Policy page for the available QOS's and their resource limits.
Cori Haswell¶
A sample job script to run the Pure MPI VASP codes
A sample job script to run the hybrid MPI+OpenMP VASP codes
Cori KNL¶
A sample job scripts to run the Pure MPI VASP codes
A sample job scripts to run the hybrid MPI+OpenMP VASP codes
Tips
- For a better job throughput, run jobs on Cori KNL.
- The hybrid MPI+OpenMP VASP are recommended on Cori KNL for optimal performance.
- More performance tips can be found in a Cray User Group 2017 proceeding
- Also refer to the presentation slides for the VASP user training (6/18/2019).
Running interactively¶
To run VASP interactively, you need to request a batch session using the 'salloc' command, e.g., the following command requests one Cori Haswell node for one hour,
When the batch session returns with a shell prompt, execute the following commands:
To run on Cori KNL interactively, do
The above command requests two KNL nodes for four hours. When the batch session returns with a shell prompt, execute the following commands:
Tips
- The interactive QOS allocates the requested nodes immediately or cancels your job in about 5 minutes (when no nodes are available). See the Queue Policy page for more info.
- Test your job using the interactive QOS before submitting a long running job.
Long running VASP jobs¶
For long running VASP jobs (e.g., >48 hours), you can use the variable-time job script
, which allows you to run jobs with any length. See a sample job script at Running Jobs. Variable-time jobs split a long running job into multiple chunks, so it requires the application to be able to restart from where it left off. Notice that not all VASP computations are restartable, e.g., RPA; long running atomic relaxations and MD simulations are good use cases of the variable-time job script
.
Running multiple VASP jobs simultaneously¶
If you need to run many similar VASP jobs, it could be beneficial to run multiple of them simultaneously in one job script. See a sample job script to bundle jobs at Running Jobs.
However, the number of jobs you can bundle in a job script is very limited (<10?), because the batch system, Slurm (as it's implemented currently) is not good at handling many or frequent job launchings (sruns
) in a single job script, while it's serving tens of thousands of other jobs on the system. If you want to run many more similar VASP jobs simultaneously, you can use the MPI wrapper for VASP that NERSC has provided, which enables as many VASP jobs as you wish with a single srun
invocation. The MPI wrapper for VASP is available via the mvasp
module on Cori.
Assume that you want to run 512 VASP jobs simultaneously each with a single KNL node, and have prepared VASP input files in 512 separate directories. In the directory where the 512 VASP run directories are create a job script like below,
run_mvasp.slurm
run 512 VASP jobs simultaneously on Cori KNL
then generate a file named joblist.in
, which contains the number of jobs to run and the VASP run directories (one directory per line). You can use the script gen_joblist.sh
that is available via the mvasp
modules to create the joblist.in
file.
A sample joblist.in
file is available at here. Then submit the job via sbatch
Note
- Be aware that running too many VASP jobs at once may overwhelm the file system where your job is running. Please do not run jobs out of your global homes.
- In the sample job script above, to reduce the job startup time for large jobs the executable was copied to the /tmp file system (memory) of the compute nodes using the
sbcast
command prior to exeuction.
Similarly, you can run multiple VASP jobs with Haswell nodes. Here is a sample job script,
run_mvasp.slurm
: run 512 VASP jobs simultaneously with 64 Haswell nodes
VASP makefiles¶
If you need to build VASP by yourselves, use the makefiles available at the VASP installation directories. For example, the 'makefile.include' file that we used to build the vasp/5.4.4-hsw module is available at,
Type module show
` to find the installation directory.
An MPI wrapper to run multiple parallel VASP jobs simultaneously
About¶
If you need to run many similar VASP jobs, this wrapper code could be useful for you.
Instructions to use this wrapper¶
- Download vasp5.4.4.pl2.tgz from VASP Portal to your cluster and untar it, e.g., on your home directory, and run the following commands:
then provide a working makefile.include
file that you would use to compile VASP 5.4.4 on the VASP root directory, then run
or
The resulting VASP binaries will mvasp_std
, mvasp_gam
, and mvasp_ncl
(where m
stands for multiple
)
- To run, prepare VASP inputs in separate run directories, and then create a file named
joblist.in
which contains the number of jobs to run and the VASP run directories (one directory per line).
Assume that you want to run 512 VASP jobs simultaneously each with a single KNL node, and have prepared VASP input files in 512 separate directories. In the directory where the 512 VASP run directories are create a job script like below,
run_mvasp.slurm: a sample job script to run 512 VASP jobs simultaneously on Cori KNL
Then generate a job script, e.g., named run_mvasp.slurm
like below: (e.g., to run on 512 Cori KNL nodes at NRESC running Slurm)
Then submit the job script
Vasp/5.5.4-omc Submission Script - My Community
Note
Be aware that running too many VASP jobs at once may overwhelm the file system where your job is running.
VASP Online Manual¶
Requests for technical support from the VASP group should be posted in the VASP-forum.
Getting started
VASP6 | Features that will only be available in VASP.6.X. |
How to Install VASP | First install VASP. |
Workshops | The collection of workshops is a good place for the introduction to the basics of VASP. |
Lectures | The collection of lectures is a good place to start as well. |
Tutorials and Examples | The collection of tutorials and examples is a good place to learn the usage of VASP. |
Input and Output
INCAR tags | All INCAR tags at a glance. |
Input Files | |
Output Files |
Featured topics
Compile Vasp 5.4.4
Category | subtopics (amongst others) |
Electronic Minimization | Davidson, RMM-DIIS, Conjugate-gradient, preconditioning, mixing. |
XC Functionals | LDA, GGA, metaGGA, HF/DFT hybrid functionals, vdW functionals. |
Structural Optimization | Ionic mimimization methods. |
Molecular Dynamics | Barostats, thermostats, ensembles, different MD methods. |
Lattice Vibrations | Phonons, electron-phonon interactions. |
Dielectric Properties | Static and frequency dependent dielectric properties, Berry phases, spectroscopy (UV, VIS, X-ray). |
Linear Response | Static dielectric properties, phonons form linear response. |
NMR | Chemical shifts, electric field gradients. |
Many-Body Perturbation Theory | ACFDT, BSE, GW, MP2, CRPA. |
Magnetism | Spin-orbit coupling, non-collinear magnetism. |
Defects | Dipole corrections for defects in solids. |
Atoms and Molecules | Monopole, dipole, and quadrupole corrections. |
Transition States | Elastic band method, improved dimer method. |
Wannier Functions | Interfacing to Wannier90. |
Common Pitfalls | Most important parameters, typical sources of errors. |
Theoretical Background | DFT, PAW. |
VASP.6 / VASP6 | Features that will only be available in VASP.6.X. |
Support
If you have questions or run into trouble, please have a look and/or post a question at the VASP forum
Please note: we offer support on a courtesy base only, not as a contractual service.