Installing VASP.6.X.X: Difference between revisions
Vaspmaster (talk | contribs) |
Vaspmaster (talk | contribs) |
||
Line 4: | Line 4: | ||
For the compilation of VASP, the following software is mandatory: | For the compilation of VASP, the following software is mandatory: | ||
* Compilers for Fortran (at least F2008 compliant), C, and C++. For instance: | * Compilers for Fortran (at least F2008 compliant), C, and C++. For instance, one of the following: | ||
:: [https://gcc.gnu.org gcc] | :: [https://gcc.gnu.org gcc] | ||
:: [https://www.intel.com/content/www/us/en/developer/tools/oneapi/toolkits.html#base-kit intel-oneapi-base-kit]+[https://www.intel.com/content/www/us/en/developer/tools/oneapi/toolkits.html#hpc-kit intel-oneapi-hpc-kit] | :: [https://www.intel.com/content/www/us/en/developer/tools/oneapi/toolkits.html#base-kit intel-oneapi-base-kit]+[https://www.intel.com/content/www/us/en/developer/tools/oneapi/toolkits.html#hpc-kit intel-oneapi-hpc-kit] | ||
Line 10: | Line 10: | ||
:: [https://developer.amd.com/amd-aocc AOCC] | :: [https://developer.amd.com/amd-aocc AOCC] | ||
* Numerical libraries: FFTW, BLAS, LAPACK, and | * Numerical libraries: FFTW, BLAS, LAPACK, and ScaLAPACK. For instance, one of the following: | ||
:: [https://www.intel.com/content/www/us/en/developer/tools/oneapi/toolkits.html#base-kit intel-oneapi-base-kit intel-oneapi-mkl] | :: [https://www.intel.com/content/www/us/en/developer/tools/oneapi/toolkits.html#base-kit intel-oneapi-base-kit intel-oneapi-mkl] | ||
:: [http://www.fftw.org FFTW], [https://www.openblas.net OpenBLAS], [http://www.netlib.org/scalapack ScaLAPACK] | :: [http://www.fftw.org FFTW], [https://www.openblas.net OpenBLAS], [http://www.netlib.org/scalapack ScaLAPACK] | ||
Line 16: | Line 16: | ||
:: [https://developer.amd.com/amd-aocl AOCL] | :: [https://developer.amd.com/amd-aocl AOCL] | ||
* An implementation of the Message Passing Interface (MPI). | * An implementation of the Message Passing Interface (MPI). For instance, one of the follwing: | ||
:: [https://www.intel.com/content/www/us/en/developer/tools/oneapi/toolkits.html#hpc-kit intel-oneapi-mpi] | :: [https://www.intel.com/content/www/us/en/developer/tools/oneapi/toolkits.html#hpc-kit intel-oneapi-mpi] | ||
:: [https://www.open-mpi.org OpenMPI] | :: [https://www.open-mpi.org OpenMPI] |
Revision as of 13:50, 7 April 2022
As a license holder, you can download the source code of VASP from the VASP Portal. If your system fulfills the requirements, you can install VASP.6.X.X by following the steps below.
Requirements
For the compilation of VASP, the following software is mandatory:
- Compilers for Fortran (at least F2008 compliant), C, and C++. For instance, one of the following:
- Numerical libraries: FFTW, BLAS, LAPACK, and ScaLAPACK. For instance, one of the following:
- intel-oneapi-base-kit intel-oneapi-mkl
- FFTW, OpenBLAS, ScaLAPACK
- NVIDIA HPC-SDK (comes with OpenBLAS and ScaLAPACK but does not provide FFTW)
- AOCL
- An implementation of the Message Passing Interface (MPI). For instance, one of the follwing:
- intel-oneapi-mpi
- OpenMPI
- NVIDIA HPC-SDK (comes with OpenMPI)
For the OpenACC GPU port of VASP (to run on GPUs):
- NVIDIA HPC-SDK (>=21.2).
To find a combination of compilers and libraries that works, have a look at our list of validated toolchains.
Install VASP
Step 1: Download
- Download the source code of VASP from the VASP Portal, copy it to the desired location on your machine, and unzip the file to obtain the folder
/path/to/vasp.x.x.x
and reveal its content.
Step 2: Prepare makefile.include
- Create a makefile.include starting from a template in
/path/to/vasp.x.x.x/arch
that resembles your system:
cp arch/makefile.include.your_choice ./makefile.include
- Adapt your makefile.include file to your system and select optional features.
Step 3: Make
- Build VASP with
make DEPS=1 -jN <target>
- where
DEPS=1 -jN
is optional and selects the parallel mode of make withN
being the number of jobs you want to run, and<target>
corresponds tostd
,gam
,ncl
orall
. This builds the standard, gamma-only, non-collinear or all versions of VASP. The executables arevasp_std
,vasp_gam
, andvasp_ncl
, respectively, which are located at/path/to/vasp.X.X.X/bin/
.
Step 4: Test
Warning: VASP.6.1.0, VASP.6.1.1, and VASP.6.1.2 have a potentially serious issue related to the test suite. Please read about it here.
- Run the test suite with
make test
- to confirm the build was successful.
Tip: If there are issues, the VASP Forum [installation issues] is the appropriate place to seek support.
Step 5: Install
- Copy the executables to the system
$PATH
or append/path/to/vasp.x.x.x/bin/
to the environment variable with
export PATH=$PATH:/path/to/vasp.x.x.x/bin
- for instance in your
~/.bashrc
.
Subdirectories in vasp.6.x.x
The build system of VASP (as of versions >= 5.4.1) comprises the following subdirectories:
vasp.x.x.x (root directory) | ------------------------------------------------ | | | | | | arch bin build src testsuite tools | ------------- | | | lib parser fftlib
- /path/to/vasp.x.x.x/
- Holds the high-level makefile and several subdirectories.
- /path/to/vasp.x.x.x/src
- Holds the source files of VASP and a low-level makefile.
- /path/to/vasp.x.x.x/src/lib
- Holds the source of the VASP library (used to be vasp.X.lib) and a low-level makefile.
- /path/to/vasp.x.x.x/src/parser
- Holds the source of the LOCPROJ parser (as of versions >= 5.4.4) and a low-level makefile.
- /path/to/vasp.x.x.x/src/CUDA
- Used to hold the source of the CUDA-C code that will be executed on the GPU by the CUDA-C GPU port of VASP.
- /path/to/vasp.x.x.x/src/fftlib
- Holds the source of the fftlib library that may be used to cache fftw plans.
- /path/to/vasp.x.x.x/arch
- Holds a collection of makefile.include.* files.
- /path/to/vasp.x.x.x/build
- The different versions of VASP, i.e., the standard, gamma-only, non-collinear versions will be built in separate subdirectories of this directory.
- /path/to/vasp.x.x.x/bin
- Here make will store the executables.
- /path/to/vasp.x.x.x/testsuite
- Holds a suite of correctness tests to check your build.
- /path/to/vasp.x.x.x/tools
- Holds several python scripts related to the use of HDF5 input/output files.
Related sections
Toolchains, makefile.include, Precompiler options, Compiler options, Linking to libraries, Validation tests