VASP Compiler Status
Before you begin compiling VASP, please note that the VASP developers recommend Intel’s Fortran compiler, specifically version 12.1.5 (9.1 is also ok), presumably under Linux only. That is what they use, and the only thing that has some kind of official promise of working. Otherwise, gfortran 4.6.3 seems like a good choice. With other compilers, you may have to make modifications to the source code.
Intel Fortran
- 15.0.0 looks very promising, I can compile everything with
-O3
and haven’t seen any crashes so far. Unfortunately, performance seems slightly lower (1-2%) for hybrid DFT jobs vs compiler version 13 and 14. I can recover it with profile-guided optimization, though. - 14.0.1 works, but beware of new compiler optimizations. At least radial.F needs to be lowered to
-O1
, there could be more files, otherwise spin-polarized calculations crash (reproduced on both Sandy Bridge and Interlagos). - 13.1.0-13.1.2 Works fine. This is what I am currently using on NSC’s clusters to compile VASP. Added a rule in the makefile to compile the pardens.F file with
-O1
. - 13.0-13.0.1 It can compile VASP, and my initial tests points to unchanged performance on Xeon E5 vs 12.1.4. The main benefit of using v13 is that there are more flags available to control memory alignment of arrays.
- 12.1.4-12.1.5 I have done extensive testing for VASP 5.2.12+, and it seems to work. This is what I am using for the PDC center-provided VASP builds. High optimizations on some files crashes the compiler on Mac OS X (unlike Linux).
- 12.1.0 Created unstable 5.3.2 binaries on NSC’s Matter cluster.
- 11.1 was the previous VASP official compiler
- 10 was troublesome, VASP builds but with run-time instabilities.
- 9.1 was ok, and is still recommended by VASP developers. But it is a very old compiler now, lacking support for the recent processor architectures.
In general, I advise everyone to keep their Intel compilers up to date. Intel typically releases several smaller bug fixes with a few months after a major release: Intel Fortran 12.x bug fix list, Intel Fortran 13.x bug fix list. These can make all the difference.
GNU Fortran
- 4.2/4.3-series was hit and miss, but my memory is fading…
- 4.4.4 could compile VASP 5.2.8 on Linux/PPC with the right combination of precompiler flags.
- 4.4.7 on Ubuntu 12.04 LTS can compile VASP 5.3.2 with trivial source code changes, but segfaults at runtime.
- 4.6.3 built from source worked with VASP 5.2.12(11Nov11) on Mac OS X 10.7.3, but trying 4.6.3 on Ubuntu 12.04 LTS fails.
- 4.7.0-4.7.2 fails with unmodified source of 5.2.12(11Nov11). It cannot compile dfast.F due to a circular dependency of modules. Earlier, this slipped through gfortran, but this bug was fixed in 4.7.0 bugzilla, which now unfortunately prevents VASP from compiling. The SNIC-patched version is possible to compile with 4.7.
- 4.8.0 also fails.
The steps necessary to compile VASP 5.3.3 with gfortran are outlined here.
Pathscale
EKOPath Fortran cannot compile the unmodified source code. Åke Sandgren at HPC2N in Umeå has a set of patches to make it compile.
Portland Group Fortran
The Portland Group’s PGI Fortan compiler (“pgf90”) should be able to compile VASP, but I did not try recently.
IBM XL Fortran
- 12.1 under Linux: works according to makefiles provided with VASP. I had big problems with runtime stability, could be BLAS-related, though. I did not use ESSL, but rather ATLAS.
- 13.1 under Linux: cannot compile unmodified source according to same makefile. I can compile the SNIC-patched version, which fixes the non-standard Fortran code. I did not do much testing.