Updated docs with CLONE method.
This commit is contained in:
Salvatore Filippone
2013-04-01 14:34:41 +00:00
parent db2daa7ab9
commit 8ba8f2b213
260 changed files with 21161 additions and 21017 deletions
+493 -108
View File
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>psb_gather -- Gather Global Dense Matrix</TITLE>
<META NAME="description" CONTENT="psb_gather -- Gather Global Dense Matrix">
<TITLE>psb_halo -- Halo Data Communication</TITLE>
<META NAME="description" CONTENT="psb_halo -- Halo Data Communication">
<META NAME="keywords" CONTENT="userhtml">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
@@ -20,123 +20,103 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<LINK REL="next" HREF="node55.html">
<LINK REL="previous" HREF="node53.html">
<LINK REL="up" HREF="node51.html">
<LINK REL="up" HREF="node53.html">
<LINK REL="next" HREF="node55.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html875"
<A NAME="tex2html877"
HREF="node55.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html871"
HREF="node51.html">
<A NAME="tex2html873"
HREF="node53.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html865"
<A NAME="tex2html867"
HREF="node53.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html873"
<A NAME="tex2html875"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html876"
HREF="node55.html">psb_scatter Scatter</A>
<B> Up:</B> <A NAME="tex2html872"
HREF="node51.html">Communication routines</A>
<B> Previous:</B> <A NAME="tex2html866"
HREF="node53.html">psb_ovrl Overlap</A>
&nbsp; <B> <A NAME="tex2html874"
<B> Next:</B> <A NAME="tex2html878"
HREF="node55.html">psb_ovrl Overlap</A>
<B> Up:</B> <A NAME="tex2html874"
HREF="node53.html">Communication routines</A>
<B> Previous:</B> <A NAME="tex2html868"
HREF="node53.html">Communication routines</A>
&nbsp; <B> <A NAME="tex2html876"
HREF="node1.html">Contents</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00063000000000000000">
psb_gather -- Gather Global Dense Matrix</A>
<H2><A NAME="SECTION00061000000000000000">
psb_halo -- Halo Data Communication</A>
</H2>
<P>
These subroutines collect the portions of global dense matrix
distributed over all process into one single array stored on one
process.
These subroutines gathers the values of the halo
elements, and (optionally) scale the result:
<P>
<BR><P></P>
<DIV ALIGN="CENTER">
<!-- MATH
\begin{displaymath}
glob\_x \leftarrow collect(loc\_x_i)
x \leftarrow \alpha x
\end{displaymath}
-->
<IMG
WIDTH="163" HEIGHT="28" BORDER="0"
SRC="img68.png"
ALT="\begin{displaymath}glob\_x \leftarrow collect(loc\_x_i) \end{displaymath}">
WIDTH="53" HEIGHT="24" BORDER="0"
SRC="img55.png"
ALT="\begin{displaymath}x \leftarrow \alpha x \end{displaymath}">
</DIV>
<BR CLEAR="ALL">
<P></P>
where:
<DL>
<DT><STRONG><IMG
WIDTH="47" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img69.png"
ALT="$glob\_x$"></STRONG></DT>
<DD>is the global submatrix <!-- MATH
$glob\_x_{1:m,1:n}$
-->
<IMG
WIDTH="90" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img70.png"
ALT="$glob\_x_{1:m,1:n}$">
</DD>
<DT><STRONG><IMG
WIDTH="44" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img71.png"
ALT="$loc\_x_i$"></STRONG></DT>
<DD>is the local portion of global dense matrix on
process <IMG
WIDTH="9" HEIGHT="17" ALIGN="BOTTOM" BORDER="0"
SRC="img4.png"
ALT="$i$">.
</DD>
<DT><STRONG><IMG
WIDTH="48" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img72.png"
ALT="$collect$"></STRONG></DT>
<DD>is the collect function.
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img20.png"
ALT="$x$"></STRONG></DT>
<DD>is a global dense submatrix.
</DD>
</DL>
<P>
<BR><P></P>
<DIV ALIGN="CENTER"><A NAME="2953"></A>
<DIV ALIGN="CENTER"><A NAME="3029"></A>
<TABLE>
<CAPTION><STRONG>Table 16:</STRONG>
<CAPTION><STRONG>Table 14:</STRONG>
Data types</CAPTION>
<TR><TD>
<DIV ALIGN="CENTER">
<TABLE CELLPADDING=3 BORDER="1" ALIGN="CENTER">
<TR><TD ALIGN="LEFT"><IMG
WIDTH="34" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img73.png"
ALT="$x_i, y$"></TD>
WIDTH="14" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img22.png"
ALT="$\alpha$">, <IMG
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img20.png"
ALT="$x$"></TD>
<TD ALIGN="LEFT"><B>Subroutine</B></TD>
</TR>
<TR><TD ALIGN="LEFT">Integer</TD>
<TD ALIGN="LEFT">psb_gather</TD>
<TD ALIGN="LEFT">psb_halo</TD>
</TR>
<TR><TD ALIGN="LEFT">Short Precision Real</TD>
<TD ALIGN="LEFT">psb_gather</TD>
<TD ALIGN="LEFT">psb_halo</TD>
</TR>
<TR><TD ALIGN="LEFT">Long Precision Real</TD>
<TD ALIGN="LEFT">psb_gather</TD>
<TD ALIGN="LEFT">psb_halo</TD>
</TR>
<TR><TD ALIGN="LEFT">Short Precision Complex</TD>
<TD ALIGN="LEFT">psb_gather</TD>
<TD ALIGN="LEFT">psb_halo</TD>
</TR>
<TR><TD ALIGN="LEFT">Long Precision Complex</TD>
<TD ALIGN="LEFT">psb_gather</TD>
<TD ALIGN="LEFT">psb_halo</TD>
</TR>
</TABLE>
</DIV>
@@ -147,8 +127,8 @@ Data types</CAPTION>
<P>
<PRE>
call psb_gather(glob_x, loc_x, desc_a, info, root)
call psb_gather(glob_x, loc_x, desc_a, info, root)
call psb_halo(x, desc_a, info)
call psb_halo(x, desc_a, info, alpha, work, data)
</PRE>
<P>
@@ -159,21 +139,21 @@ call psb_gather(glob_x, loc_x, desc_a, info, root)
<DT><STRONG><B>On Entry</B></STRONG></DT>
<DD>
</DD>
<DT><STRONG>loc_x</STRONG></DT>
<DD>the local portion of global dense matrix
<IMG
WIDTH="47" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img69.png"
ALT="$glob\_x$">.
<DT><STRONG>x</STRONG></DT>
<DD>global dense matrix <IMG
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img20.png"
ALT="$x$">.
<BR>
Scope: <B>local</B>
<BR>
Type: <B>required</B>
Type: <B>required</B>
<BR>
Intent: <B>in</B>.
Intent: <B>inout</B>.
<BR>
Specified as: a rank one or two array or an object of type vdata<TT>psb_T_vect_type</TT>
indicated in Table&nbsp;<A HREF="#tab:gather">16</A>.
containing numbers of type specified in
Table&nbsp;<A HREF="#tab:f90halo">14</A>.
</DD>
<DT><STRONG>desc_a</STRONG></DT>
<DD>contains data structures for communications.
@@ -186,46 +166,76 @@ Intent: <B>in</B>.
<BR>
Specified as: a structured data of type descdata<TT>psb_desc_type</TT>.
</DD>
<DT><STRONG>root</STRONG></DT>
<DD>The process that holds the global copy. If <IMG
WIDTH="74" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img74.png"
ALT="$root=-1$"> all
the processes will have a copy of the global vector.
<DT><STRONG>alpha</STRONG></DT>
<DD>the scalar <IMG
WIDTH="14" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img22.png"
ALT="$\alpha$">.
<BR>
Scope: <B>global</B>
<BR>
Type: <B>optional</B>
Type: <B>optional</B>
<BR>
Intent: <B>in</B>.
<BR>
Specified as: an integer variable <!-- MATH
$-1\le root\le np-1$
-->
<IMG
WIDTH="141" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img75.png"
ALT="$-1\le root\le np-1$">, default <IMG
WIDTH="24" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img76.png"
ALT="$-1$">.
Default: <IMG
WIDTH="72" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img56.png"
ALT="$alpha = 1 $">
<BR>
Specified as: a number of the data type indicated in Table&nbsp;<A HREF="#tab:f90halo">14</A>.
</DD>
<DT><STRONG>work</STRONG></DT>
<DD>the work array.
<BR>
Scope: <B>local</B>
<BR>
Type: <B>optional</B>
<BR>
Intent: <B>inout</B>.
<BR>
Specified as: a rank one array of the same type of <IMG
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img20.png"
ALT="$x$">.
</DD>
<DT><STRONG>data</STRONG></DT>
<DD>index list selector.
<BR>
Scope: <B>global</B>
<BR>
Type: <B>optional</B>
<BR>
Specified as: an integer. Values:<code>psb_comm_halo_</code>,<code>psb_comm_mov_</code>,
<code>psb_comm_ext_</code>, default: <code>psb_comm_halo_</code>. Chooses the
index list on which to base the data exchange.
<P>
</DD>
<DT><STRONG><B>On Return</B></STRONG></DT>
<DD>
</DD>
<DT><STRONG>glob_x</STRONG></DT>
<DD>The array where the local parts must be gathered.
<DT><STRONG>x</STRONG></DT>
<DD>global dense result matrix <IMG
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img20.png"
ALT="$x$">.
<BR>
Scope: <B>global</B>
Scope: <B>local</B>
<BR>
Type: <B>required</B>
Type: <B>required</B>
<BR>
Intent: <B>out</B>.
Intent: <B>inout</B>.
<BR>
Specified as: a rank one or two array with the <code>ALLOCATABLE</code> attribute.
Returned as: a rank one or two array
containing numbers of type specified in
Table&nbsp;<A HREF="#tab:f90halo">14</A>.
</DD>
<DT><STRONG>info</STRONG></DT>
<DD>Error code.
<DD>the local portion of result submatrix <IMG
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img21.png"
ALT="$y$">.
<BR>
Scope: <B>local</B>
<BR>
@@ -233,33 +243,408 @@ Type: <B>required</B>
<BR>
Intent: <B>out</B>.
<BR>
An integer value; 0 means no error has been detected.
An integer value that contains an error code.
</DD>
</DL>
<DIV ALIGN="CENTER"><A NAME="fig:try8x8"></A><A NAME="3031"></A>
<TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 7:</STRONG>
Sample discretization mesh.</CAPTION>
<TR><TD>
<DIV ALIGN="CENTER">
<IMG
WIDTH="357" HEIGHT="313" ALIGN="BOTTOM" BORDER="0"
SRC="img58.png"
ALT="\includegraphics[scale=0.45]{figures/try8x8.eps}">
<!-- MATH
$\rotatebox{-90}{\includegraphics[scale=0.45]{figures/try8x8}}$
-->
<IMG
WIDTH="1" HEIGHT="2" ALIGN="BOTTOM" BORDER="0"
SRC="img57.png"
ALT="\rotatebox{-90}{\includegraphics[scale=0.45]{figures/try8x8}}">
</DIV></TD></TR>
</TABLE>
</DIV>
<P>
<FONT SIZE="+1"><B>Usage Example</B></FONT>
Consider the discretization mesh depicted in fig.&nbsp;<A HREF="#fig:try8x8">7</A>,
partitioned among two processes as shown by the dashed line; the data
distribution is such that each process will own 32 entries in the
index space, with a halo made of 8 entries placed at local indices 33
through 40. If process 0 assigns an initial value of 1 to its entries
in the <IMG
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img20.png"
ALT="$x$"> vector, and process 1 assigns a value of 2, then after a
call to <code>psb_halo</code> the contents of the local vectors will be the
following:
<BR>
<DIV ALIGN="CENTER">
<TABLE CELLPADDING=3 ALIGN="CENTER">
<TR><TD ALIGN="CENTER" COLSPAN=3><FONT SIZE="-1">
Process 0</FONT></TD>
<TD ALIGN="LEFT">&nbsp;</TD><TD ALIGN="CENTER" COLSPAN=3><FONT SIZE="-1">
Process 1</FONT></TD>
</TR>
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
I </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> GLOB(I) </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> X(I) </FONT></TD>
<TD ALIGN="LEFT">&nbsp;</TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> I </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> GLOB(I) </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> X(I) </FONT></TD>
</TR>
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
1 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
<TD ALIGN="LEFT">&nbsp;</TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 1 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 33 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
</TR>
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
2 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
<TD ALIGN="LEFT">&nbsp;</TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 2 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 34 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
</TR>
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
3 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 3 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
<TD ALIGN="LEFT">&nbsp;</TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 3 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 35 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
</TR>
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
4 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 4 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
<TD ALIGN="LEFT">&nbsp;</TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 4 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 36 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
</TR>
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
5 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 5 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
<TD ALIGN="LEFT">&nbsp;</TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 5 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 37 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
</TR>
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
6 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 6 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
<TD ALIGN="LEFT">&nbsp;</TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 6 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 38 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
</TR>
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
7 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 7 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
<TD ALIGN="LEFT">&nbsp;</TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 7 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 39 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
</TR>
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
8 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 8 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
<TD ALIGN="LEFT">&nbsp;</TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 8 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 40 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
</TR>
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
9 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 9 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
<TD ALIGN="LEFT">&nbsp;</TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 9 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 41 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
</TR>
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
10 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 10 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
<TD ALIGN="LEFT">&nbsp;</TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 10 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 42 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
</TR>
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
11 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 11 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
<TD ALIGN="LEFT">&nbsp;</TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 11 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 43 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
</TR>
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
12 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 12 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
<TD ALIGN="LEFT">&nbsp;</TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 12 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 44 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
</TR>
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
13 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 13 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
<TD ALIGN="LEFT">&nbsp;</TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 13 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 45 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
</TR>
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
14 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 14 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
<TD ALIGN="LEFT">&nbsp;</TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 14 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 46 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
</TR>
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
15 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 15 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
<TD ALIGN="LEFT">&nbsp;</TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 15 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 47 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
</TR>
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
16 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 16 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
<TD ALIGN="LEFT">&nbsp;</TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 16 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 48 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
</TR>
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
17 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 17 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
<TD ALIGN="LEFT">&nbsp;</TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 17 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 49 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
</TR>
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
18 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 18 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
<TD ALIGN="LEFT">&nbsp;</TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 18 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 50 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
</TR>
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
19 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 19 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
<TD ALIGN="LEFT">&nbsp;</TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 19 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 51 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
</TR>
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
20 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 20 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
<TD ALIGN="LEFT">&nbsp;</TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 20 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 52 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
</TR>
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
21 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 21 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
<TD ALIGN="LEFT">&nbsp;</TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 21 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 53 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
</TR>
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
22 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 22 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
<TD ALIGN="LEFT">&nbsp;</TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 22 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 54 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
</TR>
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
23 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 23 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
<TD ALIGN="LEFT">&nbsp;</TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 23 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 55 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
</TR>
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
24 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 24 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
<TD ALIGN="LEFT">&nbsp;</TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 24 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 56 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
</TR>
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
25 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 25 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
<TD ALIGN="LEFT">&nbsp;</TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 25 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 57 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
</TR>
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
26 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 26 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
<TD ALIGN="LEFT">&nbsp;</TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 26 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 58 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
</TR>
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
27 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 27 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
<TD ALIGN="LEFT">&nbsp;</TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 27 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 59 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
</TR>
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
28 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 28 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
<TD ALIGN="LEFT">&nbsp;</TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 28 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 60 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
</TR>
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
29 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 29 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
<TD ALIGN="LEFT">&nbsp;</TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 29 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 61 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
</TR>
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
30 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 30 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
<TD ALIGN="LEFT">&nbsp;</TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 30 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 62 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
</TR>
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
31 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 31 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
<TD ALIGN="LEFT">&nbsp;</TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 31 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 63 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
</TR>
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
32 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 32 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
<TD ALIGN="LEFT">&nbsp;</TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 32 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 64 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
</TR>
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
33 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 33 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
<TD ALIGN="LEFT">&nbsp;</TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 33 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 25 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
</TR>
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
34 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 34 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
<TD ALIGN="LEFT">&nbsp;</TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 34 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 26 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
</TR>
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
35 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 35 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
<TD ALIGN="LEFT">&nbsp;</TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 35 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 27 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
</TR>
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
36 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 36 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
<TD ALIGN="LEFT">&nbsp;</TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 36 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 28 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
</TR>
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
37 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 37 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
<TD ALIGN="LEFT">&nbsp;</TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 37 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 29 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
</TR>
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
38 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 38 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
<TD ALIGN="LEFT">&nbsp;</TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 38 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 30 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
</TR>
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
39 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 39 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
<TD ALIGN="LEFT">&nbsp;</TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 39 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 31 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
</TR>
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
40 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 40 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
<TD ALIGN="LEFT">&nbsp;</TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 40 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 32 </FONT></TD>
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
</TR>
</TABLE></DIV>
<BR>
<P>
<HR>
<!--Navigation Panel-->
<A NAME="tex2html875"
<A NAME="tex2html877"
HREF="node55.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html871"
HREF="node51.html">
<A NAME="tex2html873"
HREF="node53.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html865"
<A NAME="tex2html867"
HREF="node53.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html873"
<A NAME="tex2html875"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html876"
HREF="node55.html">psb_scatter Scatter</A>
<B> Up:</B> <A NAME="tex2html872"
HREF="node51.html">Communication routines</A>
<B> Previous:</B> <A NAME="tex2html866"
HREF="node53.html">psb_ovrl Overlap</A>
&nbsp; <B> <A NAME="tex2html874"
<B> Next:</B> <A NAME="tex2html878"
HREF="node55.html">psb_ovrl Overlap</A>
<B> Up:</B> <A NAME="tex2html874"
HREF="node53.html">Communication routines</A>
<B> Previous:</B> <A NAME="tex2html868"
HREF="node53.html">Communication routines</A>
&nbsp; <B> <A NAME="tex2html876"
HREF="node1.html">Contents</A></B>
<!--End of Navigation Panel-->