Installing VASP.6.X.X: Difference between revisions

From VASP Wiki
(Created page with "As a [https://vasp.at| license holder], you can download the source code of VASP from the [https://vasp.at| VASP Portal]. If your system fulfills the #Requirements | require...")
 
No edit summary
Line 2: Line 2:
== Requirements ==
== Requirements ==


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++.  
* Compilers for Fortran (at least F2008 compliant), C, and C++.  
Line 10: Line 10:
And additionally, to run on GPUs the following is required:
And additionally, to run on GPUs the following is required:


* For the OpenACC GPU port, the [[https://developer.nvidia.com/hpc-sdk|NVIDIA HPC-SDK]] (>=21.2).
* For the OpenACC GPU port, the [https://developer.nvidia.com/hpc-sdk NVIDIA HPC-SDK] (>=21.2).
{{NB|mind| To find a combination of compilers and libraries that works, have a look at [[Toolchains|our list of validated toolchains]] for combinations of Linux distributions, compilers, and libraries that have been successfully used to build VASP.}}
{{NB|mind| To find a combination of compilers and libraries that works, have a look at [[Toolchains|our list of validated toolchains]] for combinations of Linux distributions, compilers, and libraries that have been successfully used to build VASP.}}


Line 16: Line 16:


=== Step 1: Download ===  
=== Step 1: Download ===  
:Download the source code of VASP from the [https://vasp.at| VASP Portal], copy it to the desired location on your machine, and unzip the file to obtain the folder <code>/path/to/vasp.x.x.x</code> and [[#Subdirectories in vasp.6.x.x|its content]].
:Download the source code of VASP from the [https://vasp.at| VASP Portal], copy it to the desired location on your machine, and unzip the file to obtain the folder <code>/path/to/vasp.x.x.x</code> and reveal [[#Subdirectories in vasp.6.x.x|its content]].


=== Step 2: Prepare makefile.include ===  
=== Step 2: Prepare makefile.include ===  


:Create a makefile.include starting from the template in <code>/path/to/vasp.x.x.x/arch</code> that most resembles your system:
:Create a makefile.include starting from a template in <code>/path/to/vasp.x.x.x/arch</code> that resembles your system:


:<pre>cd cp arch/makefile.include.your_choice  ./makefile.include</pre>
:<pre>cp arch/makefile.include.your_choice  ./makefile.include</pre>


:[[makefile.include|Adapt your makefile.include file]] to your system and select optional features by setting the appropriate precompiler flags.
:[[makefile.include|Adapt your makefile.include file]] to your system and select optional features.


=== Step 3: Make ===  
=== Step 3: Make ===  
Line 44: Line 44:


=== Step 5: Install ===  
=== Step 5: Install ===  
:Copy the executables to the system <code>$PATH</code> or append <code>path/to/vasp.x.x.x/bin/</code> to the environment variable with
:Copy the executables to the system <code>$PATH</code> or append <code>/path/to/vasp.x.x.x/bin/</code> to the environment variable with


: <pre>export PATH=$PATH:/path/to/vasp.x.x.x/bin</pre>
: <pre>export PATH=$PATH:/path/to/vasp.x.x.x/bin</pre>
Line 86: Line 86:
;/path/to/vasp.x.x.x/build
;/path/to/vasp.x.x.x/build
:The different versions of VASP, i.e., the standard, gamma-only, non-collinear, and CUDA-C GPU versions will be built in separate subdirectories of this directory.
: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
;/path/to/vasp.x.x.x/bin
:Here make will store the binaries.
:Here make will store the executables.


;/path/to/vasp.x.x.x/testsuite
;/path/to/vasp.x.x.x/testsuite
Line 95: Line 95:


;/path/to/vasp.x.x.x/tools
;/path/to/vasp.x.x.x/tools
:Holds several python scripts related to the (optional) use of HDF5 input/output files.
:Holds several python scripts related to the use of HDF5 input/output files.


==Related sections==
==Related sections==
Line 102: Line 102:
[[Precompiler option]],
[[Precompiler option]],
[[Compiler options]],
[[Compiler options]],
[[Linking to libraries]],
[[Validation tests]]
[[Validation tests]]


----
----
[[The_VASP_Manual|Contents]]
[[The_VASP_Manual|Contents]]
[[Category:VASP]]
[[Category:Installation]]
[[Category:Performance]]
[[Category:GPU]]
[[Category:VASP6]]

Revision as of 09:40, 20 January 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++.
  • Numerical libraries: FFTW, BLAS, LAPACK, and scaLAPACK.
  • An implementation of the Message Passing Interface (MPI).

And additionally, to run on GPUs the following is required:

Mind: To find a combination of compilers and libraries that works, have a look at our list of validated toolchains for combinations of Linux distributions, compilers, and libraries that have been successfully used to build VASP.

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 -jN <target>
where -jN is optional and selects the parallel mode of make with N being the number of jobs you want to run, and <target> corresponds to std, gam, ncl or all. This builds the standard, gamma-only, non-collinear or all versions of VASP. The executables are vasp_std, vasp_gam, and vasp_ncl, respectively, which are located at path/to/vasp.X.X.X/bin/. For the GPU versions <target> can be gpu or gpu_ncl. There is no gamma-only version on GPUs.

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 option, Compiler options, Linking to libraries, Validation tests


Contents