Further doc fixes.
stopcriterion
Salvatore Filippone 17 years ago
parent daa48bbb85
commit 4dda0494a7

@ -117,7 +117,7 @@ BIT Numerical Mathematics, 43, 2003, 945--959.
% %
\bibitem{PSBLASGUIDE} \bibitem{PSBLASGUIDE}
S.~Filippone, A.~Buttari, S.~Filippone, A.~Buttari,
{\em PSBLAS-2.3 User's Guide. A Reference Guide for the Parallel Sparse BLAS Library}, {\em PSBLAS-2.3 User's Guide. A Reference Guide for the Parallel Sparse BLAS Library}, 2008,
available from \texttt{http://www.ce.uniroma2.it/psblas/}. available from \texttt{http://www.ce.uniroma2.it/psblas/}.
% %
\bibitem{psblas_00} \bibitem{psblas_00}

@ -22,29 +22,29 @@ real and complex data, in both single and double precision.
The following base libraries are needed: The following base libraries are needed:
\begin{description} \begin{description}
\item[BLAS] The Basic Linear Algebra subprograms \cite{blas3,blas3,blas1}. \item[BLAS] \cite{blas3,blas2,blas1} Many vendors provide optimized versions
Many vendors provide optimized versions; if no vendor version is of the Basic Linear Algebra Subprograms; if no vendor version is
available for a given platform, the ATLAS software available for a given platform, the ATLAS software
(\verb!http://math-atlas.sourceforge.net/!) (\verb!http://math-atlas.sourceforge.net/!)
may be employed. The reference BLAS from Netlib may be employed. The reference BLAS from Netlib
(\verb|http://www.netlib.org/blas|) are meant to define the standard (\verb|http://www.netlib.org/blas|) are meant to define the standard
behaviour of the BLAS interface, so they are not optimized for any behaviour of the BLAS interface, so they are not optimized for any
particular plaftorm, and should only be used as a last particular plaftorm, and should only be used as a last
resort. Note that BLAS computation form a relatively small part of resort. Note that BLAS computations form a relatively small part of
the MLD2P4/PSBLAS computations; they are however critical when using the MLD2P4/PSBLAS computations; they are however critical when using
preconditioners based on the UMFPACK or SuperLU third party preconditioners based on the UMFPACK or SuperLU third party
libraries. libraries.
\item[MPI] A version of MPI \cite{MPI2,MPI1} is available on most high performance \item[MPI] \cite{MPI2,MPI1} A version of MPI is available on most
computing system; only version 1.1 is required. high-performance computing systems; only version 1.1 is required.
\item[BLACS] The Basic Linear Algebra Communication Subroutines \item[BLACS] \cite{BLACS} The Basic Linear Algebra Communication Subprograms
\cite{BLACS} are available in source form from \verb|http://www.netlib.org/blacs|; are available in source form from \verb|http://www.netlib.org/blacs|;
some vendors include them in their parallel computing some vendors include them in their parallel computing
support libraries. support libraries.
\item[PSBLAS] Parallel Sparse BLAS \cite{PSBLASGUIDE,psblas_00} is \item[PSBLAS] \cite{PSBLASGUIDE,psblas_00} Parallel Sparse BLAS is
available from \\ \verb|http://www.ce.uniroma2.it/psblas|; indeed, all the available from \\ \verb|http://www.ce.uniroma2.it/psblas|; version 2.3
prerequisites listed so far are also prerequisites of PSBLAS. (or later) is required. Indeed, all the prerequisites
Version 2.3 (or later) is required. To build the MLD2P4 library listed so far are also prerequisites of PSBLAS.
it is necessary to get access to To build the MLD2P4 library it is necessary to get access to
the source PSBLAS directory employed to build the version under use; after the source PSBLAS directory employed to build the version under use; after
the MLD2P4 build process completes, only the compiled form of the the MLD2P4 build process completes, only the compiled form of the
PSBLAS library is necessary to build user applications. PSBLAS library is necessary to build user applications.
@ -67,7 +67,7 @@ for multilevel preconditioners may change to reflect their presence.
\verb|http://www.cise.ufl.edu/research/sparse/umfpack/|; \verb|http://www.cise.ufl.edu/research/sparse/umfpack/|;
provides serial factorization and triangular system solution for double provides serial factorization and triangular system solution for double
precision real and complex data. We have tested precision real and complex data. We have tested
versions 4.4 and 5.1; versions 4.4 and 5.1.
\item[SuperLU] \cite{SUPERLU} \item[SuperLU] \cite{SUPERLU}
A sparse direct factorization package available from \\ A sparse direct factorization package available from \\
\verb|http://crd.lbl.gov/~xiaoye/SuperLU/|; provides serial \verb|http://crd.lbl.gov/~xiaoye/SuperLU/|; provides serial
@ -96,7 +96,6 @@ be specified with an {\em absolute} path).
The full set of options may be looked at by issuing the command The full set of options may be looked at by issuing the command
\verb|./configure --help|, which produces: \verb|./configure --help|, which produces:
\begin{verbatim} \begin{verbatim}
$ ./configure --help
`configure' configures MLD2P4 1.0 to adapt to many kinds of systems. `configure' configures MLD2P4 1.0 to adapt to many kinds of systems.
Usage: ./configure [OPTION]... [VAR=VALUE]... Usage: ./configure [OPTION]... [VAR=VALUE]...
@ -232,12 +231,12 @@ both of them are further divided into \verb|fileread| and
predefined choice of preconditioners, selectable via integer predefined choice of preconditioners, selectable via integer
values. These are intended to get an acquaintance with the values. These are intended to get an acquaintance with the
multilevel preconditioners. multilevel preconditioners.
\item[\tt test] contains a set of more sophisticated examples that \item[\tt tests] contains a set of more sophisticated examples that
will allow the user, via the input files in the \verb|runs| will allow the user, via the input files in the \verb|runs|
subdirectories, to experiment with the full range of preconditioners subdirectories, to experiment with the full range of preconditioners
implemented in the library. implemented in the library.
\end{description} \end{description}
The \verb|fileread| directories contain sample programs that read The \verb|fileread| directories contain sample programs that read
sparse matrices from files, according to the Matrix Market or the sparse matrices from files, according to the Matrix Market or the
Harwell-Boeing storage format; the \verb|pargen| instead generate Harwell-Boeing storage format; the \verb|pdegen| instead generate
matrices in full parallel mode from the discretization of a sample PDE. matrices in full parallel mode from the discretization of a sample PDE.

@ -74,7 +74,7 @@ compilers.
\begin{table}[th] \begin{table}[th]
\begin{center} \begin{center}
%{\small %{\small
\begin{tabular}{|l|l|p{6.4cm}|} \begin{tabular}{|l|l|p{7.8cm}|}
\hline \hline
\textsc{type} & \textsc{string} & \textsc{default preconditioner} \\ \hline \textsc{type} & \textsc{string} & \textsc{default preconditioner} \\ \hline
No preconditioner &\verb|'NOPREC'|& Considered only to use the PSBLAS No preconditioner &\verb|'NOPREC'|& Considered only to use the PSBLAS
@ -89,15 +89,15 @@ Multilevel &\verb|'ML'| & Multi-level hybrid preconditioner (additive
Number of levels: 2. Number of levels: 2.
Post-smoother: RAS with overlap 1 and ILU(0) Post-smoother: RAS with overlap 1 and ILU(0)
on the local blocks. on the local blocks.
Aggregation: smoothed aggregation with Aggregation: decoupled smoothed aggregation with
threshold $\theta = 0$. threshold $\theta = 0$.
Coarsest matrix: distributed among the processors. Coarsest matrix: distributed among the processors.
Coarsest-level solver: Coarsest-level solver:
4 sweeps of the block-Jacobi solver, 4 sweeps of the block-Jacobi solver,
with LU (or ILU) factorization of the blocks with LU (or ILU) factorization of the blocks
(UMFPACK for the double precision versions and (UMFPACK for the double precision versions and
SuperLU for the single precision ones, if they have been SuperLU for the single precision ones, if the packages
installed; ILU(0), otherwise). \\ have been installed; ILU(0), otherwise). \\
\hline \hline
\end{tabular} \end{tabular}
%} %}

@ -185,7 +185,7 @@ refer to Section~\ref{sec:background}.
\verb|mld_sub_prol_| & \verb|character(len=*)| \verb|mld_sub_prol_| & \verb|character(len=*)|
& \texttt{'SUM'} \hspace{2.5cm} \texttt{'NONE'} & \texttt{'SUM'} \hspace{2.5cm} \texttt{'NONE'}
& \texttt{'NONE'} & \texttt{'NONE'}
& Type of prolongator operator: & Type of prolongation operator:
\texttt{'SUM'} for adding the contributions from the overlap, \texttt{'NONE'} \texttt{'SUM'} for adding the contributions from the overlap, \texttt{'NONE'}
for neglecting them. \\ \hline for neglecting them. \\ \hline
\verb|mld_sub_solve_| & \verb|character(len=*)| \verb|mld_sub_solve_| & \verb|character(len=*)|
@ -233,7 +233,7 @@ refer to Section~\ref{sec:background}.
\verb|mld_aggr_thresh_| & \verb|real(|\emph{kind\_parameter}\verb|)| \verb|mld_aggr_thresh_| & \verb|real(|\emph{kind\_parameter}\verb|)|
& Any~real~num. $\in [0, 1]$ & Any~real~num. $\in [0, 1]$
& 0 & 0
& The threshold $\theta$ in the aggregation algorithm. \\ \hline & Threshold $\theta$ in the aggregation algorithm. \\ \hline
\verb|mld_aggr_eig_| & \verb|character(len=*)| \verb|mld_aggr_eig_| & \verb|character(len=*)|
& \texttt{'A\_NORMI'} & \texttt{'A\_NORMI'}
& \texttt{'A\_NORMI'} & \texttt{'A\_NORMI'}
@ -244,11 +244,12 @@ refer to Section~\ref{sec:background}.
\verb|mld_aggr_damp_| & \verb|real(|\emph{kind\_parameter}\verb|)| \verb|mld_aggr_damp_| & \verb|real(|\emph{kind\_parameter}\verb|)|
& Any~real~num. & Any~real~num.
& $4/(3||D^{-1}A||_\infty)$ & $4/(3||D^{-1}A||_\infty)$
& The damping parameter $\omega$ in the smoothed aggregation algorithm. & Damping parameter $\omega$ in the smoothed aggregation algorithm.
If the user specifies a negative value, then $\omega$ is set to its default If the user specifies a negative value, then $\omega$
value; otherwise, $\omega$ is set to the value provided by the is set to its default value;
user. In the latter case no estimate of the eigenvalue $D^{-1}A$ with otherwise, $\omega$ is set to the value provided by the
largest modulus is computed.\\ user. In the latter case no estimate of the eigenvalue of
$D^{-1}A$ with largest modulus is computed.\\
\hline \hline
\end{tabular} \end{tabular}
\end{center} \end{center}
@ -263,30 +264,36 @@ refer to Section~\ref{sec:background}.
\verb|what| & \textsc{data type} & \verb|val| & \textsc{default} & \verb|what| & \textsc{data type} & \verb|val| & \textsc{default} &
\textsc{comments} \\ \hline \textsc{comments} \\ \hline
%\multicolumn{5}{|c|}{\emph{coarse-space correction at the coarsest level}}\\ \hline %\multicolumn{5}{|c|}{\emph{coarse-space correction at the coarsest level}}\\ \hline
\verb|mld_coarse_solve_| & \verb|character(len=*)|
& \texttt{'BJAC'} \hspace{2.5cm} \texttt{'UMF'} \hspace{2.5cm} \texttt{'SLU'}
\hspace{2.5cm} \texttt{'SLUDIST'}
& \texttt{'BJAC'}
& Solver used at the coarsest level: block Jacobi, sequential LU from UMFPACK,
sequential LU from SuperLU, distributed LU from SuperLU\_Dist.
With \texttt{'SLUDIST'} the coarsest matrix
must be distributed; with \texttt{'UMF'} or
\texttt{'SLU'} it must be replicated. \\ \hline
\verb|mld_coarse_mat_| & \verb|character(len=*)| \verb|mld_coarse_mat_| & \verb|character(len=*)|
& \texttt{'DISTR'} \hspace{2.5cm} \texttt{'REPL'} & \texttt{'DISTR'} \hspace{2.5cm} \texttt{'REPL'}
& \texttt{'DISTR'} & \texttt{'DISTR'}
& Coarsest matrix: distributed among the processors or replicated on each of them. \\ \hline & Coarsest matrix: distributed among the processors or
replicated on each of them. \\ \hline
\verb|mld_coarse_solve_| & \verb|character(len=*)|
& \texttt{'BJAC'} \hspace{2.5cm} \texttt{'UMF'} \hspace{2.5cm}
\texttt{'SLU'} \hspace{2.5cm} \texttt{'SLUDIST'}
& \texttt{'BJAC'}
& Solver used at the coarsest level: block Jacobi, sequential
LU from UMFPACK, sequential LU from SuperLU,
distributed LU from SuperLU\_Dist.
\texttt{'BJAC'} and \texttt{'SLUDIST'} require the coarsest
matrix to be distributed, while \texttt{'UMF'} and
\texttt{'SLU'} require it to be replicated. \\ \hline
\verb|mld_coarse_subsolve_| & \verb|character(len=*)| \verb|mld_coarse_subsolve_| & \verb|character(len=*)|
& \texttt{'ILU'} \hspace{2.5cm} \texttt{'MILU'} \hspace{2.5cm} \texttt{'ILUT'} & \texttt{'ILU'} \hspace{2.5cm} \texttt{'MILU'}
\hspace{2.5cm} \texttt{'ILUT'}
\hspace{2.5cm} \texttt{'UMF'} \hspace{2.5cm} \texttt{'SLU'} \hspace{2.5cm} \texttt{'UMF'} \hspace{2.5cm} \texttt{'SLU'}
& \texttt{'UMF'} & \texttt{'UMF'}
& Solver for the diagonal blocks of the coarse matrix, in case the block Jacobi solver & Solver for the diagonal blocks of the coarse matrix,
is chosen as coarsest-level solver: ILU($p$), MILU($p$), ILU($p,t$), LU from UMFPACK, in case the block Jacobi solver
is chosen as coarsest-level solver: ILU($p$), MILU($p$),
ILU($p,t$), LU from UMFPACK,
LU from SuperLU, plus triangular solve. \\ \hline LU from SuperLU, plus triangular solve. \\ \hline
\verb|mld_coarse_sweeps_|& \verb|integer| \verb|mld_coarse_sweeps_|& \verb|integer|
& Any~int.~num.~$> 0$ & Any~int.~num.~$> 0$
& 4 & 4
& Number of Block-Jacobi sweeps when 'BJAC' is used as coarsest-level solver. \\ \hline & Number of Block-Jacobi sweeps when 'BJAC' is used as
coarsest-level solver. \\ \hline
\verb|mld_coarse_fillin_| & \verb|integer| \verb|mld_coarse_fillin_| & \verb|integer|
& Any~int.~num.~$\ge 0$ & Any~int.~num.~$\ge 0$
& 0 & 0

Loading…
Cancel
Save