File: node70.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 (83 lines) | stat: -rw-r--r-- 4,604 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
<!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>Process Grid</TITLE>
<META NAME="description" CONTENT="Process Grid">
<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="tex2html3058" HREF="node71.html"><IMG WIDTH=37 HEIGHT=24 ALIGN=BOTTOM ALT="next" SRC="http://www.netlib.org/utk/icons/next_motif.gif"></A> <A NAME="tex2html3056" HREF="node69.html"><IMG WIDTH=26 HEIGHT=24 ALIGN=BOTTOM ALT="up" SRC="http://www.netlib.org/utk/icons/up_motif.gif"></A> <A NAME="tex2html3050" HREF="node69.html"><IMG WIDTH=63 HEIGHT=24 ALIGN=BOTTOM ALT="previous" SRC="http://www.netlib.org/utk/icons/previous_motif.gif"></A> <A NAME="tex2html3060" 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="tex2html3061" 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="tex2html3059" HREF="node71.html">Contexts</A>
<B>Up:</B> <A NAME="tex2html3057" HREF="node69.html">Basics</A>
<B> Previous:</B> <A NAME="tex2html3051" HREF="node69.html">Basics</A>
<BR> <P>
<H2><A NAME="SECTION04411000000000000000">Process Grid</A></H2>
<A NAME="2242">&#160;</A>
<A NAME="secgrid">&#160;</A>
<P>
The <I>P</I><A NAME="2244">&#160;</A> processes of an abstract
parallel computer are often represented
as a one-dimensional linear array of 
processes labeled <IMG WIDTH=105 HEIGHT=25 ALIGN=MIDDLE ALT="tex2html_wrap_inline14493" SRC="img244.gif">.
For reasons described below, it is often
more convenient to map this one-dimensional
array of processes into a two-dimensional 
rectangular grid, or <B>process grid</B>.
(A process grid is also referred to as a
process mesh.)<A NAME="2246">&#160;</A>
This grid will have <IMG WIDTH=17 HEIGHT=25 ALIGN=MIDDLE ALT="tex2html_wrap_inline12172" SRC="img24.gif"> process rows
and <IMG WIDTH=17 HEIGHT=25 ALIGN=MIDDLE ALT="tex2html_wrap_inline12162" SRC="img23.gif"> process columns, where <IMG WIDTH=89 HEIGHT=25 ALIGN=MIDDLE ALT="tex2html_wrap_inline14499" SRC="img245.gif">.  A process can now be 
referenced by its row and column coordinates,
(<IMG WIDTH=39 HEIGHT=17 ALIGN=MIDDLE ALT="tex2html_wrap_inline14501" SRC="img246.gif">), within the grid, where <IMG WIDTH=88 HEIGHT=25 ALIGN=MIDDLE ALT="tex2html_wrap_inline14503" SRC="img247.gif">,
and <IMG WIDTH=87 HEIGHT=25 ALIGN=MIDDLE ALT="tex2html_wrap_inline14505" SRC="img248.gif">).  An example of 
such a mapping is shown in figure&nbsp;<A HREF="node70.html#fig8natgrid">4.1</A>,
where <IMG WIDTH=50 HEIGHT=25 ALIGN=MIDDLE ALT="tex2html_wrap_inline12422" SRC="img43.gif"> and <IMG WIDTH=49 HEIGHT=25 ALIGN=MIDDLE ALT="tex2html_wrap_inline14509" SRC="img249.gif">.
<P>
<P><A NAME="2278">&#160;</A><A NAME="fig8natgrid">&#160;</A><IMG WIDTH=242 HEIGHT=133 ALIGN=BOTTOM ALT="figure2256" SRC="img251.gif"><BR>
<STRONG>Figure 4.1:</STRONG> Eight processes mapped to a <IMG WIDTH=37 HEIGHT=22 ALIGN=MIDDLE ALT="tex2html_wrap_inline14511" SRC="img250.gif"> process grid<BR>
<P>
<P>
In figure&nbsp;<A HREF="node70.html#fig8natgrid">4.1</A>, the
processes are mapped to the process
grid by using <B>row-major order</B><A NAME="2283">&#160;</A>;
in other words, the numbering of 
the processes increases sequentially
across each row.  Similarly, the
processes can be mapped in a 
<B>column-major order</B><A NAME="2285">&#160;</A>
whereby the numbering of the
processes proceeds down each 
column of the process grid.
The BLACS routine BLACS_GRIDINIT<A NAME="2286">&#160;</A>
performs this task of mapping
the processes to the process
grid. By default, BLACS_GRIDINIT
assumes a row-major ordering, although
a column-major ordering can also be
specified.  The companion routine
BLACS_GRIDMAP is a more general
form of BLACS_GRIDINIT and allows
the user to define the mapping of
the processes<A NAME="2287">&#160;</A>.
Refer to the Appendix&nbsp;<A HREF="node185.html#chapqrefblacs">D.3</A>
for further details.
<P>
All ScaLAPACK routines, with the
exception of the band linear system
routines, allow the processes to be
viewed as a one-dimensional or
two-dimensional process grid.
The band routines support only 
one-dimensional process grids.
<P>
<BR> <HR>
<P><ADDRESS>
<I>Susan Blackford <BR>
Tue May 13 09:21:01 EDT 1997</I>
</ADDRESS>
</BODY>
</HTML>