defs.h.README
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