1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
|
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<!--Converted with LaTeX2HTML 96.1-h (September 30, 1996) by Nikos Drakos (nikos@cbl.leeds.ac.uk), CBLU, University of Leeds -->
<HTML>
<HEAD>
<TITLE>Example</TITLE>
<META NAME="description" CONTENT="Example">
<META NAME="keywords" CONTENT="slug">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<LINK REL=STYLESHEET HREF="slug.css">
</HEAD>
<BODY LANG="EN" >
<A NAME="tex2html3158" HREF="node79.html"><IMG WIDTH=37 HEIGHT=24 ALIGN=BOTTOM ALT="next" SRC="http://www.netlib.org/utk/icons/next_motif.gif"></A> <A NAME="tex2html3156" HREF="node74.html"><IMG WIDTH=26 HEIGHT=24 ALIGN=BOTTOM ALT="up" SRC="http://www.netlib.org/utk/icons/up_motif.gif"></A> <A NAME="tex2html3150" HREF="node77.html"><IMG WIDTH=63 HEIGHT=24 ALIGN=BOTTOM ALT="previous" SRC="http://www.netlib.org/utk/icons/previous_motif.gif"></A> <A NAME="tex2html3160" HREF="node1.html"><IMG WIDTH=65 HEIGHT=24 ALIGN=BOTTOM ALT="contents" SRC="http://www.netlib.org/utk/icons/contents_motif.gif"></A> <A NAME="tex2html3161" HREF="node190.html"><IMG WIDTH=43 HEIGHT=24 ALIGN=BOTTOM ALT="index" SRC="http://www.netlib.org/utk/icons/index_motif.gif"></A> <BR>
<B> Next:</B> <A NAME="tex2html3159" HREF="node79.html">Submatrix Argument Descriptions</A>
<B>Up:</B> <A NAME="tex2html3157" HREF="node74.html">In-core Dense Matrices</A>
<B> Previous:</B> <A NAME="tex2html3151" HREF="node77.html">Array Descriptor for In-core </A>
<BR> <P>
<H2><A NAME="SECTION04434000000000000000">Example</A></H2>
<A NAME="sec2dbsdexample"> </A>
<P>
As mentioned in section <A HREF="node75.html#sec2dbcd">4.3.1</A>,
ScaLAPACK assumes a one-dimensional or
two-dimensional block-cyclic distribution
for the dense matrix computational routines.
The <B>block-cyclic distribution</B> is
a generalization of the block and cyclic
distributions. In one dimension, blocks
of rows of size <I>MB</I> or blocks of columns
of size <I>NB</I> are cyclically distributed
over the processes. In two dimensions,
blocks of size <IMG WIDTH=83 HEIGHT=22 ALIGN=MIDDLE ALT="tex2html_wrap_inline14817" SRC="img286.gif"> are
distributed cyclically over the processes. <A NAME="2550"> </A>
Example programs can be found in
section <A HREF="node28.html#example1">2.3</A> and
Appendix <A HREF="node180.html#example2">C.1</A>.
<P>
According to the two-dimensional block
cyclic data distribution, scheme an <TT>M_</TT>
by <TT>N_</TT><A NAME="2555"> </A>
dense matrix is first decomposed into <TT>MB_</TT>
by <TT>NB_</TT><A NAME="2558"> </A>
blocks starting at its upper left corner.
These blocks are then uniformly distributed
in each dimension of the process grid. Thus,
every process owns a collection of blocks,
which are locally and contiguously stored
in a two-dimensional ``column major'' array.
The partitioning<A NAME="2559"> </A><A NAME="2560"> </A> of a <IMG WIDTH=37 HEIGHT=24 ALIGN=MIDDLE ALT="tex2html_wrap_inline12402" SRC="img38.gif"> matrix into
<IMG WIDTH=37 HEIGHT=22 ALIGN=MIDDLE ALT="tex2html_wrap_inline14859" SRC="img296.gif"> blocks and the mapping
of these blocks onto a <IMG WIDTH=37 HEIGHT=24 ALIGN=MIDDLE ALT="tex2html_wrap_inline14922" SRC="img304.gif">
process grid are shown in figure <A HREF="node78.html#figmat9">4.6</A>.
The local entries of every matrix
column are contiguously stored in
the processes' memories.
<P><A NAME="7969"> </A><IMG WIDTH=540 HEIGHT=182 ALIGN=BOTTOM ALT="figure2562" SRC="img305.gif"><BR>
<STRONG>Figure: 4.6</STRONG> A <IMG WIDTH=37 HEIGHT=24 ALIGN=MIDDLE ALT="tex2html_wrap_inline12402" SRC="img38.gif"> matrix decomposed into <IMG WIDTH=37 HEIGHT=22 ALIGN=MIDDLE ALT="tex2html_wrap_inline14859" SRC="img296.gif"> <A NAME="figmat9"> </A>
blocks mapped onto a <IMG WIDTH=37 HEIGHT=24 ALIGN=MIDDLE ALT="tex2html_wrap_inline14922" SRC="img304.gif"> process grid<BR>
<P>
The number of rows of a matrix
<A NAME="2568"> </A>
<A NAME="2569"> </A>
and the number of columns of a
matrix that a specific process
owns, denoted LOC<IMG WIDTH=6 HEIGHT=7 ALIGN=MIDDLE ALT="tex2html_wrap_inline12112" SRC="img15.gif"> and
LOC<IMG WIDTH=6 HEIGHT=7 ALIGN=MIDDLE ALT="tex2html_wrap_inline12114" SRC="img16.gif"> respectively, may
differ from process to process
in the process grid. Likewise,
there is a local leading
dimension <TT>LLD_</TT><A NAME="2573"> </A>
for each process in the process
grid. This value may be different
on each process in the process
grid. For example, we can see
on the right of figure <A HREF="node78.html#figmat9">4.6</A>
that the local array stored in
process row 0 must have a local
leading dimension <TT>LLD_</TT>
greater than or equal to 5, and
greater than or equal to 4 in the
process row 1.
<P><A NAME="2577"> </A><A NAME="tableofldas"> </A><IMG WIDTH=437 HEIGHT=153 ALIGN=BOTTOM ALT="table2576" SRC="img306.gif"><BR>
<STRONG>Table 4.8:</STRONG> Sizes of the local arrays<BR>
<P>
Table <A HREF="node78.html#tableofldas">4.8</A>
gives the values of the local
array sizes associated with
figure <A HREF="node78.html#figmat9">4.6</A>.
<P>
<HR><A NAME="tex2html3158" HREF="node79.html"><IMG WIDTH=37 HEIGHT=24 ALIGN=BOTTOM ALT="next" SRC="http://www.netlib.org/utk/icons/next_motif.gif"></A> <A NAME="tex2html3156" HREF="node74.html"><IMG WIDTH=26 HEIGHT=24 ALIGN=BOTTOM ALT="up" SRC="http://www.netlib.org/utk/icons/up_motif.gif"></A> <A NAME="tex2html3150" HREF="node77.html"><IMG WIDTH=63 HEIGHT=24 ALIGN=BOTTOM ALT="previous" SRC="http://www.netlib.org/utk/icons/previous_motif.gif"></A> <A NAME="tex2html3160" HREF="node1.html"><IMG WIDTH=65 HEIGHT=24 ALIGN=BOTTOM ALT="contents" SRC="http://www.netlib.org/utk/icons/contents_motif.gif"></A> <A NAME="tex2html3161" HREF="node190.html"><IMG WIDTH=43 HEIGHT=24 ALIGN=BOTTOM ALT="index" SRC="http://www.netlib.org/utk/icons/index_motif.gif"></A> <BR>
<B> Next:</B> <A NAME="tex2html3159" HREF="node79.html">Submatrix Argument Descriptions</A>
<B>Up:</B> <A NAME="tex2html3157" HREF="node74.html">In-core Dense Matrices</A>
<B> Previous:</B> <A NAME="tex2html3151" HREF="node77.html">Array Descriptor for In-core </A>
<P><ADDRESS>
<I>Susan Blackford <BR>
Tue May 13 09:21:01 EDT 1997</I>
</ADDRESS>
</BODY>
</HTML>
|