mirror of https://gitlab.com/QEF/q-e.git
[skip-CI] First batch of documentation updates
This commit is contained in:
parent
e944405225
commit
a6069406ee
|
@ -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.
|
||||
|
|
|
@ -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=<options>} and \texttt{--with-hdf5-include=<path>} 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=<options>} and \texttt{--with-hdf5-include=<path>}
|
||||
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}
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
Loading…
Reference in New Issue