mirror of https://gitlab.com/QEF/q-e.git
76 lines
3.2 KiB
Plaintext
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.
|