1
2----------------------------------------------------------------------------
3                       CONFIGURATION FILES
4
5* include/qe_version.h
6  ================
7  Contains the current version of QE
8
9You should not need to edit the following files:
10
11* include/configure.h
12  ==================
13   automatically generated by configure using include/configure.h.in
14   as template - contains compilation info, usable for initial printout
15   (define __HAVE_CONFIG_INFO in Modules/environ.f90 to use it;
16    it is disabled by default due to potential problems with too long lines)
17
18* include/qe_cdefs.h
19  ================
20   automatically generated by configure using include/qe_cdefs.h.in
21   as template - included in C files in clib/ . Contains:
22   #define HAVE_MALLINFO
23   if the mallinfo structure is present (e.g. Linux)
24
25----------------------------------------------------------------------------
26
27         PREPROCESSING OPTIONS USED IN *.h FILES AND IN THE SOURCES
28
29Predefined by specific compilers:
30      _OPENMP            OpenMP parallelization (all compilers)
31      __GFORTRAN__       GNU gfortran
32      __INTEL_COMPILER   Intel compiler
33
34Hardware / Compiler:
35      __AIX       Ibm rs/6000 machines (obsolescent)
36      __PGI       Portland Group compiler workarounds for compiler bugs
37       _WIN32     Windows 32-bits
38
39New algorithms:
40      __NON_BLOCKING_SCATTER   Use  non-blocking algorithm for parallel FFTs
41      __DOUBLE_BUFFER          Use double buffer algorithm for parallel FFTs
42
43Parallel execution:
44      __MPI       	MPI parallelization
45      __MPI_MODULE      Compile with "USE mpi" instead of "include 'mpif.h'"
46      __MPI_NONBLOCKING Use nonblocking routines (e.g. mpi_ibcast, mpi_igatherv)
47
48Libraries:
49      __FFTW        FFT routines from internal FFTW library (default)
50      __FFTW3       FFT routines from external FFTW v.3 library
51      __DFTI        FFT routines from Intel MKL library
52      __ARM_LIB     EFT routines from ARM Performance library
53      __LINUX_ESSL  Use blas/lapack/fft routines from IBM ESSL library
54                   (linux version; aix version no longer supported)
55      __SCALAPACK   Use Scalapack routines instead of internal ones
56                    for parallel subspace diagonalization
57      __ELPA_201X   Use ELPA library, version 201X, X=5,6,7,8,9
58      __ELPA        Use ELPA library, last version
59      __MASS        Use mathematical routines from IBM MASS library
60                    (obsolete?)
61      __SX6         Use MathKeisan libraries for NEC SX machines
62      ASL, MICRO    SX-6 specific libraries (obsolescent)
63
64Signals:
65      __PTRACE        Enable traceback
66      __TRAP_SIGUSR1  Enable signal trapping (experimental): code will stop
67                      and save data if executable is signaled with USR1
68IO / Reporting:
69      __HDF5           Enable I/O using parallel HDF5 (Fortran 2003
70                       features needed to compile)
71      __CLOCK_SECONDS  Translate clock from HH:mm:ss to only seconds
72
73All other preprocessing flags are for debugging purposes and should not be
74used unless you know what you are doing
75