quantum-espresso/include/defs.h.README

75 lines
3.1 KiB
Plaintext

----------------------------------------------------------------------------
CONFIGURATION FILES
* include/qe_version.h
================
Contains the current version of QE
You should not need to edit the following files:
* include/configure.h
==================
automatically generated by configure using include/configure.h.in
as template - contains compilation info, usable for initial printout
(define __HAVE_CONFIG_INFO in Modules/environ.f90 to use it;
it is disabled by default due to potential problems with too long lines)
* include/qe_cdefs.h
================
automatically generated by configure using include/qe_cdefs.h.in
as template - included in C files in clib/ . Contains:
#define HAVE_MALLINFO
if the mallinfo structure is present (e.g. Linux)
----------------------------------------------------------------------------
PREPROCESSING OPTIONS USED IN *.h FILES AND IN THE SOURCES
Predefined by specific compilers:
_OPENMP OpenMP parallelization (all compilers)
__GFORTRAN__ GNU gfortran
__INTEL_COMPILER Intel compiler
Hardware / Compiler:
__AIX Ibm rs/6000 machines (obsolescent)
__PGI Portland Group compiler workarounds for compiler bugs
_WIN32 Windows 32-bits
New algorithms:
__NON_BLOCKING_SCATTER Use non-blocking algorithm for parallel FFTs
__DOUBLE_BUFFER Use double buffer algorithm for parallel FFTs
Parallel execution:
__MPI MPI parallelization
__MPI_MODULE Compile with "USE mpi" instead of "include 'mpif.h'"
__MPI_NONBLOCKING Use nonblocking routines (e.g. mpi_ibcast, mpi_igatherv)
Libraries:
__FFTW FFT routines from internal FFTW library (default)
__FFTW3 FFT routines from external FFTW v.3 library
__DFTI FFT routines from Intel MKL library
__LINUX_ESSL Use blas/lapack/fft routines from IBM ESSL library
(linux version; aix version no longer supported)
__SCALAPACK Use Scalapack routines instead of internal ones
for parallel subspace diagonalization
__ELPA_2015 Use ELPA library (compatible with ELPA 2015.x, 2016.05)
__ELPA_2016 Use ELPA library (compatible with ELPA 2016.11, 2017.x, 2018.05)
__ELPA Use ELPA library (compatible with ELPA 2018.11, 2019.x, 2020.x)
__MASS Use mathematical routines from IBM MASS library
(obsolete?)
__SX6 Use MathKeisan libraries for NEC SX machines
ASL, MICRO SX-6 specific libraries (obsolescent)
Signals:
__PTRACE Enable traceback
__TRAP_SIGUSR1 Enable signal trapping (experimental): code will stop
and save data if executable is signaled with USR1
IO / Reporting:
__HDF5 Enable I/O using parallel HDF5 (Fortran 2003
features needed to compile)
__CLOCK_SECONDS Translate clock from HH:mm:ss to only seconds
All other preprocessing flags are for debugging purposes and should not be
used unless you know what you are doing