Changed docs to reflect version 2.1 and allocatables.

psblas3-type-indexed
Salvatore Filippone 18 years ago
parent 1fe3b2f9b4
commit 22fc6385d5

@ -46,7 +46,7 @@ sparse coefficient matrix.
current process (local); equivalent to the number of local columns in
the sparse coefficient matrix. They include the halo.
\end{description}
Specified as: a pointer to integer array of dimension 10.
Specified as: an allocatable integer array of dimension \verb|psb_mdata_size_|.
\item[{\bf halo\_index}] A list of the halo and boundary elements for
the current process to be exchanged with other processes; for each
processes with which it is necessary to communicate:
@ -59,7 +59,7 @@ processes with which it is necessary to communicate:
\end{enumerate}
The list may contain an arbitrary number of groups; its end is marked
by a -1.\\
Specified as: a pointer to an integer array of rank one.
Specified as: an allocatable integer array of rank one.
\item [{\bf ovrlap\_index}] A list of the overlap elements for the
current process, organized in groups like the previous vector:
\begin{enumerate}
@ -71,7 +71,7 @@ current process, organized in groups like the previous vector:
\end{enumerate}
The list may contain an arbitrary number of groups; its end is marked
by a -1.\\
Specified as: a pointer to an integer array of rank one.
Specified as: an allocatable integer array of rank one.
\item [{\bf ovrlap\_index}] For all overlap points belonging to th
ecurrent process:
\begin{enumerate}
@ -80,14 +80,14 @@ ecurrent process:
\end{enumerate}
The list may contain an arbitrary number of groups; its end is marked
by a -1.\\
Specified as: a pointer to an integer array of rank one.
Specified as: an allocatable integer array of rank one.
\item[{\bf loc\_to\_glob}] each element $i$ of this array contains
global identifier of the local variable $i$.\\
Specified as: a pointer to an integer array of rank one.
Specified as: an allocatable integer array of rank one.
\item[{\bf glob\_to\_loc}] if global variable $i$ is read by current
process then element $i$ contains local index correpondent to global variable $i$;
else element $i$ contains -1 (NULL) value.\\
Specified as: a pointer to an integer array of rank one.
Specified as: an allocatabled integer array of rank one.
\end{description}
The Fortran95 definition for \verb|psb_desc_type| structures is
as follows:
@ -96,9 +96,9 @@ as follows:
\begin{minipage}[tl]{0.9\textwidth}
\begin{verbatim}
type psb_desc_type
integer, pointer :: matrix_data(:)=>null(), halo_index(:)=>null()
integer, pointer :: overlap_elem(:)=>null(), overlap_index(:)=>null()
integer, pointer :: loc_to_glob(:)=>null(), glob_to_loc(:)=>null()
integer, allocatable :: matrix_data(:), halo_index(:)
integer, allocatable :: overlap_elem(:), overlap_index(:)
integer, allocatable :: loc_to_glob(:), glob_to_loc(:)
end type psb_desc_type
\end{verbatim}
\end{minipage}
@ -157,27 +157,27 @@ choose, if he/she so whishes, a specific matrix storage mode. \\
\begin{description}
\item[{\bf aspk}] Contains values of the local distributed sparse
matrix.\\
Specified as: a pointer to an array of rank one of type corresponding
Specified as: an allocatable array of rank one of type corresponding
to matrix entries type.
\item[{\bf ia1}] Holds integer information on distributed sparse
matrix. Actual information will depend on data format used.\\
Specified as: a pointer to an integer array of rank one.
Specified as: an allocatable integer array of rank one.
\item[{\bf ia2}] Holds integer information on distributed sparse
matrix. Actual information will depend on data format used.\\
Specified as: a pointer to an integer array of rank one.
Specified as: an allocatable integer array of rank one.
\item[{\bf infoa}] On entry can hold auxiliary information on distributed sparse
matrix. Actual information will depend on data format used.\\
Specified as: integer array of length \verb|psb_ifasize_|.
Specified as: an integer array of length \verb|psb_ifasize_|.
\item[{\bf fida}] Defines the format of the distributed sparse matrix.\\
Specified as: a string of length 5
\item[{\bf descra}] Describe the characteristic of the distributed sparse matrix.\\
Specified as: array of character of length 9.
\item[{\bf pl}] Specifies the local row permutation of distributed sparse
matrix. If pl(1) is equal to 0, then there isn't row permutation.\\
Specified as: pointer to integer array of dimension equal to number of local row (matrix\_data[psb\_n\_row\_\hbox{]})
Specified as: an allocatable integer array of dimension equal to number of local row (matrix\_data[psb\_n\_row\_\hbox{]})
\item[{\bf pr}] Specifies the local column permutation of distributed sparse
matrix. If PR(1) is equal to 0, then there isn't columnm permutation.\\
Specified as: pointer to integer array of dimension equal to number of
Specified as: an allocatable integer array of dimension equal to number of
local row (matrix\_data[psb\_n\_col\_\hbox{]})
\item[{\bf m}] Number of rows; if row indices are stored explicitly,
as in Coordinate Storage, should be greater than or equal to the
@ -199,9 +199,9 @@ type psb_dspmat_type
character :: fida(5)
character :: descra(10)
integer :: infoa(psb_ifa_size_)
real(kind(1.d0)), pointer :: aspk(:)=>null()
integer, pointer :: ia1(:)=>null(), ia2(:)=>null()
integer, pointer :: pr(:)=>null(), pl(:)=>null()
real(kind(1.d0)), allocatable :: aspk(:)
integer, allocatable :: ia1(:), ia2(:)
integer, allocatable :: pr(:), pl(:)
end type psb_dspmat_type
\end{verbatim}
\end{minipage}
@ -307,26 +307,27 @@ to be interpreted.
\begin{Sbox}
\begin{minipage}[tl]{0.9\textwidth}
\begin{verbatim}
type psb_base_prec
type(psb_spmat_type), pointer :: av(:) => null()
real(kind(1.d0)), pointer :: d(:) => null()
type(psb_desc_type), pointer :: desc_data => null()
integer, pointer :: iprcparm(:) => null()
real(kind(1.d0)), pointer :: dprcparm(:) => null()
integer, pointer :: perm(:) => null()
integer, pointer :: mlia(:) => null()
integer, pointer :: invperm(:) => null()
integer, pointer :: nlaggr(:) => null()
type(psb_spmat_type), pointer :: aorig => null()
real(kind(1.d0)), pointer :: dorig(:) => null()
end type psb_base_prec
type psb_dbaseprc_type
type(psb_dspmat_type), allocatable :: av(:)
real(kind(1.d0)), allocatable :: d(:)
type(psb_desc_type) :: desc_data , desc_ac
integer, allocatable :: iprcparm(:)
real(kind(1.d0)), allocatable :: dprcparm(:)
integer, allocatable :: perm(:), invperm(:)
integer, allocatable :: mlia(:), nlaggr(:)
type(psb_dspmat_type), pointer :: base_a => null() !
type(psb_desc_type), pointer :: base_desc => null() !
real(kind(1.d0)), allocatable :: dorig(:)
end type psb_dbaseprc_type
type psb_prec_type
type(psb_base_prec), pointer :: baseprecv(:) => null()
type psb_dprec_type
type(psb_dbaseprc_type), allocatable :: baseprecv(:)
integer :: prec, base_prec
end type psb_prec_type
end type psb_dprec_type
\end{verbatim}
\end{minipage}
\end{Sbox}

