Added various minor spell fixes.

psblas3-type-indexed
Salvatore Filippone 18 years ago
parent d665988606
commit 63c39fd0f2

@ -64,6 +64,9 @@ processes with which it is necessary to communicate:
The list may contain an arbitrary number of groups; its end is marked
by a -1.\\
Specified as: an allocatable integer array of rank one.
\item[{\bf ext\_index}] A list of element indices to be exchanged to
implement the mapping between a base descriptor and a descriptor
with overlap.
\item [{\bf ovrlap\_index}] A list of the overlap elements for the
current process, organized in groups like the previous vector:
\begin{enumerate}
@ -76,7 +79,7 @@ current process, organized in groups like the previous vector:
The list may contain an arbitrary number of groups; its end is marked
by a -1.\\
Specified as: an allocatable integer array of rank one.
\item [{\bf ovrlap\_index}] For all overlap points belonging to th
\item [{\bf ovrlap\_elem}] For all overlap points belonging to th
ecurrent process:
\begin{enumerate}
\item Overlap point index;
@ -90,7 +93,7 @@ global identifier of the local variable $i$.\\
Specified as: an allocatable integer array of rank one.
\item[{\bf glob\_to\_loc, glb\_lc, hashv}] Contain a mapping from
global to local indices. The mapping may be stored in two different
ways depending on the size of the index space.
formats depending on the size of the index space.
\end{description}
The Fortran95 definition for \verb|psb_desc_type| structures is
as follows:
@ -99,7 +102,8 @@ as follows:
\begin{minipage}[tl]{0.9\textwidth}
\begin{verbatim}
type psb_desc_type
integer, allocatable :: matrix_data(:), halo_index(:), ext_index(:)
integer, allocatable :: matrix_data(:), halo_index(:)
integer, allocatable :: ext_index(:)
integer, allocatable :: overlap_elem(:), overlap_index(:)
integer, allocatable :: loc_to_glob(:), glob_to_loc(:)
integer, allocatable :: hashv(:), glb_lc(:,:)
@ -411,6 +415,23 @@ Specified as: a structured data of type \descdata.
\item[Function value] The number of global rows in the mesh
\end{description}
\subsubroutine{psb\_cd\_get\_global\_cols}{Get number of global cols}
\syntax{nr = psb\_cd\_get\_global\_cols}{desc}
\begin{description}
\item[\bf On Entry]
\item[desc] the communication descriptor.\\
Scope:{\bf local}.\\
Type:{\bf required}.\\
Specified as: a structured data of type \descdata.
\end{description}
\begin{description}
\item[\bf On Return]
\item[Function value] The number of global cols in the mesh
\end{description}
\subsubroutine{psb\_cd\_get\_context}{Get communication context}
\syntax{ictxt = psb\_cd\_get\_context}{desc}

@ -24,8 +24,8 @@ 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).
practically all Fortran~95 compilers on the market, including the GNU
Fortran 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
@ -53,8 +53,8 @@ factor that affects efficiency of the implemented application. Optimal
data distribution requirements for a given preconditioner may conflict
with distribution requirements of the rest of the solver. Finding the
optimal trade-off may be very difficult because it is application
dependent. Possible solution to these problems and other important
inputs to the development of the PSBLAS software package has come from
dependent. Possible solutions to these problems and other important
inputs to the development of the PSBLAS software package have come from
an established experience in applying the PSBLAS solvers to
computational fluid dynamics applications.

@ -41,7 +41,7 @@ Specified as: an integer variable.
\syntax{call psb\_info}{icontxt, iam, np}
This subroutine returns informantion about the PSBLAS parallel environment, defining
This subroutine returns information about the PSBLAS parallel environment, defining
a virtual parallel machine.
\begin{description}
\item[\bf On Entry ]

