mirror of
https://github.com/sfilippone/amg4psblas.git
synced 2026-10-24 14:51:50 +00:00
mld2p4-2:
Start update of documentation.
This commit is contained in:
@@ -75,7 +75,7 @@ Cambridge University Press.
|
||||
P.~D'Ambra, D.~di~Serafino, S.~Filippone,
|
||||
\emph{MLD2P4: a Package of Parallel Multilevel
|
||||
Algebraic Domain Decomposition Preconditioners
|
||||
in Fortran 95}, ICAR-CNR Technical Report RT-ICAR-NA-09-01, 2009.
|
||||
in Fortran 95}, ACM Trans. Math. Softw., 37(3), 2010.
|
||||
%
|
||||
\bibitem{UMFPACK}
|
||||
T.A.~Davis,
|
||||
@@ -124,8 +124,15 @@ BIT Numerical Mathematics, 43, 2003, 945--959.
|
||||
%
|
||||
\bibitem{PSBLASGUIDE}
|
||||
S.~Filippone, A.~Buttari,
|
||||
{\em PSBLAS-2.3 User's Guide. A Reference Guide for the Parallel Sparse BLAS Library}, 2008,
|
||||
{\em PSBLAS-3.0 User's Guide. A Reference Guide for the Parallel Sparse BLAS Library}, 2012,
|
||||
available from \texttt{http://www.ce.uniroma2.it/psblas/}.
|
||||
|
||||
\bibitem{PSBLAS3}
|
||||
Salvatore Filippone and Alfredo Buttari.
|
||||
{\em {Object-Oriented Techniques for Sparse Matrix Computations in Fortran
|
||||
2003}.}
|
||||
ACM Trans. on Math Software, 38(4), 2012.
|
||||
|
||||
%
|
||||
\bibitem{psblas_00}
|
||||
S.~Filippone, M.~Colajanni,
|
||||
|
||||
+35
-32
@@ -5,40 +5,43 @@
|
||||
The MLD2P4 is freely distributable under the following copyright
|
||||
terms: {\small
|
||||
\begin{verbatim}
|
||||
MLD2P4 version 1.1
|
||||
MultiLevel Domain Decomposition Parallel Preconditioners Package
|
||||
based on PSBLAS (Parallel Sparse BLAS version 2.3.1)
|
||||
|
||||
(C) Copyright 2008, 2009
|
||||
|
||||
MLD2P4 version 2.0
|
||||
MultiLevel Domain Decomposition Parallel Preconditioners Package
|
||||
based on PSBLAS (Parallel Sparse BLAS version 3.0)
|
||||
|
||||
(C) Copyright 2008,2009,2010, 2010
|
||||
|
||||
Salvatore Filippone University of Rome Tor Vergata
|
||||
Alfredo Buttari University of Rome Tor Vergata
|
||||
Pasqua D'Ambra ICAR-CNR, Naples
|
||||
Daniela di Serafino Second University of Naples
|
||||
Salvatore Filippone University of Rome Tor Vergata
|
||||
Alfredo Buttari CNRS-IRIT, Toulouse
|
||||
Pasqua D'Ambra ICAR-CNR, Naples
|
||||
Daniela di Serafino Second University of Naples
|
||||
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions, and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
3. The name of the MLD2P4 group or the names of its contributors may
|
||||
not be used to endorse or promote products derived from this
|
||||
software without specific written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE MLD2P4 GROUP OR ITS CONTRIBUTORS
|
||||
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions, and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
3. The name of the MLD2P4 group or the names of its contributors may
|
||||
not be used to endorse or promote products derived from this
|
||||
software without specific written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE MLD2P4 GROUP OR ITS CONTRIBUTORS
|
||||
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
\end{verbatim}
|
||||
}
|
||||
|
||||
+22
-14
@@ -9,7 +9,8 @@ to be used in the iterative solutions of sparse linear systems:
|
||||
Ax=b,
|
||||
\label{system1}
|
||||
\end{equation}
|
||||
where $A$ is a square, real or complex, sparse matrix with a symmetric sparsity pattern.
|
||||
where $A$ is a square, real or complex, sparse matrix with a symmetric
|
||||
sparsity pattern.
|
||||
%
|
||||
%\textbf{NOTA: Caso non simmetrico, aggregazione con $(A+A^T)$ fatta!
|
||||
%Dovremmo implementare uno smoothed prolongator
|
||||
@@ -28,21 +29,22 @@ discretization of a PDE). The \emph{smoothed aggregation} technique is applied
|
||||
as algebraic coarsening strategy~\cite{BREZINA_VANEK,VANEK_MANDEL_BREZINA}.
|
||||
\end{itemize}
|
||||
|
||||
The package is written in \emph{Fortran~95}, following an
|
||||
\emph{object-oriented approach} through the exploitation of features
|
||||
such as abstract data type creation, functional
|
||||
overloading and dynamic memory management.
|
||||
Version 2.0 of the package is written in \emph{Fortran~2003}, following an
|
||||
\emph{object-oriented design} through the exploitation of features
|
||||
such as abstract data type creation, functional overloading and
|
||||
dynamic memory management.
|
||||
% , while providing a smooth
|
||||
% path towards the integration in legacy application codes.
|
||||
The parallel implementation is based
|
||||
on a Single Program Multiple Data (SPMD) paradigm for distributed-memory architectures.
|
||||
Single and double precision implementations of MLD2P4 are available for both the
|
||||
real and the complex case, that can be used through a single interface.
|
||||
The parallel implementation is based on a Single Program Multiple Data
|
||||
(SPMD) paradigm for distributed-memory architectures. Single and
|
||||
double precision implementations of MLD2P4 are available for both the
|
||||
real and the complex case, that can be used through a single
|
||||
interface.
|
||||
|
||||
|
||||
MLD2P4 has been designed to implement scalable and easy-to-use multilevel preconditioners
|
||||
in the context of the \emph{PSBLAS (Parallel Sparse BLAS)
|
||||
computational framework}~\cite{psblas_00}.
|
||||
MLD2P4 has been designed to implement scalable and easy-to-use
|
||||
multilevel preconditioners in the context of the \emph{PSBLAS
|
||||
(Parallel Sparse BLAS) computational framework}~\cite{psblas_00,PSBLAS3}.
|
||||
PSBLAS is a library originally developed to address the parallel implementation of
|
||||
iterative solvers for sparse linear system, by providing basic linear algebra
|
||||
operators and data management facilities for distributed sparse matrices; it
|
||||
@@ -54,7 +56,7 @@ parallel sparse linear algebra kernels, to pursue goals such as performance,
|
||||
portability, modularity ed extensibility in the development of the preconditioner
|
||||
package. On the other hand, the implementation of MLD2P4 has led to some
|
||||
revisions and extentions of the PSBLAS kernels, leading to the
|
||||
recent PSBLAS 2.0 version~\cite{PSBLASGUIDE}. The inter-process comunication required
|
||||
PSBLAS 2.0 version~\cite{PSBLASGUIDE}. The inter-process comunication required
|
||||
by MLD2P4 is encapsulated into the PSBLAS routines, except few cases where
|
||||
MPI~\cite{MPI1} is explicitly called. Therefore, MLD2P4 can be run on any parallel
|
||||
machine where PSBLAS and MPI implementations are available.
|
||||
@@ -72,6 +74,12 @@ We provide here a description of the upper-layer routines, but not of the
|
||||
medium-layer ones.%% For a detailed description of the overall software architecture
|
||||
%% of MLD2P4 the reader is referred to~\cite{MLD2P4_TOMS}.
|
||||
|
||||
The user interface of version 2.0 is essentially identical to that of
|
||||
version 1.1; the internal implementation however has been changed a
|
||||
lot, and it has become much easier to extend the library by adding new
|
||||
smoothers and/or solvers, thanks to the Fortran~2003 features
|
||||
exploited in the design of PSBLAS~3.0.
|
||||
|
||||
This guide is organized as follows. General information on the distribution of the source code
|
||||
is reported in Section~\ref{sec:distribution}, while details on the configuration
|
||||
and installation of the package are given in Section~\ref{sec:building}. A description of
|
||||
@@ -79,7 +87,7 @@ multi-level Schwarz preconditioners based on smoothed aggregation is provided
|
||||
in Section~\ref{sec:background}, to help the users in choosing among the different preconditioners
|
||||
implemented in MLD2P4. The basics for building and applying the preconditioners
|
||||
with the Krylov solvers implemented in PSBLAS are reported in Section~\ref{sec:started}, where the
|
||||
Fortran 95 codes of a few sample programs are also shown. A reference guide for
|
||||
Fortran codes of a few sample programs are also shown. A reference guide for
|
||||
the upper-layer routines of MLD2P4, that are the user interface, is provided
|
||||
in Section~\ref{sec:userinterface}. The error handling mechanism used by the package is briefly described
|
||||
in Section~\ref{sec:errors}. The copyright terms concerning the distribution and modification
|
||||
|
||||
@@ -127,7 +127,7 @@ based on PSBLAS}
|
||||
\flushright
|
||||
\large Software version: 2.0-beta\\
|
||||
%\today
|
||||
\large March 20, 2012
|
||||
\large October 31, 2012
|
||||
\end{minipage}}
|
||||
%\addtolength{\textwidth}{\centeroffset}
|
||||
\vspace{\stretch{2}}
|
||||
|
||||
@@ -104,7 +104,7 @@ based on PSBLAS}\\[3ex]
|
||||
%\today
|
||||
Software version: 2.0-beta\\
|
||||
%\today
|
||||
March 20,2012
|
||||
October 31, 2012
|
||||
\clearpage
|
||||
\ \\
|
||||
\thispagestyle{empty}
|
||||
|
||||
Reference in New Issue
Block a user