QUANTUM ESPRESSO contains a copy of some needed external libraries:
MKL for Intel CPUs
ACML for AMD CPUs
ESSL for IBM machines
If none of these is available, we suggest that you use the optimized ATLAS
http://math-atlas.sourceforge.net/. Note that ATLAS is not a complete replacement for LAPACK: it contains all of the BLAS, plus the LU code, plus the full storage Cholesky code. Follow the instructions in the ATLAS distributions to produce a full LAPACK replacement.
Sergei Lisenkov reported success and good performances with optimized
BLAS by Kazushige Goto. The library is now available under an
open-source license: see the GotoBLAS2 page at
If you have MKL libraries, you may either use the provided FFTW3 interface (v.10 and later), or directly link FFTW3 from MKL (v.12 and later) or use DFTI (recommended).
Note: since v.6.1, MPI libraries implementing v.3 of the standard (notably, non-blocking broadcast and gather operations) are required.
The user may need to install this library, compiling it with options -enable-fortran, -enable-fortran-2003, and -enable-parallel (see below). These options must be passed to the configure script of the library, not of QUANTUM ESPRESSO.
One can use either the 1.10 or 1.8 version of the library. For the latter the user has to download a version at least as new as 1.8.16.
The path to the root directory of the library (the one containing bin/, include/ and lib/ directories) has to be passed to the configure script of QUANTUM ESPRESSO via the -with-hdf5=... option.
It is possible to use a library with disabled parallelism, but one has to add manually the flag -D__HDF5_SERIAL to the MANUAL_DFLAGS in the make.inc file.
The HDF5 packages provided by many LINUX distributions may also work, but the configure script fails if includes and libraries are not placed under the same root directory. In this case the user should manually set the correct paths in the make.inc file.
configure --with-libxc --with-libxc-prefix=... --with-libxc-include=.... You may look for "libxc" in make.inc in case of trouble. Note that currently only a (small) subset of functionals implemented in libxc can be used and that the libxc-enabled version cannot use functionals from QUANTUM ESPRESSO. This will change in the future.
If some library was not found, you can specify a list of directories to search in the environment variable LIBDIRS, and rerun configure; directories in the list must be separated by spaces. For example:
./configure LIBDIRS="/opt/intel/mkl70/lib/32 /usr/lib/math"If this still fails, you may set some or all of the *_LIBS variables manually and retry. For example:
./configure BLAS_LIBS="-L/usr/lib/math -lf77blas -latlas_sse"Beware that in this case, configure will blindly accept the specified value, and won't do any extra search.