Compilation of VASP.4.X is not always straightforward, because f90 compilers are in general not very reliable yet. Mind that the include file mpif.h must be supplied in f90 style for the compilation of the parallel version (see Section 3.5.15). Here is a list of compilers and platforms and the kind of problems we have detected, in some cases more information can be found in the relevant makefiles:
No problems, but compilation (especially of main.F) takes a long time. If there are time-limits the f90 compiler might be killed during compilation. In that case a corrupt .o file remains, and must be removed by hand. If the last file compiled was for instance nonl.F, the user must logout, login again and type
rm nonl.obefore typing make again.
All compiler versions starting from 3.2.5.0 work correctly (including xlf90 4.X.X). Compiler version 3.2.0.0 will not compile the parallel version correctly, but the serial version should be fine. One user reported that the version 3.2.3.0 compiles the parallel version correctly if the option -qddim is used.
On some systems the file mpif.h is located in the default
include search path.
Copying the mpif.h file to the local directory and converting it
to f90 style does not work (because the system wide mpif.h file
is always included). One solution is to rename the mpif.h file to mpif90.h.
If the new mpi routines (parallelew.tar) are used only the line
INCLUDE "mpif.h"must be changed to
INCLUDE "mpif90.h"in the file pm.inc.
(use lslpp -L | grep xlf to find out the current compiler version)
On some SGI's the option -64 must be changed to -n32 in the makefiles of VASP.4.X and VASP.lib (O2 for instance).
Power Fortran 90, 7.2 on irix 6.2 works correctly. Older version tend to crash when compiling main.F, in particular compiler version Fortran 90, 6.3 and 7.1 will not work.
(use versions | grep f90 to find out the current compiler version)
The compiler version DIGITAL Fortran 90 V5.0-492 and V5.2 compile VASP.4.X correctly. Older compiler releases and release V5.1 do not compile VASP, and require a compiler fix or upgrade.
No problems, but compilation (especially of main.F) takes a long time. If there are time-limits the f90 compiler might be killed during compilation. In that case a corrupt .o file remains, and must be removed by hand. If the last file compiled was for instance nonl.F, the user must logout, login again and type
rm nonl.obefore typing make again. Do not forget to upload all required modules before starting compilation. This is usually done in the profile, on the U.K. T3D the following modules must be initialised:
if [ -f /opt/modules/modules/init/ksh ] ; then # Initialize modules . /opt/modules/modules/init/ksh module load modules PrgEnv fi
VASP supports only the newest ``alpha'' scaLAPACK release on the T3D (on the T3E PrgEnv 3.0.1.0 must be installed), and VASP will not work correctly with the scaLAPACK version supplied in the libsci.a (libsci.a contains only a down-scaled scaLAPACK version, supporting very limited functionality). If you do not have access to this alpha release you must switch of the scaLAPACK (see Sec. 3.5.20).
The compiler versions 3.0.1.0 (and newer) should compile the code correctly and without difficulties.
It might be necessary to change the makefiles slightly: On the IDRIS-T3E the cpp (C-preprocessor) was located in the directory /usr/lib/make/, it might be necessary to change this location (line CPP in the makefiles) on other T3E machines.
For best performance one should also allow for hardware data streaming on the T3E, this can be done using
export SCACHE_D_STREAMS=1before running the code. The performance improvements can be up to
export SCACHE_D_STREAMS=0
Reportedly the NAG compiler NAGWare f90 compiler Version 2.2(260) can compile the code. We do not have access to this version, so that we can not help if problems are experienced with NAG compilers under LINUX. Please also check the makefiles before attempting the compilation.
At present we support the Portland Group F90/HPF (PGI). Tests for the Absoft f90 compiler have shown that the code generated by the PGI compiler is 10-30% faster. The makefiles for the PGI f90 compiler have the extension linux_pg. Release 1.7 and 3.0.1 have been tested to date, the resulting code has the same speed for both releases. For more details please check the makefile.
Next: Performance optimisation of VASP
Up: The installation of VASP
Previous: CRAY_MPP
  Contents
Georg Kresse
2009-04-23