File: node111.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 (244 lines) | stat: -rw-r--r-- 7,528 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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
<!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>BLACS as an Efficient, Portable and Adequate
            Message-Passing Interface</TITLE>
<META NAME="description" CONTENT="BLACS as an Efficient, Portable and Adequate
            Message-Passing Interface">
<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="tex2html3602" HREF="node112.html"><IMG WIDTH=37 HEIGHT=24 ALIGN=BOTTOM ALT="next" SRC="http://www.netlib.org/utk/icons/next_motif.gif"></A> <A NAME="tex2html3600" HREF="node108.html"><IMG WIDTH=26 HEIGHT=24 ALIGN=BOTTOM ALT="up" SRC="http://www.netlib.org/utk/icons/up_motif.gif"></A> <A NAME="tex2html3594" HREF="node110.html"><IMG WIDTH=63 HEIGHT=24 ALIGN=BOTTOM ALT="previous" SRC="http://www.netlib.org/utk/icons/previous_motif.gif"></A> <A NAME="tex2html3604" 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="tex2html3605" 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="tex2html3603" HREF="node112.html">Parallel Efficiency</A>
<B>Up:</B> <A NAME="tex2html3601" HREF="node108.html">PerformancePortability and Scalability</A>
<B> Previous:</B> <A NAME="tex2html3595" HREF="node110.html">Two-Dimensional Block Cyclic Data </A>
<BR> <P>
<H2><A NAME="SECTION04523000000000000000">BLACS as an Efficient, Portable and Adequate
            Message-Passing Interface</A></H2>
                 <A NAME="subsecblacs">&#160;</A>
