mirror of
https://github.com/sfilippone/psblas3.git
synced 2026-10-21 05:12:13 +00:00
Updated docs with fnd_owner adn set_p_adjcncy
This commit is contained in:
+1
-1
@@ -138,7 +138,7 @@ PDF = $(join $(BASEFILE),.pdf)
|
||||
PS = $(join $(BASEFILE),.ps)
|
||||
GXS = $(join $(BASEFILE),.gxs)
|
||||
GLX = $(join $(BASEFILE),.glx)
|
||||
TARGETPDF= ../psblas-3.6.pdf
|
||||
TARGETPDF= ../psblas-3.7.pdf
|
||||
BASEHTML = $(patsubst %.tex,%,$(HTMLFILE))
|
||||
HTML = $(join $(HTMLFILE),.html)
|
||||
HTMLDIR = ../html
|
||||
|
||||
+72
-2
@@ -306,7 +306,7 @@ Type: {\bf optional}; default: \verb|.true.|.\\
|
||||
\begin{description}
|
||||
\item[\bf On Return]
|
||||
\item[Function value] The global indices, returned as an allocatable
|
||||
integer array of rank 1.
|
||||
integer array of kind \verb|psb_lpk_| and rank 1.
|
||||
\end{description}
|
||||
|
||||
|
||||
@@ -369,7 +369,7 @@ call desc%cnv(mold)
|
||||
\item[\bf On Entry]
|
||||
\item[desc] the communication descriptor.\\
|
||||
Scope: {\bf local}.\\
|
||||
\item[mold] the desred integer storage format.\\
|
||||
\item[mold] the desired integer storage format.\\
|
||||
Scope: {\bf local}.\\
|
||||
% Type: {\bf required}.\\
|
||||
% Intent: {\bf in}.\\
|
||||
@@ -421,6 +421,76 @@ has no effect on communication descriptors that have already been
|
||||
initialized. Moreover the threshold must have the same value on all
|
||||
processes.
|
||||
|
||||
|
||||
\subsubsection*{get\_p\_adjcncy --- Get process adjacency list}
|
||||
\addcontentsline{toc}{paragraph}{get\_p\_adjcncy}
|
||||
|
||||
\begin{verbatim}
|
||||
list = desc%get_p_adjcncy()
|
||||
\end{verbatim}
|
||||
|
||||
\begin{description}
|
||||
\item[Type:] Asynchronous.
|
||||
\item[\bf On Return]
|
||||
\item[Function value] The current list of adjacent processes,
|
||||
i.e. processes with which the current one has to exchange halo
|
||||
data.
|
||||
|
||||
\end{description}
|
||||
|
||||
\subsubsection*{set\_p\_adjcncy --- Set process adjacency list}
|
||||
\addcontentsline{toc}{paragraph}{set\_p\_adjcncy}
|
||||
|
||||
\begin{verbatim}
|
||||
call desc%set_p_adjcncy(list)
|
||||
\end{verbatim}
|
||||
|
||||
\begin{description}
|
||||
\item[Type:] Asynchronous.
|
||||
\item[\bf On Entry]
|
||||
\item[list] the list of adjacent processes.\\
|
||||
Scope: {\bf local}.\\
|
||||
Type: {\bf required}.\\
|
||||
Intent: {\bf in}.\\
|
||||
Specified as: a one-dimensional array of integers of kind \verb|psb_ipk_|.
|
||||
\end{description}
|
||||
Note: this method can be called after a call to \verb|psb_cdall| and
|
||||
before a call to \verb|psb_cdasb|. The user is specifying here some
|
||||
knowledge about which processes are topological neighbours of the
|
||||
current process. The availability of this information may speed up the
|
||||
execution of the assembly call \verb|psb_cdasb|.
|
||||
|
||||
|
||||
\subsubsection*{fnd\_owner --- Find the owner process of a set of indices}
|
||||
\addcontentsline{toc}{paragraph}{fnd\_owner}
|
||||
|
||||
\begin{verbatim}
|
||||
call desc%fnd_owner(idx,iprc,info)
|
||||
\end{verbatim}
|
||||
|
||||
\begin{description}
|
||||
\item[Type:] Synchronous.
|
||||
\item[\bf On Entry]
|
||||
\item[idx] the list of global indices for which we need the owning processes.\\
|
||||
Scope: {\bf local}.\\
|
||||
Type: {\bf required}.\\
|
||||
Intent: {\bf in}.\\
|
||||
Specified as: a one-dimensional array of integers of kind \verb|psb_lpk_|.
|
||||
\item[\bf On Return]
|
||||
\item[iprc] the list of processes owning the indices in \verb|idx|.\\
|
||||
Scope: {\bf local}.\\
|
||||
Type: {\bf required}.\\
|
||||
Intent: {\bf in}.\\
|
||||
Specified as: an allocatable one-dimensional array of integers of kind \verb|psb_ipk_|.
|
||||
\end{description}
|
||||
Note: this method may or may not actually require communications, depending on
|
||||
the exact internal data storage; given that the choice of storage may
|
||||
be altered by runtime parameters, it is necessary for safety that this
|
||||
method is called by all processes.
|
||||
|
||||
|
||||
|
||||
|
||||
\subsubsection{Named Constants}
|
||||
\label{sec:cd_constants}
|
||||
\begin{description}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
|
||||
|
||||
\section{Parallel environment routines}
|
||||
\label{sec:parenv}
|
||||
|
||||
|
||||
@@ -334,8 +334,15 @@ An integer value; 0 means no error has been detected.
|
||||
\item On exit from this routine the descriptor is in the assembled
|
||||
state.
|
||||
\end{enumerate}
|
||||
|
||||
|
||||
This call will set up all the necessary information for the halo data
|
||||
exchanges. In doing so, the library will need to identify the set of
|
||||
processes owning the halo indices through the use of the
|
||||
\verb|desc%fnd_owner()| method; the owning processes are the
|
||||
topological neighbours of the calling process. If the user has some
|
||||
background information on the processes that are neighbours of the
|
||||
current one, it is possible to specify explicitly the list of adjacent
|
||||
processes with a call to \verb|desc%set_p_adjcncy(list)|; this will
|
||||
speed up the subsequent call to \verb|psb_cdasb|.
|
||||
|
||||
%
|
||||
%% psb_cdcpy %%
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
\relax
|
||||
\pdfcompresslevel=0 %-- 0 = none, 9 = best
|
||||
\pdfinfo{ %-- Info dictionary of PDF output /Author (Alfredo Buttari)
|
||||
/Title (Parallel Sparse BLAS V. 3.6.0)
|
||||
/Title (Parallel Sparse BLAS V. 3.7.0)
|
||||
/Subject (Parallel Sparse Basic Linear Algebra Subroutines)
|
||||
/Keywords (Computer Science Linear Algebra Fluid Dynamics Parallel Linux MPI PSBLAS Iterative Solvers Preconditioners)
|
||||
/Creator (pdfLaTeX)
|
||||
@@ -88,7 +88,7 @@
|
||||
|
||||
\begin{document}
|
||||
|
||||
\pdfbookmark{PSBLAS-v3.6.0 User's Guide}{title}
|
||||
\pdfbookmark{PSBLAS-v3.7.0 User's Guide}{title}
|
||||
\lstset{language=Fortran}
|
||||
\newlength{\centeroffset}
|
||||
\setlength{\centeroffset}{-0.5\oddsidemargin}
|
||||
@@ -98,7 +98,7 @@
|
||||
\vspace*{\stretch{1}}
|
||||
\noindent\hspace*{\centeroffset}\makebox[0pt][l]{\begin{minipage}{\textwidth}
|
||||
\flushright
|
||||
{\Huge\bfseries PSBLAS 3.6.0 User's guide
|
||||
{\Huge\bfseries PSBLAS 3.7.0 User's guide
|
||||
}
|
||||
\noindent\rule[-1ex]{\textwidth}{5pt}\\[2.5ex]
|
||||
\hfill\emph{\Large A reference guide for the Parallel Sparse BLAS library}
|
||||
@@ -110,7 +110,7 @@
|
||||
{\bfseries
|
||||
by Salvatore Filippone\\
|
||||
and Alfredo Buttari}\\
|
||||
Dec 1st, 2018
|
||||
Jan 7th, 2020
|
||||
\end{minipage}}
|
||||
|
||||
%\addtolength{\textwidth}{\centeroffset}
|
||||
|
||||
@@ -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. 3.6.0)
|
||||
% /Title (Parallel Sparse BLAS V. 3.7.0)
|
||||
% /Subject (Parallel Sparse Basic Linear Algebra Subroutines)
|
||||
% /Keywords (Computer Science Linear Algebra Fluid Dynamics Parallel Linux MPI PSBLAS Iterative Solvers Preconditioners)
|
||||
% /Creator (pdfLaTeX)
|
||||
@@ -93,9 +93,9 @@
|
||||
Alfredo Buttari } \\
|
||||
%\\[10ex]
|
||||
%\today
|
||||
Software version: 3.6.0\\
|
||||
Software version: 3.7.0\\
|
||||
%\today
|
||||
Dec 1st, 2018
|
||||
Jan 7th, 2020
|
||||
\cleardoublepage
|
||||
\begingroup
|
||||
\renewcommand*{\thepage}{toc}
|
||||
|
||||
Reference in New Issue
Block a user