next up previous contents
Next: single_BLAS Up: The installation of VASP Previous: Updating VASP   Contents

Pre-compiler flags overview, parallel version and Gamma point only version

To support different machines and different version VASP relies heavily on the C-pre-compiler (cpp). The cpp is used to create *.f files from the *.F files. Several flags can be passed to the cpp to generate different versions of the *.f files: Following flags are currently supported:


single_BLAS           single precision BLAS/LAPACK calls
vector                compile vector version
essl                  use ESSL call sequence for DSYGV
NGXhalf               charge density   reduced in X direction
NGZhalf               charge density   reduced in Z direction
wNGXhalf              gamma point only reduced in X direction
wNGZhalf              gamma point only reduced in Z direction
NOZTRMM               do not use ZTRMM
REAL_to_DBLE          change REAL(X) to DBLE(X)
VASP.4 only:

debug                 gives more information during run
noSTOPCAR             do not re-read STOPCAR file
F90_T3D               compile for T3D
scaLAPACK             use scaLAPACK (parallel version only)
T3D_SMA               use shmem communication on T3D instead of MPI
MY_TINY               required accuracy in symmetry package
USE_ERF               use intrinsic error function of cray mathlib
CACHE_SIZE            cache size used to optimise FFT's
MPI                   compile parallel version 
MPI_CHAIN             serial version with nudged chain support (not supported)
pro_loop              uses DO loops instead of DGEMV
use_collective        use collective MPI calls (VASP.4.5)
MPI_BLOCK             block the MPI calls (VASP.4.5)
WAVECAR_double        use double precision WAVECAR files (VASP.4.5)
These flags are usually defined in the makefile in the cpp line with

 -Dflag
Most of these flags are set properly in the platform dependent makefiles, and therefore most users do not need to modify them. To generate the parallel version however, modification of the makefiles are required. Most makefiles have a section starting with

#-----------------------------------------------------------------------
#MPI VERSION
#-----------------------------------------------------------------------
If the the comment sign ' #' is removed from the following lines, the parallel version of vasp is generated. Please mind, that if you want to compile the parallel version, you should either start from scratch (by unpacking VASP from the tar file) or type

> touch *.F
> make vasp

Finally, there are two flags that are of importance for the all users. If wNGXhalf is set in the makefile, a version of VASP is compiled that works at the $\Gamma$-point only. This version is 30-50% faster than the standard version. For the compilation of a parallel $\Gamma$-point only version, the flag wNGZhalf instead of wNGXhalf must be set. Again it must be stressed, that if one of these flags is set in the makefile, all Fortran files must be recompiled. This can be done by unpacking the tar file or typing


touch *.F
make vasp
In the following section all pre-compiler flags are briefly described.



Subsections
next up previous contents
Next: single_BLAS Up: The installation of VASP Previous: Updating VASP   Contents
Georg Kresse
2009-04-23