@ -14,7 +14,8 @@
This subroutine initializes the communication descriptor associated
with an index space. Exactly one of the optional arguments
\verb|parts|, \verb|vg|, \verb|vl| must be specified, thereby choosing
\verb|parts|, \verb|vg|, \verb|vl| or \verb|nl|
must be specified, thereby choosing
the specific initialization strategy:
\begin{description}
\item[\bf On Entry ]
@ -109,7 +110,7 @@ An integer value; 0 means no error has been detected.
the sum of the sizes of the individual vectors \verb|vl| specified
on the calling processes. The subroutine will check that each entry
in the global index space $(1\dots mg)$ is specified exactly once.
\item[nl] In this case we are implying a generalize row-block
\item[nl] In this case we are implying a generalized row-block
distribution in which each process $I$ gets assigned a consecutive
chunk of $N_I=nl$ global indices.
\end{description}
@ -124,17 +125,24 @@ An integer value; 0 means no error has been detected.
\syntax{call psb\_cdins}{nz, ia, ja, desc\_a, info}
This subroutine examines the edges of the graph associated with the
discretization mesh (and isomorphic to the sparsity pattern of a
linear system coefficient matrix), storing them as necessary into the
communication descriptor. It automatically ignores edges that do not
insist on the current process, i.e. edges for which neither the starting
nor the end vertex belong to the current process.
\begin{description}
\item[\bf On Entry]
\item[nz] the number of points being inserted.\\
Scope: {\bf local}.\\
Type: {\bf required}.\\
Specified as: an integer value.
\item[ia] the row indices of the points being inserted.\\
\item[ia] the indices of the starting vertex of the edges being inserted.\\
Scope: {\bf local}.\\
Type: {\bf required}.\\
Specified as: an integer array of length $nz$.
\item[ja] the column indices of the points being inserted.\\
\item[ja] the indices of the end vertex of the edges being inserted.\\
Scope: {\bf local}.\\
Type: {\bf required}.\\
Specified as: an integer array of length $nz$.
@ -272,7 +280,7 @@ Specified as: a structured data type.
Scope:{\bf local}.\\
Type:{\bf required}.\\
Specified as: a structured data of type \spdata.
\item[nl] the number of layers desired.\\
\item[nl] the number of additional layers desired.\\
Scope:{\bf global}.\\
Type:{\bf required}.\\
Specified as: an integer value $nl\ge 0$.
@ -296,6 +304,20 @@ Type: {\bf required} \\
An integer value; 0 means no error has been detected.
\end{description}
\section*{Notes}
\begin{enumerate}
\item Specifying \verb|psb_ovt_xhal_| for the \verb|extype| argument
the user will obtain a descriptor for a domain partition in which
the additional layers are fetched as part of an (extended) halo;
however the index-to-process mapping is identical to that of the
base descriptor;
\item Specifying \verb|psb_ovt_asov_| for the \verb|extype| argument
the user will obtain a descriptor with an overlapped decomposition:
the additional layer is aggregated to the local subdomain (and thus
is an overlap), and a new halo extending beyond the last additional
layer is formed.
\end{enumerate}
%% %
%% %% psb_cdren %%
@ -467,7 +489,9 @@ An integer value; 0 means no error has been detected.
\item If the descriptor is in the build state, then the sparse matrix
must also be in the build state; the action of the routine is to
(implicitly) call \verb|psb_cdins| to add entries to the sparsity
pattern;
pattern; each sparse matrix entry implicitly defines a graph edge,
that is passed to the descriptor routine for the appropriate
processing.
\item If the descriptor is in the assembled state, then any entries in
the sparse matrix that would generate additional communication
requirements will be ignored;
@ -945,7 +969,8 @@ Specified as: a structured data of type \descdata.
\item[iact] specifies action to be taken in case of range errors.
Scope: {\bf global} \\
Type: {\bf optional}\\
Specified as: a character variable \verb|E|, \verb|W| or \verb|A|.
Specified as: a character variable \verb|I|gnore, \verb|W|arning or
\verb|A|bort, default \verb|I|gnore.
\end{description}
\begin{description}

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