VASP: Difference between revisions

From Alliance Doc
Jump to navigation Jump to search
No edit summary
No edit summary
Line 2: Line 2:
<translate>
<translate>
<!--T:1-->
<!--T:1-->
:''The Vienna Ab initio Simulation Package (VASP) is a computer program for atomic scale materials modelling, e.g. electronic structure calculations and quantum-mechanical molecular dynamics, from first principles.''  
:''The Vienna Ab initio Simulation Package (VASP) is a computer program for atomic scale materials modelling, e.g. electronic structure calculations and quantum mechanical molecular dynamics, from first principles.''  
: Reference: [https://www.vasp.at/ VASP website]
: Reference: [https://www.vasp.at/ VASP website]


Line 8: Line 8:


<!--T:3-->
<!--T:3-->
If you wish to use the pre-built VASP binaries on [[Cedar]] and/or [[Graham]], you must contact [[Technical support]] requesting access to VASP with the following information:  
If you wish to use the prebuilt VASP binaries on [[Cedar]] and/or [[Graham]], you must contact [[Technical support]] requesting access to VASP with the following information:  
* Include license holder (your PI) information:
* Include license holder (your PI) information:
** Name  
** Name  
Line 16: Line 16:
** Version of the VASP license ('''VASP version 4 or version 5''')
** Version of the VASP license ('''VASP version 4 or version 5''')
** '''License number'''
** '''License number'''
** Provide an up-to-date list of who is allowed to use your VASP license. For example, forward to us the most recent email from the VASP license administrator that contains the list of licensed users.
** Provide an updated list of who is allowed to use your VASP license. For example, forward to us the most recent email from the VASP license administrator that contains the list of licensed users.


<!--T:4-->
<!--T:4-->
If you are licensed for version 5 you may also use version 4, but a version 4 license does not permit you to use version 5.
If you are licensed for version 5 you may also use version 4, but a version 4 license does not permit you to use version 5.


== Using pre-built VASP == <!--T:6-->
== Using prebuilt VASP == <!--T:6-->


<!--T:7-->
<!--T:7-->
Line 37: Line 37:
<!--T:10-->
<!--T:10-->
'''For VASP-4.6''', executable files are:  
'''For VASP-4.6''', executable files are:  
* <code>vasp</code> for standard NVT calculations with non-gamma k-points  
* <code>vasp</code> for standard NVT calculations with non gamma k points  
* <code>vasp-gamma</code> for standard NVT calculations with only gamma-points  
* <code>vasp-gamma</code> for standard NVT calculations with only gamma points  
* <code>makeparam</code> to estimate how much memory is required to run VASP for a particular cluster
* <code>makeparam</code> to estimate how much memory is required to run VASP for a particular cluster


<!--T:22-->
<!--T:22-->
'''For VASP-5.4.1, 5.4.4 and 6.1.0 (without CUDA support)''', executable files are:
'''For VASP-5.4.1, 5.4.4 and 6.1.0 (without CUDA support)''', executable files are:
* <code>vasp_std</code> for standard NVT calculations with non-gamma k-points
* <code>vasp_std</code> for standard NVT calculations with non gamma k points
* <code>vasp_gam</code> for standard NVT calculations with only gamma-points
* <code>vasp_gam</code> for standard NVT calculations with only gamma points
* <code>vasp_ncl</code> for NPT calculations with non-gamma k-points
* <code>vasp_ncl</code> for NPT calculations with non gamma k points


<!--T:24-->
<!--T:24-->
'''For VASP-5.4.4 and 6.1.0 (with CUDA support)''', executable files are:
'''For VASP-5.4.4 and 6.1.0 (with CUDA support)''', executable files are:
* <code>vasp_gpu</code> for standard NVT calculations with gamma and non-gamma k-points
* <code>vasp_gpu</code> for standard NVT calculations with gamma and non gamma k points
* <code>vasp_gpu_ncl</code> for NPT calculations with gamma and non-gamma k-points
* <code>vasp_gpu_ncl</code> for NPT calculations with gamma and non gamma k points


<!--T:23-->
<!--T:23-->
Line 61: Line 61:


== Vasp-GPU == <!--T:25-->
== Vasp-GPU == <!--T:25-->
Vasp-GPU executable files run on both GPUs and CPUs of a node. Basically, calculation on a GPU is much more expensive than on a CPU, therefore we highly recommend to perform a benchmark using one or 2 GPUs to make sure they are getting a maximum performance from the GPU use. Fig.1 shows a benchmark of Si crystal which contains 256 Si-atoms in the unit-cell. Blue, black and red lines show simulation time as a function of Number of CPU for GPU=0, 1, and 2 respectively. It shows the performance for GPU=1,2 and CPU=1 is more than 5 times better compared to GPU=0 and CPU=1. However, a comparison of calculations with GPU=1 and GPU=2 indicates that there is not much performance gain from GPU=1 to GPU=2. In fact, use for GPU=2 is around 50% in our monitoring system. Therefore we recommend users to first perform a benchmark like this for their own system to make sure they are not wasting any computer resources.
Vasp-GPU executable files run on both GPUs and CPUs of a node. Basically, calculation on a GPU is much more expensive than on a CPU, therefore we highly recommend to perform a benchmark using one or 2 GPUs to make sure they are getting a maximum performance from the GPU use. Fig.1 shows a benchmark of Si crystal which contains 256 Si-atoms in the unit cell. Blue, black and red lines show simulation time as a function of Number of CPU for GPU=0, 1, and 2 respectively. It shows the performance for GPU=1,2 and CPU=1 is more than 5 times better compared to GPU=0 and CPU=1. However, a comparison of calculations with GPU=1 and GPU=2 indicates that there is not much performance gain from GPU=1 to GPU=2. In fact, use for GPU=2 is around 50% in our monitoring system. Therefore we recommend users to first perform a benchmark like this for their own system to make sure they are not wasting any computer resources.


<!--T:26-->
<!--T:26-->

Revision as of 17:28, 9 June 2020

Other languages:
The Vienna Ab initio Simulation Package (VASP) is a computer program for atomic scale materials modelling, e.g. electronic structure calculations and quantum mechanical molecular dynamics, from first principles.
Reference: VASP website

Licensing[edit]

If you wish to use the prebuilt VASP binaries on Cedar and/or Graham, you must contact Technical support requesting access to VASP with the following information:

  • Include license holder (your PI) information:
    • Name
    • Email address
    • Department and institution (university)
  • Include license information:
    • Version of the VASP license (VASP version 4 or version 5)
    • License number
    • Provide an updated list of who is allowed to use your VASP license. For example, forward to us the most recent email from the VASP license administrator that contains the list of licensed users.

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

Using prebuilt VASP[edit]

  1. Run module spider vasp to see which versions are available.
  2. Choose your version and run module spider vasp/<version> to see which dependencies you need to load for this particular version.
  3. Load the VASP module and the dependencies, for example:
module load nixpkgs/16.09 intel/2018.3 impi/2018.3.222 vasp/5.4.4

See Using modules for more information.

Pseudopotential files[edit]

All pseudopotentials have been downloaded from the official VASP website and untarred. They are all located in $EBROOTVASP/pseudopotentials/ on Cedar and Graham and can be accessed once the VASP module is loaded.

Executable programs[edit]

For VASP-4.6, executable files are:

  • vasp for standard NVT calculations with non gamma k points
  • vasp-gamma for standard NVT calculations with only gamma points
  • makeparam to estimate how much memory is required to run VASP for a particular cluster

For VASP-5.4.1, 5.4.4 and 6.1.0 (without CUDA support), executable files are:

  • vasp_std for standard NVT calculations with non gamma k points
  • vasp_gam for standard NVT calculations with only gamma points
  • vasp_ncl for NPT calculations with non gamma k points

For VASP-5.4.4 and 6.1.0 (with CUDA support), executable files are:

  • vasp_gpu for standard NVT calculations with gamma and non gamma k points
  • vasp_gpu_ncl for NPT calculations with gamma and non gamma k points

Two extensions have also been incorporated:

If you need a version of VASP that does not appear here, you can either build it yourself (see below) or write to us and ask that it be built and installed.

Vasp-GPU[edit]

Vasp-GPU executable files run on both GPUs and CPUs of a node. Basically, calculation on a GPU is much more expensive than on a CPU, therefore we highly recommend to perform a benchmark using one or 2 GPUs to make sure they are getting a maximum performance from the GPU use. Fig.1 shows a benchmark of Si crystal which contains 256 Si-atoms in the unit cell. Blue, black and red lines show simulation time as a function of Number of CPU for GPU=0, 1, and 2 respectively. It shows the performance for GPU=1,2 and CPU=1 is more than 5 times better compared to GPU=0 and CPU=1. However, a comparison of calculations with GPU=1 and GPU=2 indicates that there is not much performance gain from GPU=1 to GPU=2. In fact, use for GPU=2 is around 50% in our monitoring system. Therefore we recommend users to first perform a benchmark like this for their own system to make sure they are not wasting any computer resources.

File:Vasp-GPU-benchmark.pdf

Building VASP yourself[edit]

If you are licensed to use VASP you may download the source code from the VASP website and build custom versions. See Installing software in your home directory and Installing VASP.

Example of a VASP job script[edit]

The following is a job script to run VASP in parallel using the Slurm job scheduler:


File : vasp_job.sh

#!/bin/bash
#SBATCH --account=<ACCOUNT>
#SBATCH --ntasks=4             # number of MPI processes
#SBATCH --mem-per-cpu=1024M    # memory
#SBATCH --time=0-00:05         # time (DD-HH:MM)
module load nixpkgs/16.09 intel/2018.3 impi/2018.3.222 vasp/5.4
srun <VASP>


  • The above job script requests four CPU cores and 4096MB memory (4x1024MB).
  • <ACCOUNT> is a Slurm account name; see Accounts and projects to know what to enter there.
  • <VASP> is the name of the executable. Refer to section "Executable programs" for the executables you can select for each version.


File : vasp_gpu_job.sh

#!/bin/bash
#SBATCH --account=<ACCOUNT>
#SBATCH --cpus-per-task=1      # number of CPU processes
#SBATCH --gres=gpu:p100:1      # Number of GPU type:p100 (valid type only for cedar)
#SBATCH --mem=3GB              # memory
#SBATCH --time=0-00:05         # time (DD-HH:MM)
module load vasp/<VERSION>
mpiexec <VASP>


  • The above job script requests one CPU core and 1024MB memory.
  • The above job script requests one GPU type p100 which is only available on Cedar. For other clusters, please see the GPU types available.
  • The above job uses mpiexec to run VASP.

VASP uses four input files named as INCAR, KPOINTS, POSCAR, POTCAR. It is best to prepare VASP input files in a separate directory for each job. To submit the job from that directory, use:

sbatch vasp_job.sh

If you do not know how much memory you need for your job, prepare all your input files and then run makeparam in an interactive job submission. Then use the result as required memory for the next run. However, for a more accurate estimate for future jobs, check the maximum stack size used by completed jobs and use this as the memory requirement per processor for the next job.

If you want to use 32 or more cores, please read about whole-node scheduling.