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"> </A>
<A NAME="secgrid"> </A>
<P>
The <I>P</I><A NAME="2244"> </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"> </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 <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"> </A><A NAME="fig8natgrid"> </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 <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"> </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"> </A>
whereby the numbering of the
processes proceeds down each
column of the process grid.
The BLACS routine BLACS_GRIDINIT<A NAME="2286"> </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"> </A>.
Refer to the Appendix <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>
|