File: node69.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 (121 lines) | stat: -rw-r--r-- 5,804 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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
<!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>Basics</TITLE>
<META NAME="description" CONTENT="Basics">
<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="tex2html3043" HREF="node70.html"><IMG WIDTH=37 HEIGHT=24 ALIGN=BOTTOM ALT="next" SRC="http://www.netlib.org/utk/icons/next_motif.gif"></A> <A NAME="tex2html3041" HREF="node68.html"><IMG WIDTH=26 HEIGHT=24 ALIGN=BOTTOM ALT="up" SRC="http://www.netlib.org/utk/icons/up_motif.gif"></A> <A NAME="tex2html3035" HREF="node68.html"><IMG WIDTH=63 HEIGHT=24 ALIGN=BOTTOM ALT="previous" SRC="http://www.netlib.org/utk/icons/previous_motif.gif"></A> <A NAME="tex2html3045" 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="tex2html3046" 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="tex2html3044" HREF="node70.html">Process Grid</A>
<B>Up:</B> <A NAME="tex2html3042" HREF="node68.html">Data Distributions and Software </A>
<B> Previous:</B> <A NAME="tex2html3036" HREF="node68.html">Data Distributions and Software </A>
<BR> <P>
<H1><A NAME="SECTION04410000000000000000">Basics</A></H1>
                                  <A NAME="sec2dbsdintro">&#160;</A>
<P>
ScaLAPACK requires that all
global data (vectors or matrices)
be distributed across the processes
prior to invoking the ScaLAPACK
routines.  The storage schemes
of global data structures in
ScaLAPACK are conceptually the
same as for LAPACK.
<P>
Global data is mapped to the
local memories of processes
assuming specific data distributions.
The local data on each process is
referred to as the <B>local array</B>.
<P>
The layout of an application's
data within the hierarchical 
memory<A NAME="2233">&#160;</A><A NAME="2234">&#160;</A> 
of a concurrent computer is
critical in determining the
performance and scalability<A NAME="2235">&#160;</A>
of the parallel code.  
On shared-memory concurrent
computers (or <EM>multiprocessors</EM>)
LAPACK seeks to make efficient
use of the hierarchical memory
by maximizing data reuse (e.g.,
on a cache-based computer LAPACK
avoids having to reload the cache
too frequently). Specifically,
LAPACK casts linear algebra
computations in terms of 
block-oriented, matrix-matrix
operations through the use of
the Level 3 BLAS whenever 
possible. This approach 
generally results in maximizing
the ratio of floating-point
operations to memory references
and enables data reuse as much
as possible while it is stored
in the highest levels of the
memory hierarchy (e.g., vector
registers or high-speed cache).
<P>
An analogous approach has been
followed in the design of ScaLAPACK for
distributed-memory<A NAME="2237">&#160;</A>
machines.  By using block-partitioned 
algorithms<A NAME="2238">&#160;</A>
we seek to reduce the frequency with 
which data must be transferred between
processes, thereby reducing the fixed
startup cost (or latency)<A NAME="2239">&#160;</A>
incurred each time a message is communicated.
<P>
The ScaLAPACK routines for solving 
dense linear systems and eigenvalue
problems assume that all global data
has been distributed to the processes
with a one-dimensional or two-dimensional
block-cyclic data distribution.  This
distribution is a natural expression 
of the block-partitioned algorithms
present in ScaLAPACK. The ScaLAPACK
routines for solving band linear
systems and tridiagonal systems 
assume that all global data has
been distributed to the processes
with a one-dimensional block data
distribution.  Each of these distributions
is supported in the High Performance
Fortran standard&nbsp;[<A HREF="node189.html#hpf">91</A>].  
Explanations for each distribution
will be presented and accompanied
by the appropriate HPF directives.
<P>
Our implementation of ScaLAPACK
emphasizes the mathematical view
of a matrix over its storage. In
fact, it is even possible to reuse
our interface 
for a different block data distribution
that would not fit in the block-cyclic scheme.
<P>
<BR> <HR>
<UL><A NAME="CHILD_LINKS">&#160;</A>
<LI> <A NAME="tex2html3047" HREF="node70.html#SECTION04411000000000000000">Process Grid</A>
<LI> <A NAME="tex2html3048" HREF="node71.html#SECTION04412000000000000000">Contexts</A>
<LI> <A NAME="tex2html3049" HREF="node72.html#SECTION04413000000000000000">Scoped Operations</A>
</UL>
<HR><A NAME="tex2html3043" HREF="node70.html"><IMG WIDTH=37 HEIGHT=24 ALIGN=BOTTOM ALT="next" SRC="http://www.netlib.org/utk/icons/next_motif.gif"></A> <A NAME="tex2html3041" HREF="node68.html"><IMG WIDTH=26 HEIGHT=24 ALIGN=BOTTOM ALT="up" SRC="http://www.netlib.org/utk/icons/up_motif.gif"></A> <A NAME="tex2html3035" HREF="node68.html"><IMG WIDTH=63 HEIGHT=24 ALIGN=BOTTOM ALT="previous" SRC="http://www.netlib.org/utk/icons/previous_motif.gif"></A> <A NAME="tex2html3045" 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="tex2html3046" 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="tex2html3044" HREF="node70.html">Process Grid</A>
<B>Up:</B> <A NAME="tex2html3042" HREF="node68.html">Data Distributions and Software </A>
<B> Previous:</B> <A NAME="tex2html3036" HREF="node68.html">Data Distributions and Software </A>
<P><ADDRESS>
<I>Susan Blackford <BR>
Tue May 13 09:21:01 EDT 1997</I>
</ADDRESS>
</BODY>
</HTML>