quantum-espresso/include/defs.h.README

76 lines
3.2 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/cpv_device_macros.h
================
Macros allowing transparent usage of either openacc and openmp offloading
----------------------------------------------------------------------------
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:
* __CUDA Compilation for NVidia GPUs
__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)
__GPU_MPI MPI via NVlink between GPUs (if your hd supports it)
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)
__fox Use true FoX library instead of built-in replacement
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
__CLOCK_SECONDS Translate clock from HH:mm:ss to only seconds
The '*' in the first column marks the most important preprocessing flags.
The other preprocessing flags, and those not included in this list, are
either less likely to be useful, or are for debugging purposes and be used
only by knowledgeable people.