<P>
The total volume
of data communicated
by most of the 
ScaLAPACK driver
routines for dense
matrices can be
approximated by
the quantity 
<IMG WIDTH=44 HEIGHT=31 ALIGN=MIDDLE ALT="tex2html_wrap_inline16256" SRC="img370.gif"><A NAME="3636">&#160;</A>, where
<I>N</I> is the order
of the largest 
matrix operand.
The number of
messages, however,
is proportional to
<I>N</I> and can be
approximated by
the quantity
<IMG WIDTH=78 HEIGHT=27 ALIGN=MIDDLE ALT="tex2html_wrap_inline12070" SRC="img5.gif"><A NAME="3637">&#160;</A>,
where <I>NB</I> is the
logical blocking
factor used in
the computation.
Similar to the
situation described
above, the ``standard''
constants <IMG WIDTH=17 HEIGHT=25 ALIGN=MIDDLE ALT="tex2html_wrap_inline16270" SRC="img371.gif"> for
the communication
volume depend upon
the performed computation
and are of the same
order as the 
floating-point 
operation constants
<IMG WIDTH=18 HEIGHT=25 ALIGN=MIDDLE ALT="tex2html_wrap_inline16191" SRC="img364.gif"> shown in
Table&nbsp;<A HREF="node116.html#standardflopcount">5.8</A>.
The values of the
``standard''
constants <IMG WIDTH=17 HEIGHT=25 ALIGN=MIDDLE ALT="tex2html_wrap_inline16270" SRC="img371.gif"> 
for a few selected
ScaLAPACK drivers
are presented in 
Table&nbsp;<A HREF="node116.html#standardflopcount">5.8</A>.
As a result, a
significant 
percentage of
the ScaLAPACK
software aims
at exchanging 
messages between
processes.
<P>
Developing an adequate
message-passing interface
specialized for linear
algebra operations has 
been one of the first
achievements of the 
ScaLAPACK project.
The Basic Linear 
Algebra Communications
Subprograms (BLACS)<A NAME="3640">&#160;</A>
[<A HREF="node189.html#lawn37">50</A>, <A HREF="node189.html#lawn94">54</A>]
were thus specifically
designed to facilitate
the expression of the
relevant communication
operations. The simplicity
of the BLACS interface, as
well as the rigor of their
specification, allows for
an easy port of the entire 
ScaLAPACK software.
Currently, the BLACS
have been efficiently
ported on machine-specific
message-passing libraries
such as the IBM (MPL)<A NAME="3642">&#160;</A><A NAME="3643">&#160;</A> and
Intel (NX)<A NAME="3644">&#160;</A><A NAME="3645">&#160;</A> message-passing
libraries, as well as more
generic interfaces such 
as PVM<A NAME="3646">&#160;</A><A NAME="3647">&#160;</A> and
MPI<A NAME="3648">&#160;</A><A NAME="3649">&#160;</A>. The
BLACS<A NAME="3650">&#160;</A>
overhead has been shown
to be negligible 
[<A HREF="node189.html#lawn94">54</A>].
<P>
The BLACS
interface
provides the
user and 
library 
designer
with an 
appropriate
level of 
notation.
Indeed, the
BLACS operate
on typed 
two-dimensional
arrays. The
computational
model consists
of a one- or
two-dimensional
grid of processes,
where each process
stores matrices
and vectors. The
BLACS include 
synchronous
send/receive 
routines to 
send a matrix
or submatrix
from one process
to another,
to broadcast 
submatrices,
or to perform
global reductions
(sums, maxima
and minima).
Other
routines
establish,
change, or 
query the
process grid.
The BLACS
provide an
adequate
interface 
level for
linear
algebra 
communication
operations.
<P>
For ease of use
and flexibility,
the BLACS send
operation is <B>
locally blocking</B>;<A NAME="3653">&#160;</A>
that is, the 
return from 
the send
operation
indicates that 
the resources
may be reused.
However, since 
this depends only
on local information,
it is unknown
whether the 
receive operation
has been called.
Buffering is 
necessary on 
the sending or
the receiving
process. The 
BLACS receive
operation is
<B>globally blocking</B><A NAME="3655">&#160;</A>.
The return from the 
receive operation
indicates that the
message has been 
(sent and) received.
On a system natively
supporting globally
blocking sends such
as the IBM SP2 computer, 
nonblocking sends
coupled with buffering
are used to simulate
locally blocking sends.
This extra buffering
operation may cause
a slight performance
degradation on those
systems.
<P>
The BLACS broadcast
and combine operations
feature the ability of
selecting different
virtual network 
topologies. This
easy-to-use built-in
facility allows for
the expression of
various message
scheduling approaches,
such as a communication
pipeline. This unique
and distinctive BLACS
characteristic is
necessary for achieving
the highest performance
levels on distributed-memory
platforms.
<P>
<BR> <HR>
<UL><A NAME="CHILD_LINKS">&#160;</A>
<LI> <A NAME="tex2html3606" HREF="node112.html#SECTION04523100000000000000">Parallel Efficiency</A>
</UL>
<HR><A NAME="tex2html3602" HREF="node112.html"><IMG WIDTH=37 HEIGHT=24 ALIGN=BOTTOM ALT="next" SRC="http://www.netlib.org/utk/icons/next_motif.gif"></A> <A NAME="tex2html3600" HREF="node108.html"><IMG WIDTH=26 HEIGHT=24 ALIGN=BOTTOM ALT="up" SRC="http://www.netlib.org/utk/icons/up_motif.gif"></A> <A NAME="tex2html3594" HREF="node110.html"><IMG WIDTH=63 HEIGHT=24 ALIGN=BOTTOM ALT="previous" SRC="http://www.netlib.org/utk/icons/previous_motif.gif"></A> <A NAME="tex2html3604" 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="tex2html3605" 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="tex2html3603" HREF="node112.html">Parallel Efficiency</A>
<B>Up:</B> <A NAME="tex2html3601" HREF="node108.html">PerformancePortability and Scalability</A>
<B> Previous:</B> <A NAME="tex2html3595" HREF="node110.html">Two-Dimensional Block Cyclic Data </A>
<P><ADDRESS>
<I>Susan Blackford <BR>
Tue May 13 09:21:01 EDT 1997</I>
</ADDRESS>
</BODY>
</HTML>