File: node78.html

package info (click to toggle)
scalapack-doc 1.5-11
  • links: PTS
  • area: main
  • in suites: bullseye, buster, stretch
  • size: 10,336 kB
  • ctags: 4,931
  • sloc: makefile: 47; sh: 18
file content (98 lines) | stat: -rw-r--r-- 6,308 bytes parent folder | download | duplicates (4)
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">&#160;</A>
<P>
As mentioned in section&nbsp;<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">&#160;</A>
Example programs can be found in 
section&nbsp;<A HREF="node28.html#example1">2.3</A> and 
Appendix&nbsp;<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">&#160;</A>
dense matrix is first decomposed into <TT>MB_</TT>
by <TT>NB_</TT><A NAME="2558">&#160;</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">&#160;</A><A NAME="2560">&#160;</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&nbsp;<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">&#160;</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">&#160;</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">&#160;</A>
<A NAME="2569">&#160;</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">&#160;</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&nbsp;<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&nbsp;5, and
greater than or equal to&nbsp;4 in the
process row&nbsp;1.
<P><A NAME="2577">&#160;</A><A NAME="tableofldas">&#160;</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&nbsp;<A HREF="node78.html#tableofldas">4.8</A>
gives the values of the local
array sizes associated with 
figure&nbsp;<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>