|
|
|
\section{Configuring and Building MLD2P4\label{sec:building}}
|
|
|
|
\markboth{\textsc{MLD2P4 User's and Reference Guide}}
|
|
|
|
{\textsc{\ref{sec:building} Configuring and Building MLD2P4}}
|
|
|
|
To build MLD2P4 it is necessary to set up a Makefile with appropriate
|
|
|
|
values for your system; this is done by means of the \verb|configure|
|
|
|
|
script. The distribution also includes the autoconf and automake
|
|
|
|
sources employed to generate the script, but this should not normally
|
|
|
|
be needed to build the software.
|
|
|
|
|
|
|
|
MLD2P4 is implemented almost entirely in Fortran~95, with some
|
|
|
|
interfaces to external libraries in C; we require the Fortran compiler
|
|
|
|
to support the Fortran~95 standard plus the extension TR15581, which
|
|
|
|
enhances the usability of \verb|ALLOCATABLE| variables. Most modern
|
|
|
|
Fortran compilers, including the GNU Fortran compiler, support this
|
|
|
|
language level. The software defines data types and interfaces for
|
|
|
|
real and complex data, in both single and double precision.
|
|
|
|
|
|
|
|
\subsection{Prerequisites}
|
|
|
|
The following base libraries are needed:
|
|
|
|
\begin{description}
|
|
|
|
\item[BLAS] The Basic Linear Algebra subprograms. Many vendors provide
|
|
|
|
optimized versions; if no vendor version is available for a given
|
|
|
|
platform, the ATLAS software \verb!http://www.netlib.org/atlas!
|
|
|
|
may be employed. The reference BLAS from Netlib
|
|
|
|
\verb|htt://www.netlib.org/blas| are meant to define the standard
|
|
|
|
behaviour of the BLAS interface, so they not optimized for any
|
|
|
|
particular plaftorm, and they should only be used as a last
|
|
|
|
resort; note that BLAS computation form a relatively small part of
|
|
|
|
the MLD2P4/PSBLAS computations, except when using preconditioners
|
|
|
|
based on the UMFPACK or SuperLU third party libraries.
|
|
|
|
\item[MPI] A version of MPI is available on most high performance
|
|
|
|
computing system; we only require version 1.1.
|
|
|
|
\item[BLACS] The Basic Linear Algebra Communication Subroutines are
|
|
|
|
available in source form from \verb|http://www.netlib.org/blacs|;
|
|
|
|
some vendors include them in their parallel computing
|
|
|
|
support libraries.
|
|
|
|
\end{description}
|
|
|
|
|
|
|
|
The MLD2P4 software requires PSBLAS version 2.3 (at least), available
|
|
|
|
from \verb|http://www.ce.uniroma2.it/psblas|; indeed, all the
|
|
|
|
prerequisites listed so fare are also prerequisites of PSBLAS. Please
|
|
|
|
note that to build the MLD2P4 library it is necessary to get access to
|
|
|
|
the source PSBLAS directory used to build the version under use; after
|
|
|
|
the build process completes, only the compiled form of the library is
|
|
|
|
necessary to build user applications.
|
|
|
|
|
|
|
|
Please note that all the libraries listed so fare (BLAS, MPI, BLACS,
|
|
|
|
PSBLAS) must have Fortran interfaces compatible with the MLD2P4;
|
|
|
|
usually this means that they should all be built with the same
|
|
|
|
compiler.
|
|
|
|
|
|
|
|
|
|
|
|
\subsection{Optional third party libraries}
|
|
|
|
|
|
|
|
- software `third party" (UMFPACK, SuperLU, SuperLUdist - specificare versioni e opzioni di
|
|
|
|
configure, dire che UMFPACK e SuperLU sono richiesti, rispettivamente, dalle versioni in
|
|
|
|
singola ed in doppia precisione.)\\
|
|
|
|
\subsection{Configuration options}
|
|
|
|
- sistemi operativi e compilatori su cui MLD2P4 e' stato
|
|
|
|
implementato con successo \\
|
|
|
|
- sono previste opzioni di configurazione per il debugging o per il profiling? \\
|
|
|
|
- albero delle directory generato al momento dell'installazione, con brevissima
|
|
|
|
descrizione del contenuto delle directory - aggiungere la directory \texttt{examples}\\
|