diff --git a/.gitignore b/.gitignore index a1aa80caa4..de6942f861 100644 --- a/.gitignore +++ b/.gitignore @@ -22,9 +22,7 @@ build/ bin/* FoX -LIBBEEF MBD -include/fft_defs.h include/configure.h include/qe_cdefs.h install/config.log @@ -33,6 +31,8 @@ install/configure.msg install/make-* install/configure-* install/uncompress-* +*/make.depend +*/*/make.depend test-suite/*/test.err.* test-suite/*/test.out.* test-suite/*/pwscf* diff --git a/configure b/configure index 936a957ba2..f3272a776e 100755 --- a/configure +++ b/configure @@ -58,8 +58,9 @@ elif [[ (-e make.inc) && (-e Makefile) ]] ; then fi test -e ./install/make.inc && rm ./install/make.inc -# compute dependencies (next line prevents bogus errors) +# compute dependencies (next two lines avoid bogus errors) touch ./include/qe_cdefs.h +touch ./include/configure.h ./install/makedeps.sh # run the autoconf configure with the given conf_flags diff --git a/include/defs.h.README b/include/defs.h.README index cab9479b82..e4540c147b 100644 --- a/include/defs.h.README +++ b/include/defs.h.README @@ -27,11 +27,12 @@ You should not need to edit the following files: PREPROCESSING OPTIONS USED IN *.h FILES AND IN THE SOURCES Predefined by specific compilers: - _OPENMP OpenMP parallelization (all 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 @@ -41,21 +42,21 @@ New algorithms: __DOUBLE_BUFFER Use double buffer algorithm for parallel FFTs Parallel execution: - __MPI MPI parallelization +* __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 +* __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 +* __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) +* __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 @@ -66,9 +67,10 @@ Signals: __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) +* __HDF5 Enable I/O using parallel HDF5 __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 +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.