From a6069406eefdb4b7566bc026fb328535187d3e96 Mon Sep 17 00:00:00 2001 From: Paolo Giannozzi Date: Wed, 15 Jul 2020 22:29:50 +0200 Subject: [PATCH] [skip-CI] First batch of documentation updates --- Doc/quote.tex | 10 +- Doc/user_guide.tex | 238 ++++++++++++++++++++---------------------- include/defs.h.README | 5 +- 3 files changed, 127 insertions(+), 126 deletions(-) diff --git a/Doc/quote.tex b/Doc/quote.tex index 2524e6c1c..aabdfdc95 100644 --- a/Doc/quote.tex +++ b/Doc/quote.tex @@ -21,10 +21,18 @@ F. Giustino, T. Gorni, J Jia, M. Kawamura, H.-Y. Ko, A. Kokalj, E. K\"u\c{c}\"ukbenli, M .Lazzeri, M. Marsili, N. Marzari, F. Mauri, N. L. Nguyen, H.-V. Nguyen, A. Otero-de-la-Roza, L. Paulatto, S. Ponc\'e, D. Rocca, R. Sabatini, B. Santra, M. Schlipf, A. P. Seitsonen, A. Smogunov, -I. Timrov, T. Thonhauser, P. Umari, N. Vast, X. Wu, S. Baroni +I. Timrov, T. Thonhauser, P. Umari, N. Vast, X. Wu, S. Baroni, J.Phys.: Condens.Matter 29, 465901 (2017) \end{quote} +Users of the GPU-enabled version should also cite the following paper: +\begin{quote} +P. Giannozzi, O. Baseggio, P. Bonf\`a, D. Brunato, R. Car, I. Carnimeo, +C. Cavazzoni, S. de Gironcoli, P. Delugas, F. Ferrari Ruffino, +A. Ferretti, N. Marzari, I. Timrov, A. Urru, S. Baroni, + J. Chem. Phys. 152, 154105 (2020) +\end{quote} + Note the form \qe\ for textual citations of the code. Please also see package-specific documentation for further recommended citations. diff --git a/Doc/user_guide.tex b/Doc/user_guide.tex index 400b40b85..8437f057e 100644 --- a/Doc/user_guide.tex +++ b/Doc/user_guide.tex @@ -1,5 +1,5 @@ \documentclass[12pt,a4paper]{article} -\def\version{6.5+} +\def\version{6.6} \def\qe{{\sc Quantum ESPRESSO}} \usepackage{html} @@ -126,8 +126,8 @@ The \qe\ codes work on many different types of Unix machines, including parallel machines using both OpenMP and MPI (Message Passing Interface). \qe\ also runs on Mac OS X and MS-Windows machines -(see section \ref{Sec:Installation}). A GPU-enabled version is -available on \texttt{https://github.com/fspiga/qe-gpu}. +(see section \ref{Sec:Installation}). The GPU-enabled version is +available on \texttt{https://gitlab.com/QEF/q-e-gpu/-/release}. Further documentation, beyond what is provided in this guide, can be found in: \begin{itemize} @@ -160,18 +160,19 @@ All trademarks mentioned in this guide belong to their respective owners. The maintenance and further development of the \qe\ distribution is promoted by the \qe\ Foundation under the coordination of -Paolo Giannozzi (Univ.Udine and IOM-CNR, Italy) and Pietro Delugas -(SISSA Trieste) with the strong support -of the CINECA National Supercomputing Center in Bologna under -the responsibility of Carlo Cavazzoni. +Paolo Giannozzi (Univ. Udine and IOM-CNR, Italy) and Pietro Delugas +(SISSA Trieste) with a strong support from the MaX - Materials design +at the Exascale EU Centre of Excellence. +% of the CINECA National Supercomputing +% Center in Bologna under the responsibility of Carlo Cavazzoni. Contributors to \qe, beyond the authors of the papers mentioned in Sec.\ref{SubSec:Terms}, include: \begin{itemize} \item Ye Luo (Argonne) for improved FFT threading and miscellaneous contributions and optimizations; - \item Pietro Bonf\`a (CINECA) for multiple contributions to optimization, - GPU version, and maintenance; +% \item Pietro Bonf\`a (CINECA) for multiple contributions to optimization, +% GPU version, and maintenance; \item Fabio Affinito (CINECA) for ELPA support, for contributions to the FFT library, and for various parallelization improvements; \item Sebastiano Caravati for direct support of GTH pseudopotentials @@ -210,7 +211,7 @@ contributed in some way or another at some stage, follows: Marco Govoni, Thomas Gruber, Martin Hilgeman, Yosuke Kanai, Konstantin Kudin, Nicolas Lacorne, Hyungjun Lee, Stephane Lefranc, Sergey Lisenkov, Kurt Maeder, Andrea Marini, Giuseppe Mattioli, Nicolas Mounet, William Parker, - Pasquale Pavone, Samuel Ponc\'e, Mickael Profeta, Chung-Yuan Ren, + Pasquale Pavone, Mickael Profeta, Chung-Yuan Ren, Kurt Stokbro, David Strubbe, Sylvie Stucki, Paul Tangney, Pascal Thibaudeau, Davide Tiana, Antonio Tilocca, Jaro Tobik, Malgorzata Wierzbowska, Vittorio Zecca, Silviu Zilberman, Federico Zipoli, @@ -221,9 +222,8 @@ and let us apologize to everybody we have forgotten. \label{SubSec:Contacts} The web site for \qe\ is \texttt{http://www.quantum-espresso.org/}. -Releases and patches can be downloaded from this -site or following the links contained in it. The main entry point for -developers is the GitLab web site: +Releases and patches can be downloaded from the links contained in it. +The main entry point for developers is the GitLab web site: \texttt{https://gitlab.com/QEF/q-e}. The recommended place where to ask questions about installation @@ -264,14 +264,14 @@ complies with the following guidelines: \item Reply to both the mailing list and the author or the post, using ``Reply to all''. \item Sign your post with your name and affiliation. -\item Choose a meaningful subject. Do not use "reply" to start a new - thread: - it will confuse the ordering of messages into threads that most mailers - can do. In particular, do not use "Reply" to a Digest!!! +\item Choose a meaningful subject. Do not start a new thread by making + a "reply" to an existing message: it will confuse the ordering of + messages into threads that most mailers can do. In particular, do + not use "Reply" to a Digest!!! \item Be short: no need to send 128 copies of the same error message just because this is what came out of your 128-processor run. No need to send the entire compilation log for a single error appearing at the end. -\item Do not post large attachments: point a linker to a place where the +\item Do not post large attachments: post a link to a place where the attachment(s) can be downloaded from, such as e.g. DropBox, GoogleDocs, or one of the various web temporary storage spaces. \item Avoid excessive or irrelevant quoting of previous messages. Your @@ -348,17 +348,6 @@ command \texttt{make} will take care of this during installation. % \end{verbatim} %If more than one patch is present, they should be applied in the correct order. -% Daily snapshots of the development version can be downloaded from the -%developers' site \texttt{qe-forge.org}: follow the link ''Quantum ESPRESSO'', -%then ''SCM''. - -%The bravest may access the development version via anonymous access to the -%Subversion (SVN) repository: \texttt{qe-forge.org/gf/project/q-e/scmsvn}, -%link ''Access Info'' on the left. See also the Developer Manual -%(\texttt{Doc/developer\_man.pdf}), section ''Using SVN''. -%Beware: the development version -%is, well, under development: use at your own risk! - The \qe\ distribution contains several directories. Some of them are common to all packages: @@ -418,13 +407,16 @@ they are interpreted as not present}. For parallel execution, you will also need MPI libraries and a parallel (i.e. MPI-aware) compiler. For massively parallel machines, or for simple multicore parallelization, an OpenMP-aware compiler -and libraries are also required. +and libraries are also required. For GPU's, you will need the +CUDA Fortran version and to compile with the PGI compiler and +run with CUDA run-time environment. As a rule, \qe\ tries to keep compatibility with older compilers, avoiding nonstandard extensions and newer features that -are not widespread or stabilized. If however your compiler is older -than $\sim 5$ years or so, it is unlikely to work. The same applies -to mathematical and MPI libraries. +are not widespread or stabilized. If however your compiler is very +old (say older than $\sim 5$ years or so) it is quite likely that +something will not work. The same applies to mathematical +and MPI libraries. Big machines with specialized hardware (e.g. IBM SP, CRAY, etc) typically have a @@ -443,12 +435,14 @@ script. This is actually a wrapper to the true \configure, located in the \texttt{install/} subdirectory (\configure\ -h for help). \configure\ will (try to) detect compilers and libraries available on your machine, and set up things accordingly. Presently it is expected -to work on most Linux 32- and 64-bit PCs (all Intel and AMD CPUs) and -PC clusters, IBM BlueGene machines, NEC SX, Cray XT -machines, Mac OS X, MS-Windows PCs. Detailed but sometimes outdated -installation instructions for specific HPC machines may be found in -files \texttt{install/README.}{\em sys}, -where {\em sys} is the machine name. +to work on all "common" computers, that is: based on Intel, AMD, ARM +CPUs, running Linux, Mac OS X, MS-Windows. \qe\ is known go work on many +more kinds of machines but may requires some tweaking, especially for +the hardware of large HPC centers. Detailed but sometimes outdated +installation instructions for specific HPC machines may be found in +files \texttt{install/README.}{\em sys}, where {\em sys} is the machine name. + +Note: support for cMake is being added. Instructions for the impatient: \begin{verbatim} @@ -462,14 +456,6 @@ specify \texttt{./configure --enable-openmp}. Symlinks to executable programs will be placed in the \texttt{bin/} subdirectory. Note that both C and Fortran compilers must be in your execution path, as specified in the PATH environment variable. -Additional instructions for special machines: - -\begin{tabular}{ll} - \texttt{./configure ARCH=crayxt4}& for CRAY XT machines \\ - \texttt{./configure ARCH=necsx} & for NEC SX machines \\ - \texttt{./configure ARCH=ppc64-mn}& PowerPC Linux + xlf (Marenostrum) \\ - \texttt{./configure ARCH=ppc64-bg}& IBM BG/P (BlueGene) -\end{tabular} \noindent \configure\ generates the following files: @@ -477,20 +463,25 @@ Additional instructions for special machines: \texttt{make.inc} & compilation rules and flags (used by \texttt{Makefile})\\ \texttt{install/configure.msg} & a report of the configuration run (not needed for compilation)\\ \texttt{install/config.log} & detailed log of the configuration run (useful for debugging)\\ -\texttt{include/c\_defs.h} & a few definitions used by C files\\ -\texttt{include/configure.h} & info on compilation flags (not used: in Modules/environment.f90\\ -& uncomment \verb|#define __HAVE_CONFIG_INFO| to enable its usage)\\ \end{tabular}\\ -NOTA BENE: \configure\ no longer updates files \texttt{make.depend}, + \texttt{include/qe\_cdefs.h} & (previously: \texttt{include/c\_defs.h}) + a few definitions used by C files\\ +\texttt{include/configure.h} & optionally: info on compilation flags + (uncomment \verb|#define __HAVE_CONFIG_INFO| + in Modules/environment.f90 to enable its usage)\\ +\end{tabular}\\ +NOTA BENE: if you interrupt \make, it may fail when you start it again +later (this will happen for instance if \make\ is interrupted while unpacking +and compiling the FoX library). If so, run \texttt{make clean} before +running \make\ again.\\ +NOTA BENE 1: it is convenient to use "parallel \make" to speed up compilation: +\texttt{make -jN} compiles in parallel on N processors.\\ +NOTA BENE 2: \configure\ no longer updates files \texttt{make.depend}, containing dependencies upon modules, in the various subdirectories. If you modify the sources, run \texttt{./install/makedeps.sh} or type \texttt{make depend} to update files \texttt{make.depend}.\\ -NOTA BENE 2: \texttt{make.inc} used to be called \texttt{make.sys} +NOTA BENE 3: \texttt{make.inc} used to be called \texttt{make.sys} until v.6.0. The change of name is due to frequent problems with mailers assuming that whatever ends in \texttt{.sys} is a suspect virus. -NOTA BENE 3: if you interrupt \make, it may fail when you start it again -later (this will happen for instance if \make\ is interrupted while unpacking -and compiling the FoX library). If so, run \texttt{make clean} before -running \make\ again. You should always be able to compile the \qe\ suite of programs without having to edit any of the generated files. However you @@ -506,6 +497,8 @@ Environment variables may be set in any of these ways: env VARIABLE=value ./configure # any shell ./configure VARIABLE=value # any shell \end{verbatim} +As a rule: do not define environment variables for \configure\ unless +you need it. Always try \configure\ with no options as a first step. Some environment variables that are relevant to \configure\ are: \begin{tabular}{ll} @@ -534,9 +527,7 @@ flags \texttt{-O3}, and to link with flag \texttt{-static}. Note that the value of \texttt{FFLAGS} must be quoted, because it contains spaces. NOTA BENE: passing the complete path to compilers (e.g., \texttt{F90=/path/to/f90xyz}) may lead to obscure errors during -compilation. As a rule: do not define environment variables for -\configure\ unless you need it. Always try -\configure\ with no options as a first step. +compilation. If your machine type is unknown to \configure, you may use the \texttt{ARCH} @@ -551,7 +542,7 @@ for NEC SX6 on a PC). Currently supported architectures are: \begin{tabular}{ll} \texttt{x86\_64} & Intel and AMD 64-bit running Linux\\ -\texttt{arm} & ARM machines (with gfortran or armflang) +\texttt{arm} & ARM machines (with gfortran or armflang)\\ \texttt{crayxt4} & Cray XT4/XT5/XE machines\\ \texttt{mac686} & Apple Intel machines running Mac OS X\\ \texttt{mingw32} & Cross-compilation for MS-Windows, using mingw, 32 bits\\ @@ -564,6 +555,7 @@ for NEC SX6 on a PC). Currently supported architectures are: \texttt{ia32*} & Intel 32-bit machines (x86) running Linux\\ \texttt{ia64*} & Intel 64-bit (Itanium) running Linux \end{tabular}\\ + {\em Note}: \texttt{x86\_64} replaces \texttt{amd64} since v.4.1. Cray Unicos machines, SGI machines with MIPS architecture, HP-Compaq Alphas are no longer supported since v.4.2; PowerPC Macs are no longer @@ -577,7 +569,7 @@ Finally, \configure\ recognizes the following command-line options:\\ \texttt{--enable-openmp}& compile for OpenMP execution if possible (default: no)\\ \texttt{--enable-shared}& use shared libraries if available (default: yes;\\ & "no" is implemented, untested, in only a few cases)\\ -\texttt{--enable-debug}& compile with debug flags (only for selected cases; default: no)\\ +\texttt{--enable-debug}& compile with debug flags (only for some compilers; default: no)\\ \texttt{--enable-pedantic}& compile with pedantic flags (only for gfortran; default: no)\\ \texttt{--enable-signals}& enable signal trapping (default: disabled)\\ \end{tabular}\\ @@ -611,8 +603,7 @@ and the following optional packages:\\ \texttt{--with-libxc-include}& directory where \libxc\ Fortran headers reside\\ \end{tabular}\\ \\ -The following options are available for the CUDA Fortran accelerated version -(currently in a separate package, not yet included in the main distribution):\\ +The following options are available for the CUDA Fortran GPU version:\\ \begin{tabular}{ll} \texttt{--with-cuda=value}& enables compilation of the CUDA Fortran\\ & accelerated subroutines. \\ @@ -631,9 +622,9 @@ The following options are available for the CUDA Fortran accelerated version & PGI compilers currently accept 7.5, 8.0 or 9.0 (default: 8.0)\\ \end{tabular}\\ -Please note that in order to compile the CUDA Fortran code you need ... -the CUDA Fortran code (it is still separated from the main distribution)! -you also need a recent version of the PGI Fortran compiler. +Please remember that in order to compile the CUDA code for GPU's you need ... +the CUDA code (it is aligned to but separated from the main distribution)! +you also need a recent version of the PGI Fortran compiler. OpenMP must be enabled, and you may want to use a CUDA-aware MPI distribution to optimize the data transfer between the processes. @@ -645,7 +636,7 @@ see the Developer Manual. \label{SubSec:manconf} If \configure\ stops before the end, and you don't find a way to fix it, you have to write a working \texttt{make.inc} file (optionally, -\texttt{include/c\_defs.h}). The template used by \configure\ is +\texttt{include/qe\_cdefs.h}). The template used by \configure\ is \texttt{install/make.inc.in} and contains explanations of the meaning of the various variables. Note that you may need to select appropriate preprocessing flags @@ -659,7 +650,7 @@ compilation flags) after a previous (successful or failed) compilation, you must run \texttt{make clean} before recompiling, unless you know exactly which routines are affected by the changed settings and how to force their -recompilation. \configure\ will clean object and executables, unless +recompilation. \configure\ will clean objects and executables, unless you use option \texttt{--save}. \subsection{Libraries} @@ -680,15 +671,10 @@ libraries. \paragraph{BLAS and LAPACK} \qe\ can use any architecture-optimized BLAS and LAPACK replacements, -like those contained e.g. in the following libraries: -\begin{quote} -MKL for Intel CPUs\\ -ACML for AMD CPUs\\ -ESSL for IBM machines\\ -\end{quote} +like those contained e.g. in the MKL for Intel and AMD CPUs, or +ESSL for IBM Power machines. -If none of these is available, we suggest that you use the optimized ATLAS -library: see \\ +If no optimized libraries are available, one may try the ATLAS library: \texttt{http://math-atlas.sourceforge.net/}. Note that ATLAS is not a complete replacement for LAPACK: it contains all of the BLAS, plus the LU code, plus the full storage Cholesky code. Follow the instructions in the @@ -700,7 +686,8 @@ open-source license: see the GotoBLAS2 page at \\ \texttt{http://www.tacc.utexas.edu/tacc-software/gotoblas2/}. \paragraph{FFT} -\qe\ has an internal copy of an old FFTW library. It also supports +The FFTXlib of \qe\ contains a copy of an old FFTW library. +It also supports the newer FFTW3 library and some vendor-specific FFT libraries. \configure\ will first search for vendor-specific FFT libraries; if none is found, it will search for an external FFTW v.3 library; @@ -708,7 +695,7 @@ if none is found, it will fall back to the internal copy of FFTW. \configure\ will add the appropriate preprocessing options: \begin{itemize} \item \texttt{-D\_\_LINUX\_ESSL} for ESSL on IBM Linux machines, -\item \texttt{-DASL} for NEC ASL library on NEC machines, +\item \texttt{-DASL} for NEC ASL library on NEC machines (obsolete?), \item \texttt{-D\_\_ARM\_LIB} for ARM Performance library, \item \texttt{-D\_\_DFTI} for DFTI (Intel MKL library), \item \texttt{-D\_\_FFTW3} for FFTW3 (external), @@ -739,35 +726,41 @@ The accelerated version of the code uses standard CUDA libraries such as developed for \qe{} by NVidia and distributed at \texttt{https://github.com/NVIDIA/Eigensolver\_gpu}. \paragraph {HDF5} -The HDF5 library (\texttt{https://www.hdfgroup.org/downloads/hdf5/}) -can be used to perform binary I/O using the HDF5 format. +The HDF5 library (\texttt{https://www.hdfgroup.org/downloads/hdf5/}), +v.1.8.16 or later, can be used to perform binary I/O using the HDF5 +format. -The user may need to install \texttt{HDF5} library, in this case have care to compile it -with the options \texttt{--enable-fortran}, \texttt{--enable-fortran2003}, -and \texttt{--enable-parallel} (see below). These options must be passed -to the \configure\ script of the library, not of \qe. +If compiling the HDF5 library from sources, attention must be paid +to pass options \texttt{--enable-fortran}, +\texttt{--enable-fortran2003}, and \texttt{--enable-parallel} (see below), +to the \configure\ script of \texttt{HDF5} (not of \qe). -One can use either the \texttt{1.10} or \texttt{1.8} version of the library. -For the latter the user has to download a version at least as new as \texttt{1.8.16}. - -To use the \texttt{HDF5} is usually sufficient to specify the path to the fortran compiler wrapper for - \texttt{HDF5} (\texttt{h5fc} of \texttt{h5pfc} with the \texttt{--with-hdf5=} option of configure. If the wrapper is in the default path just use \texttt{--with-hdf5=yes}. - The configure script is usually able to extract the - linker options and the include directory path from the output of the wrapper. If it fails the user can - use configure options \texttt{--with-hdf5-libs=} and \texttt{--with-hdf5-include=} for the linker options and include path respectively. -These two latter options are often needed when using the HDF5 packages -provided by many LINUX distributions. In this case you may first try first the \texttt{--with-hdf5=yes} -option. If if it fails just type the command \texttt{h5fc --show} ( or \texttt{h5pfc} if you are using paralel HDF5), the command will printout the linker and include options to be passed manually to the configure script. - -The configure script is able to determine whether one is linking to a serial or parallel HDF5 library, and will set the flag \texttt{-D\_\_HDF5\_SERIAL} in the \texttt{make.inc} accordingly. +To use HDF5 is usually sufficient to specify the path to the fortran +compiler wrapper for HDF5 (\texttt{h5fc} of \texttt{h5pfc} with the +\texttt{--with-hdf5=} option of configure. If the wrapper is in the +default path, just use \texttt{--with-hdf5=yes}. +The configure script is usually able to extract the linker options +and the include directory path from the output of the wrapper. If it +fails, the user can provide configure options +\texttt{--with-hdf5-libs=} and \texttt{--with-hdf5-include=} +for the linker options and include path respectively. +These options are often needed when using the HDF5 packages +provided by many LINUX distributions. In this case you may first try +the \texttt{--with-hdf5=yes} option. If it fails, just type command +\texttt{h5fc --show} (or \texttt{h5pfc} if you are using parallel HDF5): +the command will print out the linker and include options to be passed +manually to the configure script. +The configure script is able to determine whether one is linking to a +serial or parallel HDF5 library, and will set the flag +\texttt{-D\_\_HDF5\_SERIAL} in the \texttt{make.inc} file accordingly. \paragraph{LIBXC} \qe\ can use the \libxc\ library. You need to install \libxc\ first, then: \verb|configure --with-libxc --with-libxc-prefix=... --with-libxc-include=...|. You may look for "libxc" in \texttt{make.inc} in case of trouble. Note that -currently only a (small) subset of functionals implemented in \libxc\ can be +currently only a subset of functionals implemented in \libxc\ can be used and that the \libxc-enabled version cannot use functionals from \qe. This will change in the future. @@ -802,7 +795,7 @@ and won't do any extra search. \label{SubSec:Compilation} The compiled codes can run with any input: almost all variables are -dinamically allocated at run-time. Only a few variables have fixed +dinamically allocated at run time. Only a few variables have fixed dimensions, set in file \texttt{Modules/parameters.f90}: \begin{verbatim} ntypx = 10, &! max number of different types of atom @@ -817,31 +810,26 @@ more atomic types or more k-points, edit this file and recompile. At your choice, you may compile the complete \qe\ suite of programs (with \texttt{make all}), or only some specific programs. +All executables are linked in main \texttt{bin} directory. + \texttt{make} with no arguments yields a list of valid compilation targets: \begin{itemize} -\item \texttt{make pw} compiles the self-consistent-field package \PWscf -\item \texttt{make cp} compiles the Car-Parrinello package \CP -\item \texttt{make neb} compiles the \NEB\ package. All executables are linked - in main \texttt{bin} directory -\item \texttt{make ph} compiles the \PHonon\ package. All executables are linked - in main \texttt{bin} directory -\item \texttt{make pp} compiles the postprocessing package \PostProc -\item \texttt{make pwcond} compiles the ballistic conductance package - \texttt{PWcond}. All executables are linked - in main \texttt{bin} directory -\item \texttt{make pwall} produces all of the above. -\item \texttt{make ld1} compiles the pseudopotential generator package - \texttt{atomic}. All executables are linked - in main \texttt{bin} directory -\item \texttt{make xspectra} compiles the package \texttt{XSpectra}. - All executables are linked - in main \texttt{bin} directory -\item \texttt{make all} produces all of the above -\item \texttt{make epw} compiles package \texttt{EPW} -\item \texttt{make plumed} unpacks \texttt{PLUMED}, patches several routines - in \texttt{PW/}, \texttt{CPV/} and \texttt{clib/}, - recompiles \PWscf\ and \CP\ with \texttt{PLUMED} - support +\item \texttt{make pw} self-consistent-field package \PWscf +\item \texttt{make cp} Car-Parrinello package \CP +\item \texttt{make neb} \NEB\ package +\item \texttt{make ph} \PHonon\ package +\item \texttt{make pp} postprocessing package \PostProc +\item \texttt{make pwcond} ballistic conductance package + \texttt{PWcond} +\item \texttt{make pwall} all of the above +\item \texttt{make hp} \texttt{HP} package. +\item \texttt{make tddfpt} \texttt{TD-DFPT} package. +\item \texttt{make ld1} pseudopotential generator package + \texttt{atomic}. +\item \texttt{make xspectra} package \texttt{XSpectra}. +\item \texttt{make all} all of the above +\item \texttt{make epw} package \texttt{EPW} - prerequisite + package \texttt{wannier90} is compiled as well \item \texttt{make w90} downloads \texttt{wannier90}, unpacks it, copies an appropriate \texttt{make.inc} file, produces all executables in \texttt{W90/wannier90.x} and in \texttt{bin/} @@ -857,6 +845,10 @@ At your choice, you may compile the complete \qe\ suite of programs unpacks it, runs its \configure, produces all \texttt{GIPAW} executables in \texttt{GIPAW/bin} and in main \texttt{bin} directory. +\item \texttt{make plumed} unpacks \texttt{PLUMED}, patches several routines + in \texttt{PW/}, \texttt{CPV/} and \texttt{clib/}, + recompiles \PWscf\ and \CP\ with \texttt{PLUMED} + support %\item \texttt{make west} downloads \texttt{WEST} from \texttt{www.west-code.org}, % unpacks it, produces all the executables % in \texttt{West/Wfreq} and \texttt{West/Wstat}. @@ -868,7 +860,7 @@ the \texttt{GUI/README} file instead. If \texttt{make} refuses for some reason to download additional packages, manually download them into subdirectory -\texttt{archive/}, {\em not unpacking or uncompressing them}, +\texttt{archive/}, {\em not} unpacking or uncompressing them, and try \texttt{make} again. Also see Sec.(\ref{SubSec:Download}). \subsection{Running tests and examples} diff --git a/include/defs.h.README b/include/defs.h.README index 201e27922..68a5746a8 100644 --- a/include/defs.h.README +++ b/include/defs.h.README @@ -50,9 +50,10 @@ Libraries: (linux version; aix version no longer supported) __SCALAPACK Use Scalapack routines instead of internal ones for parallel subspace diagonalization - __ELPA_2015 Use ELPA library (version 2015, backward compatibility) - __ELPA_2016 Use ELPA library (version 2016, supported) + __ELPA_201X Use ELPA library, version 201X, X=5,6,7,8,9 + __ELPA Use ELPA library, last version __MASS Use mathematical routines from IBM MASS library + (obsolete?) __SX6 Use MathKeisan libraries for NEC SX machines ASL, MICRO SX-6 specific libraries (obsolescent)