@ -12,13 +12,21 @@ addresses a distributed memory execution model operating with message
passing.
The PSBLAS library is internally implemented in a mixture of
Fortran~77 and Fortran~95~\cite{metcalf} programming languages. A
similar approach has been advocated by a number of authors,
Fortran~77 and Fortran~95~\cite{metcalf} programming languages.
A similar approach has been advocated by a number of authors,
e.g.~\cite{machiels}. Moreover, the Fortran~95 facilities for dynamic
memory management and interface overloading greatly enhance the usability of the PSBLAS
memory management and interface overloading greatly enhance the
usability of the PSBLAS
subroutines. In this way, the library can take care of runtime memory
requirements that are quite difficult or even impossible to predict at
implementation or compilation time. The following presentation of the
implementation or compilation time.
In the current release we rely on the availability of the so-called
allocatable extensions, specified in TR~15581. Strictly speaking they
are outside the Fortran~95 standard; however they have been included
in the Fortran~2003 language standard, and are available in
prctically all Fortran~95 compilers on the market, including the GCC
compiler from the Free Software Foundation (as of version 4.2).
The presentation of the
PSBLAS library follows the general structure of the proposal for
serial Sparse BLAS~\cite{sblas97,sblas02}, which in its turn is based on the
proposal for BLAS on dense matrices~\cite{BLAS1,BLAS2,BLAS3}.

