psblas3:
base/tools/psb_cdins.f90 docs/html/footnode.html docs/html/img100.png docs/html/img101.png docs/html/img102.png docs/html/img103.png docs/html/img104.png docs/html/img105.png docs/html/img106.png docs/html/img107.png docs/html/img108.png docs/html/img109.png docs/html/img110.png docs/html/img111.png docs/html/img112.png docs/html/img113.png docs/html/img114.png docs/html/img115.png docs/html/img116.png docs/html/img117.png docs/html/img118.png docs/html/img119.png docs/html/img120.png docs/html/img121.png docs/html/img122.png docs/html/img123.png docs/html/img124.png docs/html/img125.png docs/html/img126.png docs/html/img127.png docs/html/img128.png docs/html/img129.png docs/html/img130.png docs/html/img131.png docs/html/img132.png docs/html/img134.png docs/html/img135.png docs/html/img136.png docs/html/img137.png docs/html/img138.png docs/html/img139.png docs/html/img140.png docs/html/img141.png docs/html/img142.png docs/html/img143.png docs/html/img144.png docs/html/img145.png docs/html/img146.png docs/html/img85.png docs/html/img86.png docs/html/img87.png docs/html/img88.png docs/html/img89.png docs/html/img90.png docs/html/img91.png docs/html/img92.png docs/html/img93.png docs/html/img94.png docs/html/img95.png docs/html/img96.png docs/html/img97.png docs/html/img98.png docs/html/img99.png docs/html/index.html docs/html/node100.html docs/html/node112.html docs/html/node117.html docs/html/node119.html docs/html/node56.html docs/html/node57.html docs/html/node61.html docs/html/node62.html docs/html/node63.html docs/html/node67.html docs/html/node68.html docs/html/node71.html docs/html/node80.html docs/html/node82.html docs/html/node84.html docs/html/node85.html docs/html/node86.html docs/html/node88.html docs/html/node92.html docs/html/node93.html docs/html/node94.html docs/html/node95.html docs/html/node96.html docs/html/node97.html docs/html/node98.html docs/html/node99.html docs/html/userhtml.html docs/psblas-3.0.pdf docs/src/toolsrout.tex docs/src/userguide.tex docs/src/userhtml.tex test/pargen/runs/ppde.inp util/psb_d_genpde_impl.f90 New docs for LIDX in CDALL.
@@ -162,9 +162,9 @@ end subroutine psb_cdinsrc
|
||||
! Arguments:
|
||||
! nz - integer. The number of points to insert.
|
||||
! ja(:) - integer The column indices of the points.
|
||||
! desc - type(psb_desc_type). The communication descriptor
|
||||
! desc - type(psb_desc_type). The communication descriptor
|
||||
! info - integer. Return code.
|
||||
! jla(:) - integer(psb_ipk_), optional The col indices in local numbering
|
||||
! jla(:) - integer(psb_ipk_), optional The col indices in local numbering
|
||||
! mask(:) - logical, optional, target
|
||||
!
|
||||
subroutine psb_cdinsc(nz,ja,desc,info,jla,mask)
|
||||
|
||||
@@ -104,7 +104,7 @@ sample scatter/gather routines.
|
||||
.
|
||||
</PRE>
|
||||
</DD>
|
||||
<DT><A NAME="foot7055">... follows</A><A
|
||||
<DT><A NAME="foot7086">... follows</A><A
|
||||
HREF="node112.html#tex2html30"><SUP>3</SUP></A></DT>
|
||||
<DD>The string is case-insensitive
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 263 B After Width: | Height: | Size: 255 B |
|
Before Width: | Height: | Size: 244 B After Width: | Height: | Size: 387 B |
|
Before Width: | Height: | Size: 276 B After Width: | Height: | Size: 263 B |
|
Before Width: | Height: | Size: 374 B After Width: | Height: | Size: 244 B |
|
Before Width: | Height: | Size: 222 B After Width: | Height: | Size: 276 B |
|
Before Width: | Height: | Size: 259 B After Width: | Height: | Size: 374 B |
|
Before Width: | Height: | Size: 804 B After Width: | Height: | Size: 222 B |
|
Before Width: | Height: | Size: 408 B After Width: | Height: | Size: 259 B |
|
Before Width: | Height: | Size: 419 B After Width: | Height: | Size: 804 B |
|
Before Width: | Height: | Size: 354 B After Width: | Height: | Size: 408 B |
|
Before Width: | Height: | Size: 310 B After Width: | Height: | Size: 419 B |
|
Before Width: | Height: | Size: 835 B After Width: | Height: | Size: 354 B |
|
Before Width: | Height: | Size: 335 B After Width: | Height: | Size: 310 B |
|
Before Width: | Height: | Size: 497 B After Width: | Height: | Size: 835 B |
|
Before Width: | Height: | Size: 403 B After Width: | Height: | Size: 335 B |
|
Before Width: | Height: | Size: 266 B After Width: | Height: | Size: 497 B |
|
Before Width: | Height: | Size: 533 B After Width: | Height: | Size: 403 B |
|
Before Width: | Height: | Size: 544 B After Width: | Height: | Size: 266 B |
|
Before Width: | Height: | Size: 334 B After Width: | Height: | Size: 533 B |
|
Before Width: | Height: | Size: 231 B After Width: | Height: | Size: 544 B |
|
Before Width: | Height: | Size: 519 B After Width: | Height: | Size: 334 B |
|
Before Width: | Height: | Size: 604 B After Width: | Height: | Size: 231 B |
|
Before Width: | Height: | Size: 577 B After Width: | Height: | Size: 519 B |
|
Before Width: | Height: | Size: 210 B After Width: | Height: | Size: 604 B |
|
Before Width: | Height: | Size: 568 B After Width: | Height: | Size: 577 B |
|
Before Width: | Height: | Size: 743 B After Width: | Height: | Size: 210 B |
|
Before Width: | Height: | Size: 276 B After Width: | Height: | Size: 568 B |
|
Before Width: | Height: | Size: 521 B After Width: | Height: | Size: 743 B |
|
Before Width: | Height: | Size: 267 B After Width: | Height: | Size: 276 B |
|
Before Width: | Height: | Size: 570 B After Width: | Height: | Size: 521 B |
|
Before Width: | Height: | Size: 239 B After Width: | Height: | Size: 267 B |
|
Before Width: | Height: | Size: 0 B After Width: | Height: | Size: 570 B |
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 239 B |
|
Before Width: | Height: | Size: 371 B After Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 431 B After Width: | Height: | Size: 0 B |
|
Before Width: | Height: | Size: 916 B After Width: | Height: | Size: 371 B |
|
Before Width: | Height: | Size: 677 B After Width: | Height: | Size: 431 B |
|
Before Width: | Height: | Size: 234 B After Width: | Height: | Size: 916 B |
|
Before Width: | Height: | Size: 430 B After Width: | Height: | Size: 677 B |
|
Before Width: | Height: | Size: 500 B After Width: | Height: | Size: 234 B |
|
Before Width: | Height: | Size: 412 B After Width: | Height: | Size: 430 B |
|
Before Width: | Height: | Size: 356 B After Width: | Height: | Size: 500 B |
|
Before Width: | Height: | Size: 379 B After Width: | Height: | Size: 412 B |
|
Before Width: | Height: | Size: 288 B After Width: | Height: | Size: 356 B |
|
Before Width: | Height: | Size: 410 B After Width: | Height: | Size: 379 B |
|
Before Width: | Height: | Size: 352 B After Width: | Height: | Size: 288 B |
|
Before Width: | Height: | Size: 573 B After Width: | Height: | Size: 508 B |
|
Before Width: | Height: | Size: 318 B After Width: | Height: | Size: 212 B |
|
Before Width: | Height: | Size: 459 B After Width: | Height: | Size: 573 B |
|
Before Width: | Height: | Size: 395 B After Width: | Height: | Size: 318 B |
|
Before Width: | Height: | Size: 286 B After Width: | Height: | Size: 459 B |
|
Before Width: | Height: | Size: 415 B After Width: | Height: | Size: 395 B |
|
Before Width: | Height: | Size: 186 B After Width: | Height: | Size: 286 B |
|
Before Width: | Height: | Size: 375 B After Width: | Height: | Size: 415 B |
|
Before Width: | Height: | Size: 227 B After Width: | Height: | Size: 186 B |
|
Before Width: | Height: | Size: 341 B After Width: | Height: | Size: 375 B |
|
Before Width: | Height: | Size: 258 B After Width: | Height: | Size: 227 B |
|
Before Width: | Height: | Size: 193 B After Width: | Height: | Size: 341 B |
|
Before Width: | Height: | Size: 134 B After Width: | Height: | Size: 258 B |
|
Before Width: | Height: | Size: 255 B After Width: | Height: | Size: 193 B |
|
Before Width: | Height: | Size: 387 B After Width: | Height: | Size: 134 B |
@@ -58,7 +58,7 @@ University of Rome ``Tor Vergata'', Italy
|
||||
<BR>
|
||||
Software version: 3.0-beta
|
||||
<BR>
|
||||
March 1, 2012.
|
||||
April 16, 2012.
|
||||
|
||||
<BR><HR>
|
||||
<!--Table of Child-Links-->
|
||||
|
||||
@@ -94,7 +94,7 @@ explicitly.
|
||||
|
||||
<P>
|
||||
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:routerr"></A><A NAME="6722"></A>
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:routerr"></A><A NAME="6753"></A>
|
||||
<TABLE>
|
||||
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 9:</STRONG>
|
||||
The layout of a generic <TT>psb_foo</TT>
|
||||
@@ -108,7 +108,7 @@ The layout of a generic <TT>psb_foo</TT>
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="508" HEIGHT="142" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img132.png"
|
||||
SRC="img134.png"
|
||||
ALT="\fbox{\TheSbox}">
|
||||
</DIV></TD></TR>
|
||||
</TABLE>
|
||||
@@ -124,7 +124,7 @@ called by <code>psb_spasb</code> ... by process 0 (i.e. the root process).
|
||||
|
||||
<P>
|
||||
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:errormsg"></A><A NAME="6723"></A>
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:errormsg"></A><A NAME="6754"></A>
|
||||
<TABLE>
|
||||
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 10:</STRONG>
|
||||
A sample PSBLAS-2.0 error
|
||||
@@ -138,7 +138,7 @@ A sample PSBLAS-2.0 error
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="508" HEIGHT="142" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img132.png"
|
||||
SRC="img134.png"
|
||||
ALT="\fbox{\TheSbox}">
|
||||
</DIV></TD></TR>
|
||||
</TABLE>
|
||||
|
||||
@@ -104,9 +104,9 @@ Error code: if no error, 0 is returned.
|
||||
Legal inputs to this subroutine are interpreted depending on the
|
||||
<IMG
|
||||
WIDTH="42" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img134.png"
|
||||
SRC="img136.png"
|
||||
ALT="$ptype$"> string as follows<A NAME="tex2html30"
|
||||
HREF="footnode.html#foot7055"><SUP>3</SUP></A>:
|
||||
HREF="footnode.html#foot7086"><SUP>3</SUP></A>:
|
||||
<DL>
|
||||
<DT><STRONG>NONE</STRONG></DT>
|
||||
<DD>No preconditioning, i.e. the preconditioner is just a copy
|
||||
@@ -129,7 +129,7 @@ Legal inputs to this subroutine are interpreted depending on the
|
||||
by the data allocation boundaries for each process; requires no
|
||||
communication. Only the incomplete factorization <IMG
|
||||
WIDTH="56" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img135.png"
|
||||
SRC="img137.png"
|
||||
ALT="$ILU(0)$"> is
|
||||
currently implemented.
|
||||
</DD>
|
||||
|
||||
@@ -73,7 +73,7 @@ err = \frac{\|r_i\|}{(\|A\|\|x_i\|+\|b\|)} < eps
|
||||
|
||||
<IMG
|
||||
WIDTH="204" HEIGHT="44" BORDER="0"
|
||||
SRC="img136.png"
|
||||
SRC="img138.png"
|
||||
ALT="\begin{displaymath}err = \frac{\Vert r_i\Vert}{(\Vert A\Vert\Vert x_i\Vert+\Vert b\Vert)} < eps \end{displaymath}">
|
||||
</DIV>
|
||||
<BR CLEAR="ALL">
|
||||
@@ -89,7 +89,7 @@ err = \frac{\|r_i\|}{\|b\|_2} < eps
|
||||
|
||||
<IMG
|
||||
WIDTH="121" HEIGHT="44" BORDER="0"
|
||||
SRC="img137.png"
|
||||
SRC="img139.png"
|
||||
ALT="\begin{displaymath}err = \frac{\Vert r_i\Vert}{\Vert b\Vert _2} < eps \end{displaymath}">
|
||||
</DIV>
|
||||
<BR CLEAR="ALL">
|
||||
@@ -97,11 +97,11 @@ err = \frac{\|r_i\|}{\|b\|_2} < eps
|
||||
according to the value passed through the istop argument (see
|
||||
later). In the above formulae, <IMG
|
||||
WIDTH="19" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img138.png"
|
||||
SRC="img140.png"
|
||||
ALT="$x_i$"> is the tentative solution and
|
||||
<IMG
|
||||
WIDTH="90" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img139.png"
|
||||
SRC="img141.png"
|
||||
ALT="$r_i=b-Ax_i$"> the corresponding residual at the <IMG
|
||||
WIDTH="9" HEIGHT="17" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img4.png"
|
||||
@@ -233,22 +233,22 @@ Intent: <B>in</B>.
|
||||
<BR>
|
||||
Default: <IMG
|
||||
WIDTH="100" HEIGHT="17" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img140.png"
|
||||
SRC="img142.png"
|
||||
ALT="$itmax = 1000$">.
|
||||
<BR>
|
||||
Specified as: an integer variable <IMG
|
||||
WIDTH="75" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img141.png"
|
||||
SRC="img143.png"
|
||||
ALT="$itmax \ge 1$">.
|
||||
</DD>
|
||||
<DT><STRONG>itrace</STRONG></DT>
|
||||
<DD>If <IMG
|
||||
WIDTH="29" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img101.png"
|
||||
SRC="img103.png"
|
||||
ALT="$>0$"> print out an informational message about
|
||||
convergence every <IMG
|
||||
WIDTH="46" HEIGHT="17" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img142.png"
|
||||
SRC="img144.png"
|
||||
ALT="$itrace$"> iterations.
|
||||
<BR>
|
||||
Scope: <B>global</B>
|
||||
@@ -268,7 +268,7 @@ Intent: <B>in</B>.
|
||||
<BR>
|
||||
Values: <IMG
|
||||
WIDTH="59" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img143.png"
|
||||
SRC="img145.png"
|
||||
ALT="$irst>0$">. This is employed for the BiCGSTABL or RGMRES
|
||||
methods, otherwise it is ignored.
|
||||
|
||||
@@ -329,7 +329,7 @@ Returned as: a real number.
|
||||
ALT="$A$">; only
|
||||
available with the <IMG
|
||||
WIDTH="29" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img144.png"
|
||||
SRC="img146.png"
|
||||
ALT="$CG$"> method.
|
||||
<BR>
|
||||
Scope: <B>global</B>
|
||||
|
||||
@@ -63,7 +63,7 @@ Mathematics Department, Macquarie University, Sydney.
|
||||
The command line arguments were: <BR>
|
||||
<STRONG>latex2html</STRONG> <TT>-local_icons -noaddress -dir ../../html userhtml.tex</TT>
|
||||
<P>
|
||||
The translation was initiated by Salvatore Filippone on 2012-03-26
|
||||
The translation was initiated by Salvatore Filippone on 2012-04-16
|
||||
<BR><HR>
|
||||
|
||||
</BODY>
|
||||
|
||||
@@ -59,7 +59,7 @@ psb_cdall -- Allocates a communication descriptor</A>
|
||||
<PRE>
|
||||
call psb_cdall(icontxt, desc_a, info,mg=mg,parts=parts)
|
||||
call psb_cdall(icontxt, desc_a, info,vg=vg,[mg=mg,flag=flag])
|
||||
call psb_cdall(icontxt, desc_a, info,vl=vl,[nl=nl,globalcheck=.true.])
|
||||
call psb_cdall(icontxt, desc_a, info,vl=vl,[nl=nl,globalcheck=.true.,lidx=lidx])
|
||||
call psb_cdall(icontxt, desc_a, info,nl=nl)
|
||||
call psb_cdall(icontxt, desc_a, info,mg=mg,repl=.true.)
|
||||
</PRE>
|
||||
@@ -181,8 +181,8 @@ Specified as: an integer value. May be specified together with
|
||||
<code>vl</code>.
|
||||
</DD>
|
||||
<DT><STRONG>repl</STRONG></DT>
|
||||
<DD>Data allocation: build a replicated index space (i.e. all
|
||||
processes own all indices).
|
||||
<DD>Data allocation: build a replicated index space
|
||||
(i.e. all processes own all indices).
|
||||
<BR>
|
||||
Scope:<B>global</B>.
|
||||
<BR>
|
||||
@@ -204,6 +204,24 @@ Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: a logical value, default: <code>.true.</code>
|
||||
</DD>
|
||||
<DT><STRONG>lidx</STRONG></DT>
|
||||
<DD>Data allocation: the set of local indices
|
||||
<IMG
|
||||
WIDTH="81" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img85.png"
|
||||
ALT="$lidx(1:nl)$"> to be assigned to the global indices <IMG
|
||||
WIDTH="17" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img86.png"
|
||||
ALT="$vl$">.
|
||||
<BR>
|
||||
Scope:<B>local</B>.
|
||||
<BR>
|
||||
Type:<B>optional</B>.
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an integer array.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
@@ -286,10 +304,10 @@ An integer value; 0 means no error has been detected.
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="107" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img85.png"
|
||||
SRC="img87.png"
|
||||
ALT="$0\le pv(i) < np$">; if <IMG
|
||||
WIDTH="51" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img86.png"
|
||||
SRC="img88.png"
|
||||
ALT="$nv>1$"> we have an index assigned to multiple
|
||||
processes, i.e. we have an overlap among the subdomains.
|
||||
|
||||
@@ -312,15 +330,15 @@ An integer value; 0 means no error has been detected.
|
||||
The vector <code>vg</code> must be identical on all
|
||||
calling processes; its entries may have the ranges <IMG
|
||||
WIDTH="94" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img87.png"
|
||||
SRC="img89.png"
|
||||
ALT="$(0\dots np-1)$">
|
||||
or <IMG
|
||||
WIDTH="65" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img88.png"
|
||||
SRC="img90.png"
|
||||
ALT="$(1\dots np)$"> according to the value of <code>flag</code>.
|
||||
The size <IMG
|
||||
WIDTH="27" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img89.png"
|
||||
SRC="img91.png"
|
||||
ALT="$mg$"> may be specified via the optional argument <code>mg</code>;
|
||||
the default is to use the entire vector <code>vg</code>, thus having
|
||||
<code>mg=size(vg)</code>.
|
||||
@@ -330,33 +348,37 @@ An integer value; 0 means no error has been detected.
|
||||
<code>vl(1:nl)</code> assigned to the current process; thus, the global
|
||||
problem size <IMG
|
||||
WIDTH="27" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img89.png"
|
||||
SRC="img91.png"
|
||||
ALT="$mg$"> is given by
|
||||
the range of the aggregate of the individual vectors <code>vl</code> specified
|
||||
in the calling processes. The size may be specified via the optional
|
||||
argument <code>nl</code>; the default is to use the entire vector <code>vl</code>, thus having
|
||||
<code>nl=size(vl)</code>.
|
||||
argument <code>nl</code>; the default is to use the entire vector
|
||||
<code>vl</code>, thus having <code>nl=size(vl)</code>.
|
||||
If <code>globalcheck=.true.</code> the subroutine will check how many
|
||||
times each entry in the global index space <IMG
|
||||
WIDTH="70" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img90.png"
|
||||
SRC="img92.png"
|
||||
ALT="$(1\dots mg)$"> is
|
||||
specified in the input lists <code>vl</code>, thus allowing for the
|
||||
presence of overlap in the input, and checking for ``orphan''
|
||||
indices. If <code>globalcheck=.false.</code>, the subroutine will not
|
||||
check for overlap, and may be significantly faster, but the user
|
||||
is implicitly guaranteeing that there are neither orphan nor
|
||||
overlap indices.
|
||||
overlap indices. The optional argument <code>lidx</code> is available for
|
||||
those cases in which the user has already established a
|
||||
global-to-local mapping; if it is specified, each index in
|
||||
<code>vl(i)</code> will be mapped to the corresponding local index
|
||||
<code>lidx(i)</code>.
|
||||
</DD>
|
||||
<DT><STRONG>nl</STRONG></DT>
|
||||
<DD>If this argument is specified alone (i.e. without <code>vl</code>)
|
||||
the result is a generalized row-block distribution in which each
|
||||
process <IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img91.png"
|
||||
SRC="img93.png"
|
||||
ALT="$I$"> gets assigned a consecutive chunk of <IMG
|
||||
WIDTH="60" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img92.png"
|
||||
SRC="img94.png"
|
||||
ALT="$N_I=nl$"> global
|
||||
indices.
|
||||
</DD>
|
||||
|
||||
@@ -96,7 +96,7 @@ Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an integer array of length <IMG
|
||||
WIDTH="22" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img93.png"
|
||||
SRC="img95.png"
|
||||
ALT="$nz$">.
|
||||
</DD>
|
||||
<DT><STRONG>ja</STRONG></DT>
|
||||
@@ -110,7 +110,7 @@ Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an integer array of length <IMG
|
||||
WIDTH="22" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img93.png"
|
||||
SRC="img95.png"
|
||||
ALT="$nz$">.
|
||||
</DD>
|
||||
</DL>
|
||||
@@ -153,6 +153,13 @@ An integer value; 0 means no error has been detected.
|
||||
insist on the current process, i.e. edges for which neither the starting
|
||||
nor the end vertex belong to the current process.
|
||||
</LI>
|
||||
<LI>There exists another interface for this routine
|
||||
<PRE>
|
||||
call psb_cdins(nz, ja, desc_a, info)
|
||||
</PRE>
|
||||
which will digest all entries in <code>ja</code> and add them to the
|
||||
communication requirements.
|
||||
</LI>
|
||||
</OL>
|
||||
|
||||
<P>
|
||||
|
||||
@@ -104,7 +104,7 @@ Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an integer value <IMG
|
||||
WIDTH="47" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img94.png"
|
||||
SRC="img96.png"
|
||||
ALT="$nl\ge 0$">.
|
||||
</DD>
|
||||
<DT><STRONG>extype</STRONG></DT>
|
||||
|
||||
@@ -131,7 +131,7 @@ An integer value; 0 means no error has been detected.
|
||||
</LI>
|
||||
<LI>Providing a good estimate for the number of nonzeroes <IMG
|
||||
WIDTH="32" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img95.png"
|
||||
SRC="img97.png"
|
||||
ALT="$nnz$"> in
|
||||
the assembled matrix may substantially improve performance in the
|
||||
matrix build phase, as it will reduce or eliminate the need for
|
||||
|
||||
@@ -58,7 +58,7 @@ psb_spins -- Insert a cloud of elements into a sparse
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call psb_spins(nz, ia, ja, val, a, desc_a, info)
|
||||
call psb_spins(nz, ia, ja, val, a, desc_a, info [,local])
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
@@ -91,7 +91,7 @@ Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an integer array of size <IMG
|
||||
WIDTH="22" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img93.png"
|
||||
SRC="img95.png"
|
||||
ALT="$nz$">.
|
||||
</DD>
|
||||
<DT><STRONG>ja</STRONG></DT>
|
||||
@@ -105,7 +105,7 @@ Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an integer array of size <IMG
|
||||
WIDTH="22" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img93.png"
|
||||
SRC="img95.png"
|
||||
ALT="$nz$">.
|
||||
</DD>
|
||||
<DT><STRONG>val</STRONG></DT>
|
||||
@@ -119,11 +119,11 @@ Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an array of size <IMG
|
||||
WIDTH="22" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img93.png"
|
||||
SRC="img95.png"
|
||||
ALT="$nz$">. Must be of the same type and kind
|
||||
of the <code>aspk</code> component of the sparse matrix <IMG
|
||||
WIDTH="12" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img96.png"
|
||||
SRC="img98.png"
|
||||
ALT="$a$">.
|
||||
</DD>
|
||||
<DT><STRONG>desc_a</STRONG></DT>
|
||||
@@ -137,6 +137,18 @@ Intent: <B>inout</B>.
|
||||
<BR>
|
||||
Specified as: a variable of type descdata<TT>psb_desc_type</TT>.
|
||||
<BR></DD>
|
||||
<DT><STRONG>local</STRONG></DT>
|
||||
<DD>Whether the entries in the indices vectors <code>ia</code>,
|
||||
<code>ja</code> are already in local numbering.
|
||||
<BR>
|
||||
Scope:<B>local</B>.
|
||||
<BR>
|
||||
Type:<B>optional</B>.
|
||||
<BR>
|
||||
Specified as: a logical value; default: <code>.false.</code>.
|
||||
|
||||
<P>
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
|
||||
@@ -90,7 +90,7 @@ Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: Integer scalar, default <IMG
|
||||
WIDTH="12" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img97.png"
|
||||
SRC="img99.png"
|
||||
ALT="$1$">. It is not a valid argument if <IMG
|
||||
WIDTH="13" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
@@ -108,7 +108,7 @@ Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: Integer scalar, default <IMG
|
||||
WIDTH="12" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img97.png"
|
||||
SRC="img99.png"
|
||||
ALT="$1$">. It is not a valid argument if <IMG
|
||||
WIDTH="13" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
|
||||
@@ -57,7 +57,7 @@ psb_geins -- Dense matrix insertion routine</A>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call psb_geins(m, irw, val, x, desc_a, info,dupl)
|
||||
call psb_geins(m, irw, val, x, desc_a, info [,dupl,local])
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
@@ -71,7 +71,7 @@ call psb_geins(m, irw, val, x, desc_a, info,dupl)
|
||||
<DT><STRONG>m</STRONG></DT>
|
||||
<DD>Number of rows in <IMG
|
||||
WIDTH="25" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img98.png"
|
||||
SRC="img100.png"
|
||||
ALT="$val$"> to be inserted.
|
||||
<BR>
|
||||
Scope:<B>local</B>.
|
||||
@@ -89,11 +89,11 @@ Specified as: an integer value.
|
||||
ALT="$i$">
|
||||
of <IMG
|
||||
WIDTH="25" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img98.png"
|
||||
SRC="img100.png"
|
||||
ALT="$val$"> will be inserted into the local row corresponding to the
|
||||
global row index <IMG
|
||||
WIDTH="47" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img99.png"
|
||||
SRC="img101.png"
|
||||
ALT="$irw(i)$">.
|
||||
Scope:<B>local</B>.
|
||||
<BR>
|
||||
@@ -138,6 +138,18 @@ Intent: <B>in</B>.
|
||||
Specified as: integer, possible values: <code>psb_dupl_ovwrt_</code>,
|
||||
<code>psb_dupl_add_</code>.
|
||||
</DD>
|
||||
<DT><STRONG>local</STRONG></DT>
|
||||
<DD>Whether the entries in the index vector <code>irw</code>,
|
||||
are already in local numbering.
|
||||
<BR>
|
||||
Scope:<B>local</B>.
|
||||
<BR>
|
||||
Type:<B>optional</B>.
|
||||
<BR>
|
||||
Specified as: a logical value; default: <code>.false.</code>.
|
||||
|
||||
<P>
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
|
||||
@@ -75,7 +75,7 @@ call psb_gelp(trans, iperm, x, info)
|
||||
SRC="img1.png"
|
||||
ALT="$A$"> or <IMG
|
||||
WIDTH="26" HEIGHT="20" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img100.png"
|
||||
SRC="img102.png"
|
||||
ALT="$A^T$">.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
@@ -89,7 +89,7 @@ Specified as: a single character with value 'N' for <IMG
|
||||
SRC="img1.png"
|
||||
ALT="$A$"> or 'T' for <IMG
|
||||
WIDTH="26" HEIGHT="20" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img100.png"
|
||||
SRC="img102.png"
|
||||
ALT="$A^T$">.
|
||||
<BR></DD>
|
||||
<DT><STRONG>iperm</STRONG></DT>
|
||||
|
||||
@@ -80,7 +80,7 @@ Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an integer <IMG
|
||||
WIDTH="29" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img101.png"
|
||||
SRC="img103.png"
|
||||
ALT="$>0$">.
|
||||
</DD>
|
||||
<DT><STRONG>a</STRONG></DT>
|
||||
@@ -116,7 +116,7 @@ Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an integer <IMG
|
||||
WIDTH="29" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img101.png"
|
||||
SRC="img103.png"
|
||||
ALT="$>0$">. When append is true, specifies how many
|
||||
entries in the output vectors are already filled.
|
||||
</DD>
|
||||
@@ -131,10 +131,10 @@ Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an integer <IMG
|
||||
WIDTH="29" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img101.png"
|
||||
SRC="img103.png"
|
||||
ALT="$>0$">, default: <IMG
|
||||
WIDTH="31" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img102.png"
|
||||
SRC="img104.png"
|
||||
ALT="$row$">.
|
||||
|
||||
<P>
|
||||
@@ -209,12 +209,12 @@ An integer value; 0 means no error has been detected.
|
||||
<OL>
|
||||
<LI>The output <IMG
|
||||
WIDTH="22" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img93.png"
|
||||
SRC="img95.png"
|
||||
ALT="$nz$"> is always the size of the output generated by
|
||||
the current call; thus, if <code>append=.true.</code>, the total output
|
||||
size will be <IMG
|
||||
WIDTH="74" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img103.png"
|
||||
SRC="img105.png"
|
||||
ALT="$nzin+nz$">, with the newly extracted coefficients stored in
|
||||
entries <code>nzin+1:nzin+nz</code> of the array arguments;
|
||||
</LI>
|
||||
|
||||
@@ -73,7 +73,7 @@ call psb_hsort(x,ix,dir,flag)
|
||||
<P>
|
||||
These serial routines sort a sequence <IMG
|
||||
WIDTH="18" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img104.png"
|
||||
SRC="img106.png"
|
||||
ALT="$X$"> into ascending or
|
||||
descending order. The argument meaning is identical for the three
|
||||
calls; the only difference is the algorithm used to accomplish the
|
||||
@@ -99,7 +99,7 @@ Type:<B>optional</B>.
|
||||
<BR>
|
||||
Specified as: an integer array of (at least) the same size as <IMG
|
||||
WIDTH="18" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img104.png"
|
||||
SRC="img106.png"
|
||||
ALT="$X$">.
|
||||
</DD>
|
||||
<DT><STRONG>dir</STRONG></DT>
|
||||
@@ -123,7 +123,7 @@ default <code>psb_lsort_up_</code>.
|
||||
<DT><STRONG>flag</STRONG></DT>
|
||||
<DD>Whether to keep the original values in <IMG
|
||||
WIDTH="27" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img105.png"
|
||||
SRC="img107.png"
|
||||
ALT="$IX$">.
|
||||
<BR>
|
||||
Type:<B>optional</B>.
|
||||
@@ -185,10 +185,10 @@ position as the corresponding entries in <IMG
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="180" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img106.png"
|
||||
SRC="img108.png"
|
||||
ALT="$flag = psb\_sort\_ovw\_idx\_$"> then the entries in <IMG
|
||||
WIDTH="62" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img107.png"
|
||||
SRC="img109.png"
|
||||
ALT="$ix(1:n)$">
|
||||
where <IMG
|
||||
WIDTH="13" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
|
||||
@@ -202,7 +202,7 @@ position as the corresponding entries in <IMG
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="66" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img108.png"
|
||||
SRC="img110.png"
|
||||
ALT="$ix(i) \leftarrow
|
||||
i$">; thus, upon return from the subroutine, for each
|
||||
index <IMG
|
||||
@@ -210,10 +210,10 @@ i$">; thus, upon return from the subroutine, for each
|
||||
SRC="img4.png"
|
||||
ALT="$i$"> we have in <IMG
|
||||
WIDTH="37" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img109.png"
|
||||
SRC="img111.png"
|
||||
ALT="$ix(i)$"> the position that the item <IMG
|
||||
WIDTH="31" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img110.png"
|
||||
SRC="img112.png"
|
||||
ALT="$x(i)$">
|
||||
occupied in the original data sequence;
|
||||
</LI>
|
||||
@@ -222,16 +222,16 @@ i$">; thus, upon return from the subroutine, for each
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="185" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img111.png"
|
||||
SRC="img113.png"
|
||||
ALT="$flag = psb\_sort\_keep\_idx\_$"> the routine will assume that
|
||||
the entries in <IMG
|
||||
WIDTH="35" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img112.png"
|
||||
SRC="img114.png"
|
||||
ALT="$ix(:)$"> have already been initialized by the user;
|
||||
</LI>
|
||||
<LI>The three sorting algorithms have a similar <IMG
|
||||
WIDTH="74" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img113.png"
|
||||
SRC="img115.png"
|
||||
ALT="$O(n \log n)$"> expected
|
||||
running time; in the average case quicksort will be the
|
||||
fastest and merge-sort the slowest. However note that:
|
||||
@@ -239,7 +239,7 @@ i$">; thus, upon return from the subroutine, for each
|
||||
<OL>
|
||||
<LI>The worst case running time for quicksort is <IMG
|
||||
WIDTH="45" HEIGHT="34" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img114.png"
|
||||
SRC="img116.png"
|
||||
ALT="$O(n^2)$">; the algorithm
|
||||
implemented here follows the well-known median-of-three heuristics,
|
||||
but the worst case may still apply;
|
||||
@@ -247,7 +247,7 @@ i$">; thus, upon return from the subroutine, for each
|
||||
<LI>The worst case running time for merge-sort and heap-sort is
|
||||
<IMG
|
||||
WIDTH="74" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img113.png"
|
||||
SRC="img115.png"
|
||||
ALT="$O(n \log n)$"> as the average case;
|
||||
</LI>
|
||||
<LI>The merge-sort algorithm is implemented to take advantage of
|
||||
|
||||
@@ -107,7 +107,7 @@ Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an integer array. Default: use the indices <IMG
|
||||
WIDTH="94" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img87.png"
|
||||
SRC="img89.png"
|
||||
ALT="$(0\dots np-1)$">.
|
||||
</DD>
|
||||
</DL>
|
||||
@@ -141,7 +141,7 @@ Specified as: an integer variable.
|
||||
</LI>
|
||||
<LI>It is an error to specify a value for <IMG
|
||||
WIDTH="22" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img115.png"
|
||||
SRC="img117.png"
|
||||
ALT="$np$"> greater than the
|
||||
number of processes available in the underlying base parallel
|
||||
environment.
|
||||
|
||||
@@ -104,7 +104,7 @@ Specified as: an integer value. <!-- MATH
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="139" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img116.png"
|
||||
SRC="img118.png"
|
||||
ALT="$-1 \le iam \le np-1$"> </DD>
|
||||
<DT><STRONG>np</STRONG></DT>
|
||||
<DD>Number of processes in the PSBLAS virtual parallel machine.
|
||||
@@ -128,14 +128,14 @@ Specified as: an integer variable. </DD>
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="128" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img117.png"
|
||||
SRC="img119.png"
|
||||
ALT="$0 \le iam \le np-1$">;
|
||||
</LI>
|
||||
<LI>If the user has requested on <code>psb_init</code> a number of
|
||||
processes less than the total available in the parallel execution
|
||||
environment, the remaining processes will have on return <IMG
|
||||
WIDTH="73" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img118.png"
|
||||
SRC="img120.png"
|
||||
ALT="$iam=-1$">;
|
||||
the only call involving <code>icontxt</code> that any such process may
|
||||
execute is to <code>psb_exit</code>.
|
||||
|
||||
@@ -103,7 +103,7 @@ Specified as: a logical variable, default value: true.
|
||||
<LI>This routine may be called even if a previous call to
|
||||
<code>psb_info</code> has returned with <IMG
|
||||
WIDTH="73" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img118.png"
|
||||
SRC="img120.png"
|
||||
ALT="$iam=-1$">; indeed, it it is the only
|
||||
routine that may be called with argument <code>icontxt</code> in this
|
||||
situation.
|
||||
|
||||
@@ -63,7 +63,7 @@ call psb_get_rank(rank, icontxt, id)
|
||||
<P>
|
||||
This subroutine returns the MPI rank of the PSBLAS process <IMG
|
||||
WIDTH="18" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img119.png"
|
||||
SRC="img121.png"
|
||||
ALT="$id$">
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
@@ -98,7 +98,7 @@ Specified as: an integer value. <!-- MATH
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="113" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img120.png"
|
||||
SRC="img122.png"
|
||||
ALT="$0 \le id \le np-1$"> </DD>
|
||||
</DL>
|
||||
|
||||
@@ -110,7 +110,7 @@ Specified as: an integer value. <!-- MATH
|
||||
<DT><STRONG>rank</STRONG></DT>
|
||||
<DD>The MPI rank associated with the PSBLAS process <IMG
|
||||
WIDTH="18" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img119.png"
|
||||
SRC="img121.png"
|
||||
ALT="$id$">.
|
||||
<BR>
|
||||
Scope: <B>local</B>.
|
||||
|
||||
@@ -109,7 +109,7 @@ Specified as: an integer value <!-- MATH
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="153" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img121.png"
|
||||
SRC="img123.png"
|
||||
ALT="$0<= root <= np-1$">, default 0 </DD>
|
||||
</DL>
|
||||
|
||||
|
||||
@@ -112,7 +112,7 @@ Specified as: an integer value <!-- MATH
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="165" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img122.png"
|
||||
SRC="img124.png"
|
||||
ALT="$-1<= root <= np-1$">, default -1. </DD>
|
||||
</DL>
|
||||
|
||||
|
||||
@@ -112,7 +112,7 @@ Specified as: an integer value <!-- MATH
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="165" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img122.png"
|
||||
SRC="img124.png"
|
||||
ALT="$-1<= root <= np-1$">, default -1.
|
||||
<BR></DD>
|
||||
</DL>
|
||||
|
||||
@@ -112,7 +112,7 @@ Specified as: an integer value <!-- MATH
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="165" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img122.png"
|
||||
SRC="img124.png"
|
||||
ALT="$-1<= root <= np-1$">, default -1.
|
||||
<BR></DD>
|
||||
</DL>
|
||||
|
||||
@@ -112,7 +112,7 @@ Specified as: an integer value <!-- MATH
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="165" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img122.png"
|
||||
SRC="img124.png"
|
||||
ALT="$-1<= root <= np-1$">, default -1.
|
||||
<BR></DD>
|
||||
</DL>
|
||||
|
||||
@@ -112,7 +112,7 @@ Specified as: an integer value <!-- MATH
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="165" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img122.png"
|
||||
SRC="img124.png"
|
||||
ALT="$-1<= root <= np-1$">, default -1.
|
||||
<BR></DD>
|
||||
</DL>
|
||||
|
||||
@@ -93,7 +93,7 @@ Intent: <B>in</B>.
|
||||
Specified as: an integer, real or complex variable, which may be a
|
||||
scalar, or a rank 1 or 2 array, or a character or logical scalar. Type, kind and rank must agree on sender and receiver process; if <IMG
|
||||
WIDTH="18" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img123.png"
|
||||
SRC="img125.png"
|
||||
ALT="$m$"> is
|
||||
not specified, size must agree as well.
|
||||
</DD>
|
||||
@@ -111,7 +111,7 @@ Specified as: an integer value <!-- MATH
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="145" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img124.png"
|
||||
SRC="img126.png"
|
||||
ALT="$0<= dst <= np-1$">.
|
||||
<BR></DD>
|
||||
<DT><STRONG>m</STRONG></DT>
|
||||
@@ -128,16 +128,16 @@ Specified as: an integer value <!-- MATH
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="172" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img125.png"
|
||||
SRC="img127.png"
|
||||
ALT="$0<= m <= size(dat,1)$">.
|
||||
<BR>
|
||||
When <IMG
|
||||
WIDTH="26" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img126.png"
|
||||
SRC="img128.png"
|
||||
ALT="$dat$"> is a rank 2 array, specifies the number of rows to be sent
|
||||
independently of the leading dimension <IMG
|
||||
WIDTH="83" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img127.png"
|
||||
SRC="img129.png"
|
||||
ALT="$size(dat,1)$">; must have the
|
||||
same value on sending and receiving processes.
|
||||
</DD>
|
||||
@@ -157,7 +157,7 @@ same value on sending and receiving processes.
|
||||
<LI>This subroutine implies a synchronization, but only between the
|
||||
calling process and the destination process <IMG
|
||||
WIDTH="25" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img128.png"
|
||||
SRC="img130.png"
|
||||
ALT="$dst$">.
|
||||
</LI>
|
||||
</OL>
|
||||
|
||||
@@ -94,7 +94,7 @@ Specified as: an integer value <!-- MATH
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="147" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img129.png"
|
||||
SRC="img131.png"
|
||||
ALT="$0<= src <= np-1$">.
|
||||
<BR></DD>
|
||||
<DT><STRONG>m</STRONG></DT>
|
||||
@@ -111,16 +111,16 @@ Specified as: an integer value <!-- MATH
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="172" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img125.png"
|
||||
SRC="img127.png"
|
||||
ALT="$0<= m <= size(dat,1)$">.
|
||||
<BR>
|
||||
When <IMG
|
||||
WIDTH="26" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img126.png"
|
||||
SRC="img128.png"
|
||||
ALT="$dat$"> is a rank 2 array, specifies the number of rows to be sent
|
||||
independently of the leading dimension <IMG
|
||||
WIDTH="83" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img127.png"
|
||||
SRC="img129.png"
|
||||
ALT="$size(dat,1)$">; must have the
|
||||
same value on sending and receiving processes.
|
||||
</DD>
|
||||
@@ -143,7 +143,7 @@ Intent: <B>inout</B>.
|
||||
Specified as: an integer, real or complex variable, which may be a
|
||||
scalar, or a rank 1 or 2 array, or a character or logical scalar. Type, kind and rank must agree on sender and receiver process; if <IMG
|
||||
WIDTH="18" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img123.png"
|
||||
SRC="img125.png"
|
||||
ALT="$m$"> is
|
||||
not specified, size must agree as well.
|
||||
</DD>
|
||||
@@ -156,7 +156,7 @@ not specified, size must agree as well.
|
||||
<LI>This subroutine implies a synchronization, but only between the
|
||||
calling process and the source process <IMG
|
||||
WIDTH="26" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img130.png"
|
||||
SRC="img132.png"
|
||||
ALT="$src$">.
|
||||
</LI>
|
||||
</OL>
|
||||
|
||||
@@ -58,7 +58,7 @@ University of Rome ``Tor Vergata'', Italy
|
||||
<BR>
|
||||
Software version: 3.0-beta
|
||||
<BR>
|
||||
March 1, 2012.
|
||||
April 16, 2012.
|
||||
|
||||
<BR><HR>
|
||||
<!--Table of Child-Links-->
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
\begin{verbatim}
|
||||
call psb_cdall(icontxt, desc_a, info,mg=mg,parts=parts)
|
||||
call psb_cdall(icontxt, desc_a, info,vg=vg,[mg=mg,flag=flag])
|
||||
call psb_cdall(icontxt, desc_a, info,vl=vl,[nl=nl,globalcheck=.true.])
|
||||
call psb_cdall(icontxt, desc_a, info,vl=vl,[nl=nl,globalcheck=.true.,lidx=lidx])
|
||||
call psb_cdall(icontxt, desc_a, info,nl=nl)
|
||||
call psb_cdall(icontxt, desc_a, info,mg=mg,repl=.true.)
|
||||
\end{verbatim}
|
||||
@@ -76,6 +76,12 @@ Scope:{\bf global}.\\
|
||||
Type:{\bf optional}.\\
|
||||
Intent: {\bf in}.\\
|
||||
Specified as: a logical value, default: \verb|.true.|
|
||||
\item[lidx] Data allocation: the set of local indices
|
||||
$lidx(1:nl)$ to be assigned to the global indices $vl$. \\
|
||||
Scope:{\bf local}.\\
|
||||
Type:{\bf optional}.\\
|
||||
Intent: {\bf in}.\\
|
||||
Specified as: an integer array.
|
||||
\end{description}
|
||||
|
||||
\begin{description}
|
||||
@@ -139,8 +145,8 @@ An integer value; 0 means no error has been detected.
|
||||
problem size $mg$ is given by
|
||||
the range of the aggregate of the individual vectors \verb|vl| specified
|
||||
in the calling processes. The size may be specified via the optional
|
||||
argument \verb|nl|; the default is to use the entire vector \verb|vl|, thus having
|
||||
\verb|nl=size(vl)|.
|
||||
argument \verb|nl|; the default is to use the entire vector
|
||||
\verb|vl|, thus having \verb|nl=size(vl)|.
|
||||
If \verb|globalcheck=.true.| the subroutine will check how many
|
||||
times each entry in the global index space $(1\dots mg)$ is
|
||||
specified in the input lists \verb|vl|, thus allowing for the
|
||||
@@ -148,7 +154,11 @@ An integer value; 0 means no error has been detected.
|
||||
indices. If \verb|globalcheck=.false.|, the subroutine will not
|
||||
check for overlap, and may be significantly faster, but the user
|
||||
is implicitly guaranteeing that there are neither orphan nor
|
||||
overlap indices.
|
||||
overlap indices. The optional argument \verb|lidx| is available for
|
||||
those cases in which the user has already established a
|
||||
global-to-local mapping; if it is specified, each index in
|
||||
\verb|vl(i)| will be mapped to the corresponding local index
|
||||
\verb|lidx(i)|.
|
||||
\item[nl] If this argument is specified alone (i.e. without \verb|vl|)
|
||||
the result is a generalized row-block distribution in which each
|
||||
process $I$ gets assigned a consecutive chunk of $N_I=nl$ global
|
||||
|
||||
@@ -103,7 +103,7 @@
|
||||
by Salvatore Filippone\\
|
||||
and Alfredo Buttari}\\
|
||||
University of Rome ``Tor Vergata''.\\[3ex]
|
||||
March 1, 2012
|
||||
April 16, 2012
|
||||
\end{minipage}}
|
||||
|
||||
%\addtolength{\textwidth}{\centeroffset}
|
||||
|
||||
@@ -88,7 +88,7 @@
|
||||
%\today
|
||||
Software version: 3.0-beta\\
|
||||
%\today
|
||||
March 1, 2012.
|
||||
April 16, 2012.
|
||||
\cleardoublepage
|
||||
\begingroup
|
||||
\renewcommand*{\thepage}{toc}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
BICGSTAB Iterative method BICGSTAB CGS BICG BICGSTABL RGMRES
|
||||
BJAC Preconditioner NONE DIAG BJAC
|
||||
CSR Storage format for matrix A: CSR COO JAD
|
||||
060 Domain size (acutal system is this**3)
|
||||
008 Domain size (acutal system is this**3)
|
||||
2 Stopping criterion
|
||||
1000 MAXIT
|
||||
-2 ITRACE
|
||||
|
||||