@ -10,7 +10,7 @@ methods.
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subroutine{psb\_krylov \label{cg}}{Krylov Methods Driver Routine}
\subroutine{psb\_krylov \label{krylov}}{Krylov Methods Driver Routine}
This subroutine is a driver that provides a general interface for all
the Krylov-Subspace family methods implemented in PSBLAS-2.0. The

@ -823,7 +823,7 @@ $y$. %% This subroutine computes the location of the first element of
\\
Scope: {\bf local} \\
Type: {\bf required} \\
Specified as: a pointer to array of rank one or two
Specified as: an array of rank one or two
containing numbers of type specified in
Table~\ref{tab:f90spsm}.
\item[info]

@ -15,7 +15,7 @@
\vspace*{\stretch{1}}
\noindent\hspace*{\centeroffset}\makebox[0pt][l]{\begin{minipage}{\textwidth}
\flushright
{\Huge\bfseries PSBLAS-2.0.2 User's guide
{\Huge\bfseries PSBLAS-2.1 User's guide
}
\noindent\rule[-1ex]{\textwidth}{5pt}\\[2.5ex]
\hfill\emph{\Large A reference guide for the Parallel Sparse BLAS library}

@ -613,7 +613,7 @@ rank-1 array.
\item[x] The dense matrix to be allocated.\\
Scope: {\bf local} \\
Type: {\bf required}\\
Specified as: a rank one or two array with the POINTER
Specified as: a rank one or two array with the ALLOCATABLE
attribute, of type real, complex or integer.\\
\item[info] Error code.
Scope: {\bf local} \\
@ -662,7 +662,7 @@ Specified as: integer, possible values: \verb|psb_dupl_ovwrt_|,
\item[x] the output dense matrix.\\
Scope: {\bf local} \\
Type: {\bf required}\\
Specified as: a rank one or two array with the POINTER
Specified as: a rank one or two array with the ALLOCATABLE
attribute, of type real, complex or integer.\\
\item[info] Error code.
Scope: {\bf local} \\
@ -698,7 +698,7 @@ Specified as: a variable of type \descdata.\\
\item[x] The dense matrix to be assembled.\\
Scope: {\bf local} \\
Type: {\bf required}\\
Specified as: a rank one or two array with the POINTER
Specified as: a rank one or two array with the ALLOCATABLE
attribute, of type real, complex or integer.\\
\item[info] Error code.\\
Scope: {\bf local} \\
@ -718,7 +718,7 @@ Specified as: Integer scalar.\\
be freed.\\
Scope: {\bf local} \\
Type: {\bf required}\\
Specified as: a rank one or two array with the POINTER
Specified as: a rank one or two array with the ALLOCATABLE
attribute, of type real, complex or integer.\\
\item[desc\_a] The communication descriptor.\\
@ -883,7 +883,7 @@ rank-1 array.
\item[x] The dense matrix to be allocated.\\
Scope: {\bf local} \\
Type: {\bf required}\\
Specified as: a rank one or two array with the POINTER
Specified as: a rank one or two array with the ALLOCATABLE
attribute, of type real, complex or integer.\\
\item[info] Error code.
Scope: {\bf local} \\
@ -913,7 +913,7 @@ Specified as: a structured data of type \descdata.
local numbering.\\
Scope: {\bf local} \\
Type: {\bf required}\\
Specified as: a rank one array with the POINTER
Specified as: a rank one array with the ALLOCATABLE
attribute, of type integer.\\
\item[info] Error code.
Scope: {\bf local} \\
@ -948,7 +948,7 @@ Specified as: a structured data of type \descdata.
local numbering.\\
Scope: {\bf local} \\
Type: {\bf required}\\
Specified as: a rank one array with the POINTER
Specified as: a rank one array with the ALLOCATABLE
attribute, of type integer.\\
\item[info] Error code.
Scope: {\bf local} \\

@ -24,7 +24,7 @@
\relax
\pdfcompresslevel=0 %-- 0 = none, 9 = best
\pdfinfo{ %-- Info dictionary of PDF output /Author (Alfredo Buttari)
/Title (Parallel Sparse BLAS V. 2.0.2)
/Title (Parallel Sparse BLAS V. 2.1)
/Subject (Parallel Sparse Basic Linear Algebra Subroutines)
/Keywords (Computer Science Linear Algebra Fluid Dynamics Parallel Linux MPI PSBLAS Iterative Solvers Preconditioners)
/Creator (pdfLaTeX)

File diff suppressed because one or more lines are too long
Loading…
Cancel
Save