dynamic process chapter - part I

William C. Saphir (wcs@nas.nasa.gov)
Fri, 5 Apr 1996 00:16:10 -0800

Dear Group,

Here is a new version of part I of the dynamic process chapter.
It contains the results of discussions at the last meeting,
as well as discussions on the mailing list since then.
Some of the highlights:
- bindings for all functions (with the exception of
the ispawn functions, for which the bindings are obvious
(based on the blocking versions) and would take up
an extra couple of pages).
- (char *) instead of (void *) for info. I didn't put in both
proposals mostly because having only one will probably generate
more discussion.
- The quote mechanism is based on comments from Dick and Rolf.
- The MPI_SPAWN_SOFT issue has not been discussed much
since the last meeting, so I have put in the minprocs/maxprocs
version, based on the plurality vote at the last meeting.
- For universe size, there are two proposals. The first is
static. The second is dynamic. Comments?

Thanks for Rolf for the 2nd universe size proposal and some
detailed editing of the rest.

I hope to get the other parts of this chapter done in the
next few days. If you have opinions, please send them.
I have not heard any comments on a new idea for MPI_NOTIFY
sent out after the last meeting.

Bill

%!PS-Adobe-2.0
%%Creator: dvipsk 5.58f Copyright 1986, 1994 Radical Eye Software
%%Title: main.dvi
%%Pages: 8
%%PageOrder: Ascend
%%BoundingBox: 0 0 612 792
%%EndComments
%DVIPSCommandLine: /usr/local/bin/dvips -o main.ps main.dvi
%DVIPSParameters: dpi=300, comments removed
%DVIPSSource: TeX output 1996.04.05:0013
%%BeginProcSet: tex.pro
/TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N
/X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72
mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1}
ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale
isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div
hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul
TR[matrix currentmatrix{dup dup round sub abs 0.00001 lt{round}if}
forall round exch round exch]setmatrix}N /@landscape{/isls true N}B
/@manualfeed{statusdict /manualfeed true put}B /@copies{/#copies X}B
/FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{
/nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N
string /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N
end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{
/sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]
N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data dup
length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{
128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub
get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data
dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N
/rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup
/base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx
0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff
setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff
.1 sub]{ch-image}imagemask restore}B /D{/cc X dup type /stringtype ne{]}
if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup
length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{
cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin
0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul
add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore userdict
/eop-hook known{eop-hook}if showpage}N /@start{userdict /start-hook
known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X
/IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for
65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0
0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V
{}B /RV statusdict begin /product where{pop product dup length 7 ge{0 7
getinterval dup(Display)eq exch 0 4 getinterval(NeXT)eq or}{pop false}
ifelse}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale rulex ruley false
RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR rulex ruley scale 1 1
false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave newpath transform
round exch round exch itransform moveto rulex 0 rlineto 0 ruley neg
rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta 0 N /tail
{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}B /c{-4 M}
B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B /k{
4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{
p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p
a}B /bos{/SS save N}B /eos{SS restore}B end
%%EndProcSet
TeXDict begin 40258437 52099154 1000 300 300 (main.dvi)
@start /Fa 6 118 df<07C00C20107020706000C000C000C00080008000C010C02060C0
3F000C0E7E8D0F>99 D<0300038003000000000000000000000000001C00240046004600
8C000C0018001800180031003100320032001C0009177F960C>105
D<383C0044C6004702004602008E06000C06000C06000C0C00180C00180C401818401818
80300880300F00120E7F8D15>110 D<07C00C20101020186018C018C018C01880308030
C060C0C061803E000D0E7E8D11>I<030003000600060006000600FFC00C000C000C0018
00180018001800300030803080310031001E000A147F930D>116
D<1C0200260600460600460600860C000C0C000C0C000C0C001818001818801818801838
800C5900078E00110E7F8D14>I E /Fb 1 81 df<FFFFFFFFE0FFFFFFFFF07000001FF0
78000001F03C000000781C000000180E0000000C0F000000040700000004038000000203
C000000001E000000000E0000000007000000000780000000038000000001C000000001E
000000000F00000000070000000003800000000380000000030000000007000000000600
0000000C000000001800000000380000000030000000006000000000C000000001C00000
000180000002030000000406000000040E0000000C0C00000018180000007830000001F0
7000001FF07FFFFFFFF0FFFFFFFFE0272A7E7F2C>80 D E /Fc 4
62 df<03000700FF00070007000700070007000700070007000700070007000700070007
000700070007007FF00C157E9412>49 D<0F8030E040708030C038E03840380038007000
70006000C00180030006000C08080810183FF07FF0FFF00D157E9412>I<0FE030306018
701C701C001C00180038006007E000300018000C000E000EE00EE00EC00C401830300FE0
0F157F9412>I<FFFFFCFFFFFC000000000000000000000000000000000000FFFFFCFFFF
FC160A7E8C1B>61 D E /Fd 6 111 df<70F8F8F87005057C840D>58
D<70F8FCFC74040404080810102040060E7C840D>I<000001C00000078000001E000000
78000001E00000078000000E00000038000000F0000003C000000F0000003C000000F000
0000F00000003C0000000F00000003C0000000F0000000380000000E0000000780000001
E0000000780000001E0000000780000001C01A1A7C9723>I<00E001E001E000C0000000
00000000000000000000000E00130023804380438043808700070007000E000E001C001C
001C20384038403840388019000E000B1F7E9E10>105 D<1E07C07C00231861860023A0
32030043C034030043803803804380380380870070070007007007000700700700070070
07000E00E00E000E00E00E000E00E00E000E00E01C101C01C01C201C01C038201C01C038
401C01C0184038038018801801800F0024147E9328>109 D<1E07802318C023A06043C0
704380704380708700E00700E00700E00700E00E01C00E01C00E01C00E03821C03841C07
041C07081C03083803101801E017147E931B>I E /Fe 8 118 df<78FCFCFCFC78000000
00000078FCFCFCFC7806127D910D>58 D<FFFFF800FFFFFF000FC01FC00FC007E00FC001
F00FC001F80FC000F80FC000FC0FC0007C0FC0007C0FC0007E0FC0007E0FC0007E0FC000
7E0FC0007E0FC0007E0FC0007E0FC0007E0FC0007C0FC0007C0FC0007C0FC000F80FC000
F80FC001F00FC007E00FC01FC0FFFFFF00FFFFF8001F1C7E9B25>68
D<03FC000E0E001C1F003C1F00781F00780E00F80000F80000F80000F80000F80000F800
007800007801803C01801C03000E0E0003F80011127E9115>99 D<1E003F003F003F003F
001E00000000000000000000000000FF00FF001F001F001F001F001F001F001F001F001F
001F001F001F001F001F00FFE0FFE00B1E7F9D0E>105 D<FF0FC0FF31E01F40F01F80F8
1F80F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F8
FFE7FFFFE7FF18127F911B>110 D<01FC000F07801C01C03C01E07800F07800F0F800F8
F800F8F800F8F800F8F800F8F800F87800F07800F03C01E01E03C00F078001FC0015127F
9118>I<1FD830786018E018E018F000FF807FE07FF01FF807FC007CC01CC01CE01CE018
F830CFC00E127E9113>115 D<FF07F8FF07F81F00F81F00F81F00F81F00F81F00F81F00
F81F00F81F00F81F00F81F00F81F00F81F00F81F01F80F01F80786FF01F8FF18127F911B
>117 D E /Ff 3 21 df<FFFFFFC0FFFFFFC01A027C8B23>0 D<03C00FF01FF83FFC7FFE
7FFEFFFFFFFFFFFFFFFFFFFFFFFF7FFE7FFE3FFC1FF80FF003C010127D9317>15
D<000000C0000003C000000F0000003C000000F0000003C00000070000001C0000007800
0001E00000078000001E00000078000000E0000000780000001E0000000780000001E000
0000780000001C0000000700000003C0000000F00000003C0000000F00000003C0000000
C0000000000000000000000000000000000000000000000000000000007FFFFF80FFFFFF
C01A247C9C23>20 D E /Fg 10 58 df<1F00318060C04040C060C060C060C060C060C0
60C060C060404060C031801F000B107F8F0F>48 D<0C003C00CC000C000C000C000C000C
000C000C000C000C000C000C000C00FF8009107E8F0F>I<1F00618040C08060C0600060
006000C00180030006000C00102020207FC0FFC00B107F8F0F>I<1F00218060C060C000
C0008001800F00008000400060C060C060804060801F000B107F8F0F>I<030003000700
0F000B001300330023004300C300FFE003000300030003001FE00B107F8F0F>I<20803F
002C002000200020002F0030802040006000600060C06080C061801F000B107F8F0F>I<
0780184030C060C06000C000CF00F080E040C060C060C060406060C030801F000B107F8F
0F>I<40007FE07FC08080808001000200040004000C0008000800180018001800180018
000B117E900F>I<1F00318060C060C060C071803F000F00338061C0C060C060C0604040
60801F000B107F8F0F>I<1F00318060C0C040C060C060C06040E021E01E600060004060
C0608043003E000B107F8F0F>I E /Fh 17 119 df<70F8F8F0E005057B840E>46
D<00000200000006000000060000000E0000001E0000001E0000003F0000002F0000004F
0000004F0000008F0000010F0000010F0000020F0000020F0000040F00000C0F0000080F
0000100F0000100F0000200F80003FFF800040078000C007800080078001000780010007
800200078002000780060007801E000F80FF807FF81D207E9F22>65
D<01FFFFFE001E001C001E000C001E0004001E0004003C0004003C0004003C0004003C00
040078080800780800007808000078180000F0300000FFF00000F0300000F0300001E020
0001E0200001E0200001E0001003C0002003C0002003C0004003C0004007800080078001
8007800100078007000F001F00FFFFFE001F1F7D9E1F>69 D<00F1800389C00707800E03
801C03803C0380380700780700780700780700F00E00F00E00F00E00F00E20F01C40F01C
40703C40705C40308C800F070013147C9317>97 D<007E0001C1000300800E07801E0780
1C07003C0200780000780000780000F00000F00000F00000F00000F00000700100700200
30040018380007C00011147C9315>99 D<0000780003F800007000007000007000007000
00E00000E00000E00000E00001C00001C000F1C00389C00707800E03801C03803C038038
0700780700780700780700F00E00F00E00F00E00F00E20F01C40F01C40703C40705C4030
8C800F070015207C9F17>I<007C01C207010E011C013C013802780C7BF07C00F000F000
F000F0007000700170023804183807C010147C9315>I<00007800019C00033C00033C00
0718000700000700000E00000E00000E00000E00000E0001FFE0001C00001C00001C0000
1C0000380000380000380000380000380000700000700000700000700000700000700000
E00000E00000E00000E00000C00001C00001C0000180003180007B0000F300006600003C
00001629829F0E>I<00C001E001E001C000000000000000000000000000000E00330023
0043804300470087000E000E000E001C001C001C003840388030807080310033001C000B
1F7C9E0E>105 D<1C0F802630C04740604780604700704700708E00E00E00E00E00E00E
00E01C01C01C01C01C01C01C03843803883803083807083803107003303001C016147C93
1A>110 D<007C0001C3000301800E01C01E01C01C01E03C01E07801E07801E07801E0F0
03C0F003C0F003C0F00780F00700700F00700E0030180018700007C00013147C9317>I<
00F0400388C00705800E03801C03803C0380380700780700780700780700F00E00F00E00
F00E00F00E00F01C00F01C00703C00705C0030B8000F3800003800003800007000007000
00700000700000E00000E0000FFE00121D7C9315>113 D<1C1E00266100478380478780
4707804703008E00000E00000E00000E00001C00001C00001C00001C0000380000380000
38000038000070000030000011147C9313>I<00FC030206010C030C070C060C000F800F
F007F803FC003E000E700EF00CF00CE008401020601F8010147D9313>I<018001C00380
03800380038007000700FFF007000E000E000E000E001C001C001C001C00380038003800
3820704070407080708031001E000C1C7C9B0F>I<0E00C03300E02301C04381C04301C0
4701C08703800E03800E03800E03801C07001C07001C07001C07101C0E20180E20180E20
1C1E200C264007C38014147C9318>I<0E03803307802307C04383C04301C04700C08700
800E00800E00800E00801C01001C01001C01001C02001C02001C04001C04001C08000E30
0003C00012147C9315>I E /Fi 63 127 df<C00060C00060C00060C00060C00060C000
60C00060C00060C00060C00060C00060C00060C00060C00060C00060FFFFE0FFFFE01311
7E8A18>32 D<00C00001C00001C00001C00003F0000FFC003FFE007DCF0071C700E1C380
E1C780E1C780E1C780F1C00079C0003DC0001FE0000FF80003FC0001DE0001CF0001C700
61C380F1C380F1C380E1C380E1C70071C70079DE003FFE001FF80007E00001C00001C000
01C00000C00011247D9F18>36 D<3803007C07807C0780EE0F80EE0F00EE0F00EE1F00EE
1E00EE1E00EE3E007C3C007C3C00387C0000780000780000F80000F00001F00001E00001
E00003E00003C00003C00007C0000783800787C00F87C00F0EE00F0EE01F0EE01E0EE01E
0EE03E0EE03C07C03C07C018038013247E9F18>I<007000F001E003C007800F001E001C
00380038007000700070007000E000E000E000E000E000E000E000E00070007000700070
00380038001C001E000F00078003C001F000F000700C24799F18>40
D<6000F00078003C001E000F000780038001C001C000E000E000E000E000700070007000
70007000700070007000E000E000E000E001C001C0038007800F001E003C007800F00060
000C247C9F18>I<01C00001C00001C00001C000C1C180F1C780F9CF807FFF001FFC0007
F00007F0001FFC007FFF00F9CF80F1C780C1C18001C00001C00001C00001C00011147D97
18>I<1C3E7E7F3F1F070E1E7CF860080C788518>44 D<7FFF00FFFF80FFFF807FFF0011
047D8F18>I<000300000780000780000F80000F00001F00001E00001E00003E00003C00
007C0000780000780000F80000F00001F00001E00003E00003C00003C00007C000078000
0F80000F00000F00001F00001E00003E00003C00003C00007C0000780000F80000F00000
F0000060000011247D9F18>47 D<07F8001FFE003FFF007807807803C07801C03001C000
01C00003C0000380000F0003FF0003FE0003FF000007800003C00001C00000E00000E000
00E0F000E0F000E0F001C0F003C07C07803FFF001FFE0003F800131C7E9B18>51
D<001F00003F0000770000770000E70001E70001C7000387000787000707000E07001E07
003C0700380700780700F00700FFFFF8FFFFF8FFFFF80007000007000007000007000007
00000700007FF000FFF8007FF0151C7F9B18>I<000300000780001F80003F00007E0001
FC0003F00007E0001FC0003F00007E0000FC0000FC00007E00003F00001FC00007E00003
F00001FC00007E00003F00001F8000078000030011187D9918>60
D<600000F00000FC00007E00003F00001FC00007E00003F00001FC00007E00003F00001F
80001F80003F00007E0001FC0003F00007E0001FC0003F00007E0000FC0000F000006000
0011187D9918>62 D<00700000F80000F80000D80000D80001DC0001DC0001DC00018C00
038E00038E00038E00038E000306000707000707000707000707000FFF800FFF800FFF80
0E03800E03801C01C01C01C07F07F0FF8FF87F07F0151C7F9B18>65
D<FFFC00FFFF00FFFF801C03C01C01C01C00E01C00E01C00E01C00E01C01E01C01C01C07
C01FFF801FFF001FFFC01C03C01C00E01C00F01C00701C00701C00701C00701C00F01C00
E01C03E0FFFFC0FFFF80FFFE00141C7F9B18>I<00F8E003FEE007FFE00F07E01E03E03C
01E03800E07000E07000E0700000E00000E00000E00000E00000E00000E00000E00000E0
00007000007000E07000E03800E03C00E01E01C00F07C007FF8003FE0000F800131C7E9B
18>I<7FF800FFFE007FFF001C0F801C03C01C03C01C01E01C00E01C00E01C00F01C0070
1C00701C00701C00701C00701C00701C00701C00701C00F01C00E01C00E01C01E01C01C0
1C03C01C0F807FFF00FFFE007FF800141C7F9B18>I<FFFFF0FFFFF0FFFFF01C00701C00
701C00701C00701C00001C00001C0E001C0E001C0E001FFE001FFE001FFE001C0E001C0E
001C0E001C00001C00001C00381C00381C00381C00381C0038FFFFF8FFFFF8FFFFF8151C
7F9B18>I<FFFFE0FFFFE0FFFFE01C00E01C00E01C00E01C00E01C00001C00001C1C001C
1C001C1C001FFC001FFC001FFC001C1C001C1C001C1C001C00001C00001C00001C00001C
00001C00001C0000FFC000FFC000FFC000131C7E9B18>I<01F1C003FDC00FFFC01F0FC0
1C03C03803C03801C07001C07001C0700000E00000E00000E00000E00000E00000E00FF0
E01FF0E00FF07001C07001C07003C03803C03803C01C07C01F0FC00FFFC003FDC001F1C0
141C7E9B18>I<7F07F0FF8FF87F07F01C01C01C01C01C01C01C01C01C01C01C01C01C01
C01C01C01C01C01FFFC01FFFC01FFFC01C01C01C01C01C01C01C01C01C01C01C01C01C01
C01C01C01C01C01C01C07F07F0FF8FF87F07F0151C7F9B18>I<7FFF00FFFF807FFF0001
C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001
C00001C00001C00001C00001C00001C00001C00001C00001C00001C0007FFF00FFFF807F
FF00111C7D9B18>I<7FE000FFE0007FE0000E00000E00000E00000E00000E00000E0000
0E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E0070
0E00700E00700E00700E00707FFFF0FFFFF07FFFF0141C7F9B18>76
D<FC01F8FE03F8FE03F83B06E03B06E03B06E03B06E03B8EE03B8EE0398CE0398CE039DC
E039DCE039DCE038D8E038D8E038F8E03870E03870E03800E03800E03800E03800E03800
E03800E0FE03F8FE03F8FE03F8151C7F9B18>I<7E07F0FF0FF87F07F01D81C01D81C01D
81C01DC1C01CC1C01CC1C01CE1C01CE1C01CE1C01C61C01C71C01C71C01C31C01C39C01C
39C01C39C01C19C01C19C01C1DC01C0DC01C0DC01C0DC07F07C0FF87C07F03C0151C7F9B
18>I<0FF8003FFE007FFF00780F00700700F00780E00380E00380E00380E00380E00380
E00380E00380E00380E00380E00380E00380E00380E00380E00380E00380E00380F00780
700700780F007FFF003FFE000FF800111C7D9B18>I<FFFE00FFFF80FFFFC01C03C01C01
E01C00E01C00701C00701C00701C00701C00701C00E01C01E01C03C01FFFC01FFF801FFE
001C00001C00001C00001C00001C00001C00001C00001C0000FF8000FF8000FF8000141C
7F9B18>I<7FF800FFFE007FFF001C0F801C03801C03C01C01C01C01C01C01C01C03C01C
03801C0F801FFF001FFE001FFE001C0F001C07001C03801C03801C03801C03801C03801C
039C1C039C1C039C7F01F8FF81F87F00F0161C7F9B18>82 D<03F3801FFF803FFF807C0F
80700780E00380E00380E00380E000007000007800003F00001FF00007FE0000FF00000F
800003C00001C00000E00000E06000E0E000E0E001E0F001C0F80780FFFF80FFFE00E7F8
00131C7E9B18>I<7FFFF8FFFFF8FFFFF8E07038E07038E07038E0703800700000700000
700000700000700000700000700000700000700000700000700000700000700000700000
700000700000700000700007FF0007FF0007FF00151C7F9B18>I<FF83FEFF83FEFF83FE
1C00701C00701C00701C00701C00701C00701C00701C00701C00701C00701C00701C0070
1C00701C00701C00701C00701C00701C00701C00700E00E00F01E00783C003FF8001FF00
007C00171C809B18>I<FF07F8FF07F8FF07F81C01C01C01C01C01C01C01C00E03800E03
800E03800E03800F0780070700070700070700070700038E00038E00038E00038E00018C
0001DC0001DC0001DC0000D80000F80000F800007000151C7F9B18>I<FE03F8FE03F8FE
03F87000707000707000703800E03800E03800E03800E03800E038F8E038F8E039DCE039
DCE019DCC019DCC019DCC0198CC01D8DC01D8DC01D8DC01D8DC00D8D800D05800F07800F
07800E0380151C7F9B18>I<7F8FE07F9FE07F8FE00E07000F0700070E00078E00039C00
03DC0001F80001F80000F00000F00000700000F00000F80001F80001DC00039E00038E00
070F000707000E07800E03801E03C07F07F0FF8FF87F07F0151C7F9B18>I<FF07F8FF07
F8FF07F81C01C01E03C00E03800F0780070700070700038E00038E0001DC0001DC0001DC
0000F80000F80000700000700000700000700000700000700000700000700000700001FC
0003FE0001FC00151C7F9B18>I<3FFFE07FFFE07FFFE07001C07003C070078070070000
0F00001E00001C00003C0000780000700000F00001E00001C00003C0000780000700000F
00001E00E01C00E03C00E07800E07000E0FFFFE0FFFFE0FFFFE0131C7E9B18>I<FFF8FF
F8FFF8E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E0
00E000E000E000E000E000E000E000E000E000E000E000E000E000FFF8FFF8FFF80D2477
9F18>I<FFF8FFF8FFF80038003800380038003800380038003800380038003800380038
00380038003800380038003800380038003800380038003800380038003800380038FFF8
FFF8FFF80D247F9F18>93 D<7FFF00FFFF80FFFF807FFF0011047D7F18>95
D<1FE0003FF8007FFC00781E00300E0000070000070000FF0007FF001FFF007F07007807
00E00700E00700E00700F00F00781F003FFFF01FFBF007E1F014147D9318>97
D<7E0000FE00007E00000E00000E00000E00000E00000E00000E3E000EFF800FFFC00FC1
E00F80E00F00700E00700E00380E00380E00380E00380E00380E00380F00700F00700F80
E00FC1E00FFFC00EFF80063E00151C809B18>I<01FE0007FF001FFF803E078038030070
0000700000E00000E00000E00000E00000E00000E000007000007001C03801C03E03C01F
FF8007FF0001FC0012147D9318>I<001F80003F80001F80000380000380000380000380
00038003E3800FFB801FFF803C1F80380F80700780700380E00380E00380E00380E00380
E00380E00380700780700780380F803C1F801FFFF00FFBF803E3F0151C7E9B18>I<01F0
0007FC001FFE003E0F00380780700380700380E001C0E001C0FFFFC0FFFFC0FFFFC0E000
007000007001C03801C03E03C01FFF8007FF0001FC0012147D9318>I<001F80007FC000
FFE000E1E001C0C001C00001C00001C0007FFFC0FFFFC0FFFFC001C00001C00001C00001
C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C0007FFF007F
FF007FFF00131C7F9B18>I<7E0000FE00007E00000E00000E00000E00000E00000E0000
0E3E000EFF800FFFC00FC1C00F80E00F00E00E00E00E00E00E00E00E00E00E00E00E00E0
0E00E00E00E00E00E00E00E00E00E07FC3FCFFE7FE7FC3FC171C809B18>104
D<03800007C00007C00007C0000380000000000000000000000000007FC000FFC0007FC0
0001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C0
0001C00001C000FFFF00FFFF80FFFF00111D7C9C18>I<7FE000FFE0007FE00000E00000
E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000
E00000E00000E00000E00000E00000E00000E00000E00000E0007FFFC0FFFFE07FFFC013
1C7E9B18>108 D<7CE0E000FFFBF8007FFFF8001F1F1C001E1E1C001E1E1C001C1C1C00
1C1C1C001C1C1C001C1C1C001C1C1C001C1C1C001C1C1C001C1C1C001C1C1C001C1C1C00
1C1C1C007F1F1F00FFBFBF807F1F1F001914819318>I<7E3E00FEFF807FFFC00FC1C00F
80E00F00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E
00E07FC3FCFFE7FE7FC3FC1714809318>I<01F0000FFE001FFF003E0F803803807001C0
7001C0E000E0E000E0E000E0E000E0E000E0F001E07001C07803C03C07803E0F801FFF00
0FFE0001F00013147E9318>I<7E3E00FEFF807FFFC00FC1E00F80E00F00700E00700E00
380E00380E00380E00380E00380E00380F00700F00700F80E00FC1E00FFFC00EFF800E3E
000E00000E00000E00000E00000E00000E00000E00007FC000FFE0007FC000151E809318
>I<01E38007FB801FFF803E1F80380F80700780700780E00380E00380E00380E00380E0
0380E00380700780700780380F803C1F801FFF800FFB8003E38000038000038000038000
0380000380000380000380003FF8003FF8003FF8151E7E9318>I<7F87E0FF9FF07FBFF8
03F87803F03003E00003C00003C000038000038000038000038000038000038000038000
0380000380007FFE00FFFF007FFE0015147F9318>I<07F7003FFF007FFF00780F00E007
00E00700E007007C00007FE0001FFC0003FE00001F00600780E00380E00380F00380F80F
00FFFF00FFFC00E7F00011147D9318>I<0180000380000380000380000380007FFFC0FF
FFC0FFFFC003800003800003800003800003800003800003800003800003800003804003
80E00380E00380E001C1C001FFC000FF80003E0013197F9818>I<7E07E0FE0FE07E07E0
0E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E0
0E01E00F03E007FFFC03FFFE01FCFC1714809318>I<7F8FF0FF8FF87F8FF01E03C00E03
800E03800E0380070700070700070700038E00038E00038E00038E0001DC0001DC0001DC
0000F80000F80000700015147F9318>I<FF8FF8FF8FF8FF8FF83800E03800E03800E01C
01C01C01C01C71C01CF9C01CF9C01CD9C01CD9C00DDD800DDD800DDD800D8D800F8F800F
8F8007070015147F9318>I<7F8FF07F9FF07F8FF0070700078E00039E0001DC0001F800
00F80000700000F00000F80001DC00039E00038E000707000F07807F8FF0FF8FF87F8FF0
15147F9318>I<7F8FF0FF8FF87F8FF00E01C00E03800E03800703800707000707000387
00038600038E0001CE0001CE0000CC0000CC0000DC000078000078000078000070000070
0000700000F00000E00079E0007BC0007F80003F00001E0000151E7F9318>I<3FFFF07F
FFF07FFFF07001E07003C0700780000F00001E00003C0000F80001F00003C0000780000F
00701E00703C0070780070FFFFF0FFFFF0FFFFF014147F9318>I<060C1F1E3FBEFBF8F1
F060C00F067C9B18>126 D E /Fj 41 123 df<007E0001C1800301800703C00E03C00E
01800E00000E00000E00000E00000E0000FFFFC00E01C00E01C00E01C00E01C00E01C00E
01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C07F87F815
1D809C17>12 D<6060F0F0F8F86868080808080808101010102020404080800D0C7F9C15
>34 D<004000800100020006000C000C0018001800300030007000600060006000E000E0
00E000E000E000E000E000E000E000E000E000E000600060006000700030003000180018
000C000C00060002000100008000400A2A7D9E10>40 D<800040002000100018000C000C
000600060003000300038001800180018001C001C001C001C001C001C001C001C001C001
C001C001C0018001800180038003000300060006000C000C00180010002000400080000A
2A7E9E10>I<60F0F0701010101020204080040C7C830C>44 D<FFE0FFE00B0280890E>I<
60F0F06004047C830C>I<FFF3FFC00F003C000F003C000F003C000F003C000F003C000F
003C000F003C000F003C000F003C000F003C000F003C000F003C000FFFFC000F003C000F
003C000F003C000F003C000F003C000F003C000F003C000F003C000F003C000F003C000F
003C000F003C000F003C00FFF3FFC01A1C7E9B1F>72 D<FFF00F000F000F000F000F000F
000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F
000F000F00FFF00C1C7F9B0F>I<FF007FC00F800E000F8004000BC0040009E0040009E0
040008F0040008F8040008780400083C0400083C0400081E0400080F0400080F04000807
84000807C4000803C4000801E4000801E4000800F40008007C0008007C0008003C000800
3C0008001C0008000C001C000C00FF8004001A1C7E9B1F>78 D<003F800000E0E0000380
380007001C000E000E001C0007003C00078038000380780003C0780003C0700001C0F000
01E0F00001E0F00001E0F00001E0F00001E0F00001E0F00001E0F00001E0700001C07800
03C0780003C0380003803C0007801C0007000E000E0007001C000380380000E0E000003F
80001B1E7E9C20>I<FFFF00000F01E0000F0078000F003C000F001C000F001E000F001E
000F001E000F001E000F001C000F003C000F0078000F01E0000FFF00000F03C0000F00E0
000F00F0000F0078000F0078000F0078000F0078000F0078000F0078000F0078100F0078
100F0038100F003C20FFF01C20000007C01C1D7E9B1F>82 D<7FFFFFC0700F01C0600F00
C0400F0040400F0040C00F0020800F0020800F0020800F0020000F0000000F0000000F00
00000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F00
00000F0000000F0000000F0000000F0000000F0000001F800003FFFC001B1C7F9B1E>84
D<FFF07FC00F000E000F0004000F0004000F0004000F0004000F0004000F0004000F0004
000F0004000F0004000F0004000F0004000F0004000F0004000F0004000F0004000F0004
000F0004000F0004000F0004000F0004000700080007800800038010000180100000C020
000070C000001F00001A1D7E9B1F>I<08081010202040404040808080808080B0B0F8F8
787830300D0C7A9C15>92 D<1FC000307000783800781C00301C00001C00001C0001FC00
0F1C00381C00701C00601C00E01C40E01C40E01C40603C40304E801F870012127E9115>
97 D<FC00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C0000
1C7C001D86001E03001C01801C01C01C00C01C00E01C00E01C00E01C00E01C00E01C00E0
1C00C01C01C01C01801E030019060010F800131D7F9C17>I<07E00C3018783078703060
00E000E000E000E000E000E00060007004300418080C3007C00E127E9112>I<003F0000
070000070000070000070000070000070000070000070000070000070003E7000C170018
0F00300700700700600700E00700E00700E00700E00700E00700E0070060070070070030
0700180F000C370007C7E0131D7E9C17>I<03E00C301818300C700E6006E006FFFEE000
E000E000E00060007002300218040C1803E00F127F9112>I<00F8018C071E061E0E0C0E
000E000E000E000E000E00FFE00E000E000E000E000E000E000E000E000E000E000E000E
000E000E000E000E007FE00F1D809C0D>I<00038003C4C00C38C01C3880181800381C00
381C00381C00381C001818001C38000C300013C0001000003000001800001FF8001FFF00
1FFF803003806001C0C000C0C000C0C000C06001803003001C0E0007F800121C7F9215>
I<FC00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C7C
001C87001D03001E03801C03801C03801C03801C03801C03801C03801C03801C03801C03
801C03801C03801C03801C0380FF9FF0141D7F9C17>I<18003C003C0018000000000000
000000000000000000FC001C001C001C001C001C001C001C001C001C001C001C001C001C
001C001C001C00FF80091D7F9C0C>I<00C001E001E000C0000000000000000000000000
00000FE000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E0
00E000E000E000E060E0F0C0F1C061803E000B25839C0D>I<FC00001C00001C00001C00
001C00001C00001C00001C00001C00001C00001C00001C3FC01C0F001C0C001C08001C10
001C20001C40001CE0001DE0001E70001C78001C38001C3C001C1C001C0E001C0F001C0F
80FF9FE0131D7F9C16>I<FC001C001C001C001C001C001C001C001C001C001C001C001C
001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C00FF80091D7F
9C0C>I<FC7E07E0001C838838001D019018001E01E01C001C01C01C001C01C01C001C01
C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C0
1C001C01C01C001C01C01C001C01C01C00FF8FF8FF8021127F9124>I<FC7C001C87001D
03001E03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C
03801C03801C0380FF9FF014127F9117>I<03F0000E1C00180600300300700380600180
E001C0E001C0E001C0E001C0E001C0E001C06001807003803003001806000E1C0003F000
12127F9115>I<FC7C001D86001E03001C01801C01C01C00C01C00E01C00E01C00E01C00
E01C00E01C00E01C01C01C01C01C01801E03001D06001CF8001C00001C00001C00001C00
001C00001C00001C0000FF8000131A7F9117>I<03C1000C3300180B00300F0070070070
0700E00700E00700E00700E00700E00700E00700600700700700300F00180F000C370007
C700000700000700000700000700000700000700000700003FE0131A7E9116>I<FCE01D
301E781E781C301C001C001C001C001C001C001C001C001C001C001C001C00FFC00D127F
9110>I<1F9030704030C010C010E010F8007F803FE00FF000F880388018C018C018E010
D0608FC00D127F9110>I<04000400040004000C000C001C003C00FFE01C001C001C001C
001C001C001C001C001C001C101C101C101C101C100C100E2003C00C1A7F9910>I<FC1F
801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03
801C03801C07800C07800E1B8003E3F014127F9117>I<FF07E03C03801C01001C01000E
02000E020007040007040007040003880003880003D80001D00001D00000E00000E00000
E00000400013127F9116>I<FF3FCFE03C0F03801C0701801C0701001C0B01000E0B8200
0E0B82000E1182000711C4000711C4000720C40003A0E80003A0E80003C0680001C07000
01C0700001803000008020001B127F911E>I<7F8FF00F03800F030007020003840001C8
0001D80000F00000700000780000F800009C00010E00020E000607000403801E07C0FF0F
F81512809116>I<FF07E03C03801C01001C01000E02000E020007040007040007040003
880003880003D80001D00001D00000E00000E00000E000004000004000008000008000F0
8000F10000F300006600003C0000131A7F9116>I<7FFC70386038407040F040E041C003
C0038007000F040E041C043C0C380870087038FFF80E127F9112>I
E /Fk 47 123 df<007000E001C00380078007000E001E001E003C003C003C0078007800
780078007000F000F000F000F000F000F000F000F000F000F000F000F000700078007800
780078003C003C003C001E001E000E0007000780038001C000E000700C2E7EA112>40
D<E000700038001C001E000E0007000780078003C003C003C001E001E001E001E000E000
F000F000F000F000F000F000F000F000F000F000F000F000E001E001E001E001E003C003
C003C00780078007000E001E001C0038007000E0000C2E7DA112>I<7878787818303060
60E0050A7D830D>44 D<FFC0FFC0FFC00A037F8B0F>I<F0F0F0F004047C830D>I<001F00
00001F0000003F8000003B8000003B8000007BC0000073C0000071C00000F1E00000E1E0
0000E0E00001E0F00001E0F00001C0F00003C0780003C078000380780007803C0007803C
0007003C000FFFFE000FFFFE000FFFFE001E000F001E000F003C000F803C0007803C0007
80780007C0780003C0780003C0F00003E01B207F9F1E>65 D<FFF800FFFF00FFFF80F00F
C0F003E0F001E0F000F0F000F0F000F0F000F0F000F0F001E0F003C0F01F80FFFF00FFFF
00FFFF80F007E0F001E0F000F0F00078F00078F00078F00078F00078F00078F000F0F001
F0F007E0FFFFC0FFFF80FFFC0015207B9F1E>I<001FC000FFF801FFFC03E03C07800C0F
00001E00003E00003C00007C0000780000780000780000F00000F00000F00000F00000F0
0000F00000F00000F000007800007800007800007C00003C00003E00001E00000F000207
800E03E03E01FFFC00FFF0001FC017227DA01D>I<FFFC00FFFF80FFFFC0F007E0F001F0
F000F8F00078F0003CF0003CF0001EF0001EF0000EF0000FF0000FF0000FF0000FF0000F
F0000FF0000FF0000FF0000FF0001EF0001EF0001EF0003CF0007CF000F8F001F0F007E0
FFFFC0FFFF80FFFC0018207B9F21>I<FFFFC0FFFFC0FFFFC0F00000F00000F00000F000
00F00000F00000F00000F00000F00000F00000F00000FFFF80FFFF80FFFF80F00000F000
00F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000FFFFE0FFFF
E0FFFFE013207B9F1B>I<001FE000FFF801FFFE03E03E07800E0F00001E00003E00003C
00007C0000780000780000780000F00000F00000F00000F00000F00000F00000F003FEF0
03FE7803FE78001E78001E7C001E3C001E3E001E1E001E0F001E07801E03E03E01FFFE00
FFF8001FC017227DA01E>71 D<F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
F0F0F0F0F0F0F0F0F004207C9F0D>73 D<F0003EF0007CF000F8F001F0F003E0F007C0F0
0780F00F00F01F00F03E00F07C00F0F800F1F000F3F800F3F800F7FC00FFBC00FF1E00FE
1F00FC0F00F80780F00780F003C0F003E0F001E0F000F0F000F8F00078F0003CF0003CF0
001EF0001F18207B9F20>75 D<F00000F00000F00000F00000F00000F00000F00000F000
00F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F000
00F00000F00000F00000F00000F00000F00000F00000F00000F00000FFFF80FFFF80FFFF
8011207B9F19>I<F80001F8FC0003F8FC0003F8F4000378F6000778F6000778F6000778
F3000E78F3000E78F3000E78F3801E78F3801E78F1801C78F1C03C78F1C03C78F0C03878
F0C03878F0E07878F0E07878F0607078F070F078F070F078F030E078F039E078F039E078
F019C078F019C078F019C078F00F8078F00F8078F00F8078F00000781D207B9F28>I<FC
0078FE0078FE0078F60078F70078F70078F38078F38078F38078F3C078F1C078F1E078F1
E078F0E078F0F078F07078F07078F07878F03878F03C78F03C78F01C78F01E78F00E78F0
0E78F00E78F00778F00778F00378F003F8F003F8F001F815207B9F20>I<003F000000FF
C00003FFF00007E1F8000F807C001F003E001E001E003C000F003C000F00780007807800
078078000780F00003C0F00003C0F00003C0F00003C0F00003C0F00003C0F00003C0F000
03C0F00003C0F80007C07800078078000780780007803C000F003C000F001E001E001F00
3E000F807C0007E1F80003FFF00000FFC000003F00001A227DA021>I<FFF800FFFF00FF
FF80F00FC0F003E0F001E0F000F0F000F0F000F0F000F0F000F0F000F0F000F0F001E0F0
03E0F00FC0FFFF80FFFF00FFF800F00000F00000F00000F00000F00000F00000F00000F0
0000F00000F00000F00000F00000F0000014207B9F1D>I<003F000000FFC00003FFF000
07E1F8000F807C001F003E001E001E003C000F003C000F00780007807800078078000780
F00003C0F00003C0F00003C0F00003C0F00003C0F00003C0F00003C0F00003C0F00003C0
F00003C07800078078000780781E07803C0F0F003C0F8F001E079E001F03FE000F83FC00
07E1F80003FFF00000FFF800003F780000007C0000003E0000001E0000001F0000000F80
1A277DA021>I<FFF800FFFF00FFFF80F007C0F003E0F001E0F000F0F000F0F000F0F000
F0F000F0F001E0F003E0F007C0FFFF80FFFF00FFF800F03C00F01E00F01E00F00F00F00F
00F00780F00780F003C0F001C0F001E0F000F0F000F0F00078F00078F0003C16207B9F1D
>I<01FC0007FF800FFFC01F03C03C00C03C00007800007800007800007800007800007C
00003C00003F00001FE0000FFC0007FE0001FF00003F800007C00003C00003E00001E000
01E00001E00001E00001E00001C0C003C0F007C0FC0F807FFF001FFE0003F80013227EA0
19>I<FFFFFFC0FFFFFFC0FFFFFFC0001E0000001E0000001E0000001E0000001E000000
1E0000001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E000000
1E0000001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E000000
1E0000001E0000001E0000001E0000001E0000001E00001A207E9F1F>I<F000F0F000F0
F000F0F000F0F000F0F000F0F000F0F000F0F000F0F000F0F000F0F000F0F000F0F000F0
F000F0F000F0F000F0F000F0F000F0F000F0F000F0F000F0F000F0F000F0F000F07801E0
7801E03C03C03C03C01F0F800FFF0007FE0001F80014217B9F1F>I<F00001E0F00001E0
780003C0780003C0780003C03C0007803C0007803C0007801E000F001E000F001F000F00
0F001E000F001E0007801C0007803C0007803C0003C0380003C0780003C0780001E07000
01E0F00001E0F00000F0E00000F1E00000F1E0000071C000007BC000003B8000003B8000
003F8000001F0000001F00001B207F9F1E>I<F0007C000FF0007E000FF0007E000F7800
6E000E7800EE001E7800E7001E7800E7001E3C00E7003C3C01E7803C3C01C7803C3C01C3
803C1E01C380781E03C3C0781E0383C0780E0381C0700F0381C0F00F0781E0F00F0701E0
F0070700E0E0078700E1E0078F00E1E0078E00F1E0038E0071C0038E0071C003CE0073C0
01DC00738001DC003B8001DC003B8001DC003B8000F8003F0000F8001F0000F8001F0028
207F9F2B>I<F80000F87C0001F03C0001E03E0003E01F0003C00F0007800F800F8007C0
0F0003C01F0003E01E0001F03C0000F07C00007878000078F000003CF000001CE000001F
E000000FC000000780000007800000078000000780000007800000078000000780000007
80000007800000078000000780000007800000078000000780001D20809F1E>89
D<FFFFF8FFFFF8FFFFF80000F00001F00001E00003C00007C0000780000F80000F00001E
00003E00003C00007C0000780000F00001F00001E00003E00003C0000780000F80000F00
001F00001E00003C00007C0000780000FFFFFCFFFFFCFFFFFC16207D9F1C>I<07E03FF8
7FFC701E401F000F000F000F003F07FF1FFF7E0FF80FF00FF00FF00FF83F7FFF3FEF1F8F
10147E9316>97 D<03F00FFC1FFE3E0E3C0278007800F000F000F000F000F000F0007800
78003C013E0F1FFF0FFE03F010147E9314>99 D<00078000078000078000078000078000
078000078000078000078000078000078000078007C7800FF7801FFF803E1F807C078078
0780F80780F00780F00780F00780F00780F00780F00780F00780780780780F803E1F801F
FF800FF78007C78011207E9F17>I<03F0000FFC001FFE003E1F003C0700780700700380
FFFF80FFFF80FFFF80F00000F00000F000007000007800003C01003E07001FFF0007FE00
01F80011147F9314>I<007E01FE03FE078007000F000F000F000F000F000F000F00FFF0
FFF0FFF00F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F00
0F000F20809F0E>I<03E0F00FFFF01FFFF03E3E003C1E00780F00780F00780F00780F00
780F003C1E003E3E001FFC003FF80033E0003000003800003FFE003FFF801FFFC03FFFE0
7803F0F000F0F000F0F000F0F801F07E07E03FFFC00FFF0003FC00141E7F9317>I<F0F0
F0F00000000000000000F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F004207D9F0B>
105 D<F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F004
207D9F0B>108 D<F0FC07E0F3FE1FF0F7FF3FF8FE0FF07CF807C03CF807C03CF007803C
F007803CF007803CF007803CF007803CF007803CF007803CF007803CF007803CF007803C
F007803CF007803CF007803CF007803C1E147D9325>I<F1F8F3FCF7FEFC1FF80FF80FF0
0FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00F10147D9317>I<01F8
0007FE001FFF803F0FC03C03C07801E07801E0F000F0F000F0F000F0F000F0F000F0F000
F07801E07801E03C03C03F0FC01FFF8007FE0001F80014147F9317>I<F1F000F7FC00FF
FE00FC3E00F81F00F00F00F00F80F00780F00780F00780F00780F00780F00780F00F00F0
0F00F81F00FC3E00FFFC00F7F800F1E000F00000F00000F00000F00000F00000F00000F0
0000F00000F00000111D7D9317>I<03C7800FF7801FFF803E1F807C0F80780780780780
F00780F00780F00780F00780F00780F00780F807807807807C0F803E1F801FFF800FF780
07C780000780000780000780000780000780000780000780000780000780111D7E9317>
I<F0E0F3E0F7E0FF00FC00FC00F800F800F000F000F000F000F000F000F000F000F000F0
00F000F0000B147D9310>I<07F01FFC3FFC780C7800780078007C003FC01FF00FF803F8
007C003C003CC03CF07CFFF87FF00FC00E147F9311>I<1E001E001E001E001E001E00FF
F0FFF0FFF01E001E001E001E001E001E001E001E001E001E001E001E001E001E201FF00F
F007C00C1A7F9910>I<F00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00F
F00FF00FF01FF03FFFFF7FEF3F0F10147D9317>I<7801E07C03C03E07801E0F000F0F00
079E0003FC0003F80001F80000F00001F00001F80003FC00079E000F0F000E0F001E0780
3C03C07801E0F801F01414809315>120 D<F003C0F003C07807807807807C07803C0F00
3C0F001E0F001E1E000E1E000F1C000F1C00073C0007380003B80003B80003B00001F000
01F00000E00000E00001C00001C00001C0000380000780007F00007E00007C0000121D7F
9315>I<7FFF7FFF7FFF003E003C007800F800F001E003E007C007800F001F001E003C00
7C00FFFFFFFFFFFF10147F9314>I E /Fl 39 122 df<FFE0FFE0FFE00B037F8C10>45
D<F0F0F0F004047B830E>I<01F00007FC000FFE001F1F003C07803C07807803C07803C0
7803C07001C0F001E0F001E0F001E0F001E0F001E0F001E0F001E0F001E0F001E0F001E0
F001E0F001E0F001E0F001E0F001E07803C07803C07803C07803C03C07803C07801F1F00
0FFE0007FC0001F00013237EA118>48 D<00C001C007C0FFC0FFC0FBC003C003C003C003
C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003
C003C003C003C0FFFFFFFFFFFF10227CA118>I<03F0000FFC001FFE003C1F0030078070
07C06003C0E003E0C001E04001E04001E00001E00001E00001E00003C00003C000078000
0780000F00001E00003C0000780000F00001E00001C0000380000700000E00001C000038
0000700000FFFFE0FFFFE0FFFFE013227EA118>I<01F00007FC001FFF003E0F00380780
7003C02003C02003C00003C00003C00003C0000780000780000F00001E0003FC0003F800
03FE00000F000007800003C00003C00001E00001E00001E00001E00001E08001E0C003C0
E003C07007803C0F801FFF000FFC0003F00013237EA118>I<001F00001F00002F00002F
00006F0000EF0000CF0001CF0001CF00038F00038F00078F00070F000F0F000E0F001E0F
003C0F003C0F00780F00780F00F00F00FFFFF8FFFFF8FFFFF8000F00000F00000F00000F
00000F00000F00000F00000F00000F0015217FA018>I<3FFF803FFF803FFF803C00003C
00003C00003C00003C00003C00003C00003C00003C00003CF8003FFE003FFF003F0F803E
07803C03C03803C00001E00001E00001E00001E00001E00001E00001E04003C04003C0E0
03C07007807C1F003FFE000FFC0003F00013227EA018>I<000FF000007FFC0000FFFF00
01F01F0003C00700078000000F0000001E0000003E0000003C0000003C00000078000000
7800000078000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000
F0000000F00000007800000078000000780000003C0000003C0000003E0000001E000000
0F0000000780008003C0038001F00F8000FFFF00007FFC00000FF00019257DA31F>67
D<FFFFF0FFFFF0FFFFF0F00000F00000F00000F00000F00000F00000F00000F00000F000
00F00000F00000F00000FFFFE0FFFFE0FFFFE0F00000F00000F00000F00000F00000F000
00F00000F00000F00000F00000F00000F00000F00000F00000FFFFF8FFFFF8FFFFF81523
7BA21D>69 D<FC00007EFE0000FEFE0000FEFE0000FEF70001DEF70001DEF70001DEF780
03DEF380039EF380039EF3C0079EF3C0079EF1C0071EF1C0071EF1E00F1EF0E00E1EF0E0
0E1EF0F01E1EF0F01E1EF0701C1EF0783C1EF0783C1EF038381EF03C781EF03C781EF01C
701EF01C701EF01EF01EF00EE01EF00EE01EF00FE01EF007C01EF007C01EF007C01EF000
001E1F237BA22A>77 D<FC001EFE001EFE001EFE001EF7001EF7001EF3801EF3801EF3C0
1EF1C01EF1C01EF1E01EF0E01EF0F01EF0F01EF0781EF0781EF0381EF03C1EF03C1EF01E
1EF01E1EF00E1EF00F1EF0071EF0071EF0079EF0039EF0039EF001DEF001DEF000FEF000
FEF000FEF0007E17237BA222>I<FFFE00FFFF80FFFFC0F003E0F000F0F00078F00078F0
003CF0003CF0003CF0003CF0003CF0003CF00078F00078F000F0F003E0FFFFC0FFFF80FF
FE00F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F0
0000F00000F00000F0000016237BA21F>80 D<00FE0003FFC007FFE00F81E01E00603C00
003C00007800007800007800007800007800007C00003C00003F00001FC0000FFC0007FF
0001FF80003FC00007E00001F00000F00000F80000780000780000780000780000780000
78C000F0E000F0F801E07E07C03FFF800FFF0001FC0015257EA31B>83
D<FFFFFFF0FFFFFFF0FFFFFFF0000F0000000F0000000F0000000F0000000F0000000F00
00000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F00
00000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F00
00000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F00001C237E
A221>I<F0001F0001E0F0003F8001E0F0003F8001E078003F8001C078003B8003C07800
7BC003C0780073C003C03C0071C007803C00F1C007803C00F1E007803C00E1E007801E00
E0E00F001E01E0E00F001E01E0F00F001E01C0F00F000F01C0701E000F03C0701E000F03
C0781E00070380781C00078380383C00078380383C000787803C3C000387003C38000387
001C380003C7001C780003CF001C780001CE001E700001CE000E700001CE000E700001EE
000EF00000EC000EE00000FC0007E00000FC0007E00000FC0007E00000780007C0002B23
7FA22E>87 D<07E01FF83FFC381E201E000F000F000F000F00FF07FF1FFF3E0F780FF00F
F00FF00FF00FF83F7FFF3FEF1F8F10167E9517>97 D<F00000F00000F00000F00000F000
00F00000F00000F00000F00000F00000F00000F00000F00000F1F000F7FC00FFFE00FC1F
00F80F00F00780F00780F003C0F003C0F003C0F003C0F003C0F003C0F003C0F003C0F007
80F00780F80F00FC3E00FFFE00F7F800F1F00012237CA219>I<01FC0007FF000FFF801F
03803C0180780000780000700000F00000F00000F00000F00000F00000F0000078000078
00007800003C00401F03C00FFFC007FF8001FC0012167E9516>I<0003C00003C00003C0
0003C00003C00003C00003C00003C00003C00003C00003C00003C00003C003E3C00FFBC0
1FFFC03F0FC03C07C07803C07803C0F003C0F003C0F003C0F003C0F003C0F003C0F003C0
F003C07803C07803C03C07C03E0FC01FFFC00FFBC003E3C012237EA219>I<03F00007FC
001FFE003E0F003C0780780380780380F001C0FFFFC0FFFFC0FFFFC0F00000F00000F000
007000007800007800003C00801F07800FFF8007FF0001F80012167E9516>I<01F07807
FFF80FFFF81F1F001E0F003C07803C07803C07803C07803C07801E0F001F1F000FFE001F
FC0019F0003800003800003C00001FFE001FFFC01FFFE03FFFF07801F07800F8F00078F0
0078F00078F000787800F03E03E01FFFC00FFF8001FC0015217F9518>103
D<F000F000F000F000F000F000F000F000F000F000F000F000F000F1F8F3FCF7FEFE1EF8
0FF80FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00F10
237CA219>I<F0F0F0F0000000000000000000F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
F0F0F0F0F004237DA20B>I<F00000F00000F00000F00000F00000F00000F00000F00000
F00000F00000F00000F00000F00000F01F80F03F00F03E00F07C00F0F800F1F000F3E000
F7C000FFC000FFC000FFE000FFE000FDF000F8F800F07800F07C00F03E00F01E00F01F00
F00F00F00F80F007C012237CA218>107 D<F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F004237DA20B>I<F0F807C0F3FE1FF0F7FF3FF8
FE0F7078FC0FE07CF807C03CF807C03CF007803CF007803CF007803CF007803CF007803C
F007803CF007803CF007803CF007803CF007803CF007803CF007803CF007803CF007803C
F007803C1E167C9527>I<F1F8F3FCF7FEFE1EF80FF80FF00FF00FF00FF00FF00FF00FF0
0FF00FF00FF00FF00FF00FF00FF00FF00FF00F10167C9519>I<01FC0007FF000FFF801F
07C03C01E07800F07800F0700070F00078F00078F00078F00078F00078F000787800F078
00F07C01F03E03E01F07C00FFF8007FF0001FC0015167F9518>I<F1F000F7FC00FFFE00
FC3F00F80F00F00780F00780F007C0F003C0F003C0F003C0F003C0F003C0F003C0F007C0
F00780F00F80F80F00FC3E00FFFE00F7F800F1F000F00000F00000F00000F00000F00000
F00000F00000F00000F00000F0000012207C9519>I<03E3C007FBC00FFFC01F0FC03C07
C07C03C07803C0F803C0F003C0F003C0F003C0F003C0F003C0F003C0F803C07803C07803
C03C07C03F0FC01FFFC00FFBC003E3C00003C00003C00003C00003C00003C00003C00003
C00003C00003C00003C012207E9519>I<F0E0F3E0F7E0FF00FE00FC00F800F800F000F0
00F000F000F000F000F000F000F000F000F000F000F000F0000B167C9511>I<07F01FFC
3FFE3C0E7806780078007C003F003FF01FF80FFC01FE001F000F000F000FC00FF81EFFFE
3FFC0FF010167F9513>I<0F000F000F000F000F000F00FFF8FFF8FFF80F000F000F000F
000F000F000F000F000F000F000F000F000F000F000F080F1C07FC07F803E00E1C7F9B12
>I<F00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00F
F01FF83F7FFF7FCF1F0F10167C9519>I<F001E0F001E07803C07803C07803C03C07803C
07803C07801E07001E0F001E0F000F0E000F1E000F1E00071C00079C0007BC0003B80003
B80003F80001F00001F00013167F9516>I<F007803CF00FC03CF00FC03C780DC078781D
C078781DE078781CE0783C18E0F03C38E0F03C38F0F01C38F0E01E3871E01E3071E01E70
79E00E7079C00E7039C00F603BC007603B8007601B8007C01F8007C01F8003C01F001E16
7F9521>I<7801F07C01E03E03C01E07C00F0780078F0007DE0003FC0001FC0000F80000
700000F80001FC0003DC00039E00078F000F07801E07801E03C03C01E07800F0F800F815
16809516>I<F001E0F001E07803C07803C07C03C03C07803C07801E07801E07001E0F00
0F0F000F0E00071E00079E00039C00039C00039C0001980001D80000F80000F00000F000
00F00000E00000E00001E00001C00001C0000380007F80007F00007E000013207F9516>
I E /Fm 69 123 df<001F83E000F06E3001C078780380F8780300F03007007000070070
000700700007007000070070000700700007007000FFFFFF800700700007007000070070
000700700007007000070070000700700007007000070070000700700007007000070070
000700700007007000070070000700700007007000070070007FE3FF001D20809F1B>11
D<003F0000E0C001C0C00381E00701E00701E00700000700000700000700000700000700
00FFFFE00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700
E00700E00700E00700E00700E00700E00700E00700E07FC3FE1720809F19>I<003FE000
E0E001C1E00381E00700E00700E00700E00700E00700E00700E00700E00700E0FFFFE007
00E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E007
00E00700E00700E00700E00700E00700E07FE7FE1720809F19>I<001F81F80000F04F04
0001C07C06000380F80F000300F00F000700F00F00070070000007007000000700700000
070070000007007000000700700000FFFFFFFF0007007007000700700700070070070007
007007000700700700070070070007007007000700700700070070070007007007000700
700700070070070007007007000700700700070070070007007007000700700700070070
07007FE3FE3FF02420809F26>I<7038F87CFC7EFC7E743A040204020402080408041008
1008201040200F0E7E9F17>34 D<70F8FCFC74040404080810102040060E7C9F0D>39
D<0020004000800100020006000C000C00180018003000300030007000600060006000E0
00E000E000E000E000E000E000E000E000E000E000E00060006000600070003000300030
00180018000C000C000600020001000080004000200B2E7DA112>I<8000400020001000
08000C00060006000300030001800180018001C000C000C000C000E000E000E000E000E0
00E000E000E000E000E000E000E000C000C000C001C00180018001800300030006000600
0C00080010002000400080000B2E7DA112>I<01800180018001800180C183F18F399C0F
F003C003C00FF0399CF18FC1830180018001800180018010147DA117>I<000600000006
000000060000000600000006000000060000000600000006000000060000000600000006
000000060000000600000006000000060000FFFFFFF0FFFFFFF000060000000600000006
000000060000000600000006000000060000000600000006000000060000000600000006
00000006000000060000000600001C207D9A23>I<70F8FCFC7404040408081010204006
0E7C840D>I<FFC0FFC00A027F8A0F>I<70F8F8F87005057C840D>I<0001000300030006
00060006000C000C000C00180018001800300030003000600060006000C000C000C00180
018001800300030003000600060006000C000C000C001800180018003000300030006000
60006000C000C000C000102D7DA117>I<03F0000E1C001C0E0018060038070070038070
0380700380700380F003C0F003C0F003C0F003C0F003C0F003C0F003C0F003C0F003C0F0
03C0F003C0F003C0F003C07003807003807003807807803807001806001C0E000E1C0003
F000121F7E9D17>I<018003800F80F38003800380038003800380038003800380038003
800380038003800380038003800380038003800380038003800380038007C0FFFE0F1E7C
9D17>I<03F0000C1C00100E00200700400780800780F007C0F803C0F803C0F803C02007
C00007C0000780000780000F00000E00001C0000380000700000600000C0000180000300
000600400C00401800401000803FFF807FFF80FFFF80121E7E9D17>I<03F0000C1C0010
0E00200F00780F80780780780780380F80000F80000F00000F00000E00001C0000380003
F000003C00000E00000F000007800007800007C02007C0F807C0F807C0F807C0F0078040
0780400F00200E001C3C0003F000121F7E9D17>I<000600000600000E00000E00001E00
002E00002E00004E00008E00008E00010E00020E00020E00040E00080E00080E00100E00
200E00200E00400E00C00E00FFFFF0000E00000E00000E00000E00000E00000E00000E00
00FFE0141E7F9D17>I<1803001FFE001FFC001FF8001FE0001000001000001000001000
0010000010000011F000161C00180E001007001007800003800003800003C00003C00003
C07003C0F003C0F003C0E00380400380400700200600100E000C380003E000121F7E9D17
>I<007C000182000701000E03800C07801C0780380300380000780000700000700000F1
F000F21C00F40600F80700F80380F80380F003C0F003C0F003C0F003C0F003C07003C070
03C07003803803803807001807000C0E00061C0001F000121F7E9D17>I<4000007FFFC0
7FFF807FFF80400100800200800200800400000800000800001000002000002000004000
00400000C00000C00001C000018000038000038000038000038000078000078000078000
078000078000078000078000030000121F7D9D17>I<70F8F8F870000000000000000000
0070F8F8F87005147C930D>58 D<7FFFFFE0FFFFFFF00000000000000000000000000000
000000000000000000000000000000000000FFFFFFF07FFFFFE01C0C7D9023>61
D<000100000003800000038000000380000007C0000007C0000007C0000009E0000009E0
000009E0000010F0000010F0000010F00000207800002078000020780000403C0000403C
0000403C0000801E0000801E0000FFFE0001000F0001000F0001000F0002000780020007
8002000780040003C00E0003C01F0007E0FFC03FFE1F207F9F22>65
D<FFFFE0000F80380007801E0007801F0007800F0007800F8007800F8007800F8007800F
8007800F8007800F0007801F0007801E0007803C0007FFF00007803C0007801E0007800F
0007800F8007800780078007C0078007C0078007C0078007C0078007C00780078007800F
8007800F0007801F000F803C00FFFFF0001A1F7E9E20>I<000FC040007030C001C009C0
038005C0070003C00E0001C01E0000C01C0000C03C0000C07C0000407C00004078000040
F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000
780000007C0000407C0000403C0000401C0000401E0000800E0000800700010003800200
01C0040000703800000FC0001A217D9F21>I<FFFFFF000F800F00078003000780030007
800100078001800780008007800080078000800780808007808000078080000780800007
81800007FF80000781800007808000078080000780800007808000078000200780002007
800020078000400780004007800040078000C0078000C0078001800F800F80FFFFFF801B
1F7E9E1F>69 D<FFFFFF000F800F00078003000780030007800100078001800780008007
8000800780008007800080078080000780800007808000078080000781800007FF800007
818000078080000780800007808000078080000780000007800000078000000780000007
8000000780000007800000078000000FC00000FFFE0000191F7E9E1E>I<000FE0200078
186000E004E0038002E0070001E00F0000E01E0000601E0000603C0000603C0000207C00
002078000020F8000000F8000000F8000000F8000000F8000000F8000000F8000000F800
7FFCF80003E0780001E07C0001E03C0001E03C0001E01E0001E01E0001E00F0001E00700
01E0038002E000E0046000781820000FE0001E217D9F24>I<FFF8FFF80F800F8007800F
0007800F0007800F0007800F0007800F0007800F0007800F0007800F0007800F0007800F
0007800F0007800F0007FFFF0007800F0007800F0007800F0007800F0007800F0007800F
0007800F0007800F0007800F0007800F0007800F0007800F0007800F0007800F000F800F
80FFF8FFF81D1F7E9E22>I<FFFC0FC00780078007800780078007800780078007800780
078007800780078007800780078007800780078007800780078007800780078007800FC0
FFFC0E1F7F9E10>I<FFFE000FC000078000078000078000078000078000078000078000
078000078000078000078000078000078000078000078000078000078000078000078002
07800207800207800207800607800407800407800C07801C0F807CFFFFFC171F7E9E1C>
76 D<FF80001FF80F80001F800780001F0005C0002F0005C0002F0005C0002F0004E000
4F0004E0004F000470008F000470008F000470008F000438010F000438010F000438010F
00041C020F00041C020F00041C020F00040E040F00040E040F00040E040F000407080F00
0407080F000407080F000403900F000403900F000401E00F000401E00F000401E00F000E
00C00F001F00C01F80FFE0C1FFF8251F7E9E2A>I<FF803FF807C007C007C0038005E001
0005E0010004F001000478010004780100043C0100043C0100041E0100040F0100040F01
0004078100040781000403C1000401E1000401E1000400F1000400F1000400790004003D
0004003D0004001F0004001F0004000F0004000700040007000E0003001F000300FFE001
001D1F7E9E22>I<001F800000F0F00001C0380007801E000F000F000E0007001E000780
3C0003C03C0003C07C0003E0780001E0780001E0F80001F0F80001F0F80001F0F80001F0
F80001F0F80001F0F80001F0F80001F0F80001F0780001E07C0003E07C0003E03C0003C0
3C0003C01E0007800E0007000F000F0007801E0001C0380000F0F000001F80001C217D9F
23>I<FFFFE0000F80780007801C0007801E0007800F0007800F8007800F8007800F8007
800F8007800F8007800F8007800F0007801E0007801C000780780007FFE0000780000007
800000078000000780000007800000078000000780000007800000078000000780000007
80000007800000078000000FC00000FFFC0000191F7E9E1F>I<07E0800C198010078030
0380600180600180E00180E00080E00080E00080F00000F000007800007F00003FF0001F
FC000FFE0003FF00001F800007800003C00003C00001C08001C08001C08001C08001C0C0
0180C00380E00300F00600CE0C0081F80012217D9F19>83 D<7FFFFFE0780F01E0600F00
60400F0020400F0020C00F0030800F0010800F0010800F0010800F0010000F0000000F00
00000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F00
00000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000001F80
0007FFFE001C1F7E9E21>I<FFFC3FF80FC007C007800380078001000780010007800100
078001000780010007800100078001000780010007800100078001000780010007800100
078001000780010007800100078001000780010007800100078001000780010007800100
038002000380020001C0020001C0040000E008000070180000382000000FC0001D207E9E
22>I<FFF003FE1F8000F80F0000600F800060078000400780004003C0008003C0008003
C0008001E0010001E0010001F0010000F0020000F0020000F80600007804000078040000
3C0800003C0800003C0800001E1000001E1000001F3000000F2000000F20000007C00000
07C0000007C000000380000003800000038000000100001F207F9E22>I<FFF07FF81FF0
1F800FC007C00F00078003800F00078001000F0007C00100078007C00200078007C00200
078007C0020003C009E0040003C009E0040003C009E0040003E010F00C0001E010F00800
01E010F0080001F02078080000F02078100000F02078100000F0403C10000078403C2000
0078403C20000078C03E2000003C801E4000003C801E4000003C801E4000001F000F8000
001F000F8000001F000F8000001E00078000000E00070000000E00070000000C00030000
0004000200002C207F9E2F>I<080410082010201040204020804080408040B85CFC7EFC
7E7C3E381C0F0E7B9F17>92 D<1FE000303000781800781C00300E00000E00000E00000E
0000FE00078E001E0E00380E00780E00F00E10F00E10F00E10F01E10781E103867200F83
C014147E9317>97 D<0E0000FE00000E00000E00000E00000E00000E00000E00000E0000
0E00000E00000E00000E3E000EC3800F01C00F00E00E00E00E00700E00700E00780E0078
0E00780E00780E00780E00780E00700E00700E00E00F00E00D01C00CC300083E0015207F
9F19>I<03F80E0C1C1E381E380C70007000F000F000F000F000F000F000700070003801
38011C020E0C03F010147E9314>I<000380003F80000380000380000380000380000380
00038000038000038000038000038003E380061B801C0780380380380380700380700380
F00380F00380F00380F00380F00380F003807003807003803803803807801C07800E1B80
03E3F815207E9F19>I<03F0000E1C001C0E00380700380700700700700380F00380F003
80FFFF80F00000F00000F000007000007000003800801800800C010007060001F8001114
7F9314>I<007C00C6018F038F07060700070007000700070007000700FFF00700070007
000700070007000700070007000700070007000700070007000700070007007FF0102080
9F0E>I<0000E003E3300E3C301C1C30380E00780F00780F00780F00780F00780F00380E
001C1C001E380033E0002000002000003000003000003FFE001FFF800FFFC03001E06000
70C00030C00030C00030C000306000603000C01C038003FC00141F7F9417>I<0E0000FE
00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E3E000E
43000E81800F01C00F01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E
01C00E01C00E01C00E01C00E01C00E01C0FFE7FC16207F9F19>I<1C001E003E001E001C
000000000000000000000000000E007E000E000E000E000E000E000E000E000E000E000E
000E000E000E000E000E000E000E00FFC00A1F809E0C>I<00E001F001F001F000E00000
00000000000000000000007007F000F00070007000700070007000700070007000700070
007000700070007000700070007000700070007000706070F060F0C061803F000C28829E
0E>I<0E0000FE00000E00000E00000E00000E00000E00000E00000E00000E00000E0000
0E00000E0FF00E03C00E03000E02000E04000E08000E10000E30000E70000EF8000F3800
0E1C000E1E000E0E000E07000E07800E03800E03C00E03E0FFCFF815207F9F18>I<0E00
FE000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E00
0E000E000E000E000E000E000E000E000E000E000E000E00FFE00B20809F0C>I<0E1F01
F000FE618618000E81C81C000F00F00E000F00F00E000E00E00E000E00E00E000E00E00E
000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E00
0E00E00E000E00E00E000E00E00E000E00E00E00FFE7FE7FE023147F9326>I<0E3E00FE
43000E81800F01C00F01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E
01C00E01C00E01C00E01C00E01C00E01C0FFE7FC16147F9319>I<01F800070E001C0380
3801C03801C07000E07000E0F000F0F000F0F000F0F000F0F000F0F000F07000E07000E0
3801C03801C01C0380070E0001F80014147F9317>I<0E3E00FEC3800F01C00F00E00E00
E00E00F00E00700E00780E00780E00780E00780E00780E00780E00700E00F00E00E00F01
E00F01C00EC3000E3E000E00000E00000E00000E00000E00000E00000E00000E0000FFE0
00151D7F9319>I<03E0800619801C05803C0780380380780380700380F00380F00380F0
0380F00380F00380F003807003807803803803803807801C0B800E138003E38000038000
0380000380000380000380000380000380000380003FF8151D7E9318>I<0E78FE8C0F1E
0F1E0F0C0E000E000E000E000E000E000E000E000E000E000E000E000E000E00FFE00F14
7F9312>I<1F9030704030C010C010C010E00078007F803FE00FF00070803880188018C0
18C018E030D0608F800D147E9312>I<020002000200060006000E000E003E00FFF80E00
0E000E000E000E000E000E000E000E000E000E000E080E080E080E080E080610031001E0
0D1C7F9B12>I<0E01C0FE1FC00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01
C00E01C00E01C00E01C00E01C00E01C00E01C00E03C00603C0030DC001F1FC16147F9319
>I<FF83F81E01E01C00C00E00800E00800E008007010007010003820003820003820001
C40001C40001EC0000E80000E80000700000700000700000200015147F9318>I<FF9FE1
FC3C0780701C0300601C0380200E0380400E0380400E03C0400707C0800704C0800704E0
80038861000388710003C8730001D0320001D03A0000F03C0000E01C0000E01C00006018
00004008001E147F9321>I<7FC3FC0F01E00701C007018003810001C20000E40000EC00
007800003800003C00007C00004E000087000107000303800201C00601E01E01E0FF07FE
1714809318>I<FF83F81E01E01C00C00E00800E00800E00800701000701000382000382
0003820001C40001C40001EC0000E80000E8000070000070000070000020000020000040
00004000004000F08000F08000F100006200003C0000151D7F9318>I<3FFF380E200E20
1C40384078407000E001E001C00380078007010E011E011C0338027006700EFFFE10147F
9314>I E /Fn 25 118 df<70F8FCFC7404040404080810102040060F7C840E>44
D<008003800F80F380038003800380038003800380038003800380038003800380038003
80038003800380038003800380038003800380038003800380038007C0FFFE0F217CA018
>49 D<1000801E07001FFF001FFE001FF80013E000100000100000100000100000100000
10000010F800130E001407001803801003800001C00001C00001E00001E00001E00001E0
7001E0F001E0F001E0E001C08001C04003C04003802007001006000C1C0003F00013227E
A018>53 D<007E0001C1000300800601C00E03C01C03C018018038000038000078000070
0000700000F0F800F30C00F40600F40300F80380F801C0F001C0F001E0F001E0F001E0F0
01E0F001E07001E07001E07001E03801C03801C01803801C03000C0600070C0001F00013
227EA018>I<01F000060C000C0600180700380380700380700380F001C0F001C0F001C0
F001E0F001E0F001E0F001E0F001E07001E07003E03803E01805E00C05E00619E003E1E0
0001C00001C00001C0000380000380300300780700780600700C002018001030000FC000
13227EA018>57 D<0001800000018000000180000003C0000003C0000003C0000005E000
0005E000000DF0000008F0000008F0000010F800001078000010780000203C0000203C00
00203C0000401E0000401E0000401E0000800F0000800F0000FFFF000100078001000780
030007C0020003C0020003C0040003E0040001E0040001E00C0000F00C0000F03E0001F8
FF800FFF20237EA225>65 D<FFFFFFC00F8007C0078001C0078000C00780004007800040
078000600780002007800020078000200780202007802000078020000780200007806000
0780E00007FFE0000780E000078060000780200007802000078020000780200007800000
07800000078000000780000007800000078000000780000007800000078000000FC00000
FFFE00001B227EA120>70 D<FFFC0FC00780078007800780078007800780078007800780
078007800780078007800780078007800780078007800780078007800780078007800780
078007800FC0FFFC0E227EA112>73 D<FFC00003FF0FC00003F007C00003E005E00005E0
05E00005E004F00009E004F00009E004F00009E004780011E004780011E004780011E004
3C0021E0043C0021E0043C0021E0041E0041E0041E0041E0040F0081E0040F0081E0040F
0081E004078101E004078101E004078101E00403C201E00403C201E00401E401E00401E4
01E00401E401E00400F801E00400F801E00400F801E004007001E00E007001E01F007003
F0FFE0203FFF28227EA12D>77 D<FFFFF0000F803C0007800F0007800780078007C00780
03C0078003E0078003E0078003E0078003E0078003E0078003E0078003C0078007C00780
078007800F0007803C0007FFF00007800000078000000780000007800000078000000780
000007800000078000000780000007800000078000000780000007800000078000000FC0
0000FFFC00001B227EA121>80 D<0FE0001838003C0C003C0E0018070000070000070000
070000FF0007C7001E07003C0700780700700700F00708F00708F00708F00F087817083C
23900FC1E015157E9418>97 D<01FE000703000C07801C0780380300780000700000F000
00F00000F00000F00000F00000F00000F000007000007800403800401C00800C01000706
0001F80012157E9416>99 D<01FC000707000C03801C01C03801C07801E07000E0F000E0
FFFFE0F00000F00000F00000F00000F000007000007800203800201C00400E0080070300
00FC0013157F9416>101 D<003C00C6018F038F030F0700070007000700070007000700
07000700FFF8070007000700070007000700070007000700070007000700070007000700
07000700070007807FF8102380A20F>I<00007001F198071E180E0E181C07001C07003C
07803C07803C07803C07801C07001C07000E0E000F1C0019F00010000010000018000018
00001FFE000FFFC00FFFE03800F0600030400018C00018C00018C0001860003060003038
00E00E038003FE0015217F9518>I<1C001E003E001E001C000000000000000000000000
00000000000E00FE001E000E000E000E000E000E000E000E000E000E000E000E000E000E
000E000E000E000E00FFC00A227FA10E>105 D<0E00FE001E000E000E000E000E000E00
0E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E00
0E000E000E000E000E000E000E000E00FFE00B237FA20E>108 D<0E1FC07F00FE60E183
801E807201C00F003C00E00F003C00E00E003800E00E003800E00E003800E00E003800E0
0E003800E00E003800E00E003800E00E003800E00E003800E00E003800E00E003800E00E
003800E00E003800E00E003800E00E003800E0FFE3FF8FFE27157F942A>I<0E1F80FE60
C01E80E00F00700F00700E00700E00700E00700E00700E00700E00700E00700E00700E00
700E00700E00700E00700E00700E00700E0070FFE7FF18157F941B>I<01FC000707000C
01801800C03800E0700070700070F00078F00078F00078F00078F00078F00078F0007870
00707800F03800E01C01C00E038007070001FC0015157F9418>I<0E1F00FE61C00E8060
0F00700E00380E003C0E001C0E001E0E001E0E001E0E001E0E001E0E001E0E001E0E003C
0E003C0E00380F00700E80E00E41C00E3F000E00000E00000E00000E00000E00000E0000
0E00000E00000E0000FFE000171F7F941B>I<0E3CFE461E8F0F0F0F060F000E000E000E
000E000E000E000E000E000E000E000E000E000E000F00FFF010157F9413>114
D<0F8830786018C018C008C008E008F0007F803FE00FF001F8003C801C800C800CC00CC0
08E018D0308FC00E157E9413>I<02000200020002000600060006000E001E003E00FFF8
0E000E000E000E000E000E000E000E000E000E000E000E040E040E040E040E040E040708
030801F00E1F7F9E13>I<0E0070FE07F01E00F00E00700E00700E00700E00700E00700E
00700E00700E00700E00700E00700E00700E00700E00700E00F00E00F006017003827800
FC7F18157F941B>I E /Fo 21 122 df<FFFF80FFFF80FFFF8011037F9016>45
D<007F800001FFF0000701F8000C007E0018001F0010000F0020000F80400007C0400007
C0400003E0B00003E0F80003E0FC0003E0FC0003E0FC0003E0780003E0000003E0000007
C0000007C00000078000000F8000000F0000001F0000001E0000003C0000007800000070
000000E0000001C0000003800000070000000E0000000C00000018000000300000006000
0000C000200180002003000020060000400C00004008000040100000C03FFFFFC07FFFFF
80FFFFFF80FFFFFF801B2F7DAE21>50 D<78FCFCFCFC7800000000000000000000000000
00000000000078FCFCFCFC78061F7A9E12>58 D<00003FE0010001FFF8030007F01E0300
1F800307003E000087007800004F00F000002F01E000001F03C000000F078000000F0F80
0000070F000000071F000000031E000000033E000000033C000000017C000000017C0000
00017C000000017800000000F800000000F800000000F800000000F800000000F8000000
00F800000000F800000000F800000000F800000000F800000000F8000000007800000000
7C000000007C000000017C000000013C000000013E000000011E000000011F000000020F
000000020F80000006078000000403C000000801E000000800F00000100078000020003E
0000C0001F8003800007F00F000001FFFC0000003FE00028337CB130>67
D<FFFFFFE00000FFFFFFFC000007E0007F000003E0000F800003E00003C00003E00001E0
0003E00000F00003E00000780003E000003C0003E000001E0003E000001E0003E000000F
0003E000000F0003E000000F8003E00000078003E0000007C003E0000007C003E0000003
C003E0000003C003E0000003E003E0000003E003E0000003E003E0000003E003E0000003
E003E0000003E003E0000003E003E0000003E003E0000003E003E0000003E003E0000003
E003E0000003C003E0000003C003E0000007C003E0000007C003E00000078003E0000007
8003E000000F8003E000000F0003E000001F0003E000001E0003E000003C0003E0000078
0003E00000F80003E00001F00003E00003E00003E0000F800007E0003F0000FFFFFFFC00
00FFFFFFE000002B317CB033>I<FFFF80FFFF8007F00003E00003E00003E00003E00003
E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003
E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003
E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003
E00003E00003E00007F000FFFF80FFFF8011317DB017>73 D<FFF00000007FF8FFF00000
007FF807F00000007F0002F8000000BE0002F8000000BE0002F8000000BE00027C000001
3E00027C0000013E00023E0000023E00023E0000023E00023E0000023E00021F0000043E
00021F0000043E00021F0000043E00020F8000083E00020F8000083E00020F8000083E00
0207C000103E000207C000103E000207C000103E000203E000203E000203E000203E0002
01F000403E000201F000403E000201F000403E000200F800803E000200F800803E000200
F800803E0002007C01003E0002007C01003E0002007C01003E0002003E02003E0002003E
02003E0002003E02003E0002001F04003E0002001F04003E0002000F88003E0002000F88
003E0002000F88003E00020007D0003E00020007D0003E00020007D0003E00020003E000
3E00020003E0003E00020003E0003E00070001C0003E000F8001C0007F00FFF801C00FFF
F8FFF800800FFFF835317CB03D>77 D<FFFFFFC000FFFFFFF80007E0007E0003E0001F00
03E000078003E00003C003E00001E003E00001F003E00001F003E00000F003E00000F803
E00000F803E00000F803E00000F803E00000F803E00000F803E00000F003E00001F003E0
0001E003E00003E003E00003C003E000078003E0001F0003E0007C0003FFFFF00003E000
000003E000000003E000000003E000000003E000000003E000000003E000000003E00000
0003E000000003E000000003E000000003E000000003E000000003E000000003E0000000
03E000000003E000000003E000000003E000000003E000000003E000000007F0000000FF
FF800000FFFF80000025317CB02D>80 D<00FE00000303C0000C00E00010007000100038
003C003C003E001C003E001E003E001E0008001E0000001E0000001E0000001E00000FFE
0000FC1E0003E01E000F801E001F001E003E001E003C001E007C001E00F8001E04F8001E
04F8001E04F8003E04F8003E0478003E047C005E043E008F080F0307F003FC03E01E1F7D
9E21>97 D<003F8000E0600380180700040F00041E001E1C003E3C003E7C003E7C000878
0000F80000F80000F80000F80000F80000F80000F80000F80000F800007800007C00007C
00003C00011E00011E00020F000207000403801800E060003F80181F7D9E1D>99
D<003F800000E0E0000380380007003C000E001E001E001E001C000F003C000F007C000F
0078000F8078000780F8000780F8000780FFFFFF80F8000000F8000000F8000000F80000
00F8000000F8000000780000007C0000003C0000003C0000801E0000800E0001000F0002
000780020001C00C0000F03000001FC000191F7E9E1D>101 D<0780000000FF80000000
FF800000000F800000000780000000078000000007800000000780000000078000000007
800000000780000000078000000007800000000780000000078000000007800000000780
000000078000000007800000000780FE00000783078000078C03C000079001E00007A001
E00007A000F00007C000F00007C000F000078000F000078000F000078000F000078000F0
00078000F000078000F000078000F000078000F000078000F000078000F000078000F000
078000F000078000F000078000F000078000F000078000F000078000F000078000F00007
8000F000078000F0000FC001F800FFFC1FFF80FFFC1FFF8021327EB125>104
D<07000F801F801F800F8007000000000000000000000000000000000000000000000007
80FF80FF800F800780078007800780078007800780078007800780078007800780078007
800780078007800780078007800780078007800FC0FFF8FFF80D307EAF12>I<0780FE00
1FC000FF83078060F000FF8C03C18078000F9001E2003C0007A001E4003C0007A000F400
1E0007C000F8001E0007C000F8001E00078000F0001E00078000F0001E00078000F0001E
00078000F0001E00078000F0001E00078000F0001E00078000F0001E00078000F0001E00
078000F0001E00078000F0001E00078000F0001E00078000F0001E00078000F0001E0007
8000F0001E00078000F0001E00078000F0001E00078000F0001E00078000F0001E000780
00F0001E00078000F0001E000FC001F8003F00FFFC1FFF83FFF0FFFC1FFF83FFF0341F7E
9E38>109 D<0780FE0000FF83078000FF8C03C0000F9001E00007A001E00007A000F000
07C000F00007C000F000078000F000078000F000078000F000078000F000078000F00007
8000F000078000F000078000F000078000F000078000F000078000F000078000F0000780
00F000078000F000078000F000078000F000078000F000078000F000078000F000078000
F0000FC001F800FFFC1FFF80FFFC1FFF80211F7E9E25>I<001FC00000F0780001C01C00
070007000F0007801E0003C01C0001C03C0001E03C0001E0780000F0780000F0780000F0
F80000F8F80000F8F80000F8F80000F8F80000F8F80000F8F80000F8F80000F8780000F0
7C0001F03C0001E03C0001E01E0003C01E0003C00F00078007800F0001C01C0000F07800
001FC0001D1F7E9E21>I<0781FC00FF860700FF8803C00F9001E007A000F007C0007807
8000780780003C0780003C0780003E0780001E0780001F0780001F0780001F0780001F07
80001F0780001F0780001F0780001F0780001F0780003E0780003E0780003C0780007C07
80007807C000F007A000F007A001E00798038007860F000781F800078000000780000007
80000007800000078000000780000007800000078000000780000007800000078000000F
C00000FFFC0000FFFC0000202D7E9E25>I<0783E0FF8C18FF907C0F907C07A07C07C038
07C00007C00007C000078000078000078000078000078000078000078000078000078000
0780000780000780000780000780000780000780000780000780000780000FC000FFFE00
FFFE00161F7E9E19>114 D<01FC100E03301800F0300070600030E00030E00010E00010
E00010F00010F800007E00003FF0001FFF000FFFC003FFE0003FF00001F80000F880003C
80003C80001CC0001CC0001CE0001CE00018F00038F00030CC0060C301C080FE00161F7E
9E1A>I<00400000400000400000400000400000C00000C00000C00001C00001C00003C0
0007C0000FC0001FFFE0FFFFE003C00003C00003C00003C00003C00003C00003C00003C0
0003C00003C00003C00003C00003C00003C00003C00003C00003C01003C01003C01003C0
1003C01003C01003C01003C01001C02001E02000E0400078C0001F00142C7FAB19>I<FF
F801FF80FFF801FF800FC0007C00078000380007C000300003C000200003C000200001E0
00400001E000400001F000400000F000800000F000800000780100000078010000007C01
0000003C020000003C020000001E040000001E040000001F040000000F080000000F0800
00000790000000079000000007D000000003E000000003E000000001C000000001C00000
0001C0000000008000000000800000000100000000010000000001000000000200000000
0200000000040000007004000000F80C000000F808000000F81000000070300000003040
0000001F80000000212D7F9E23>121 D E /Fp 5 85 df<00000000600000000000E000
00000000E00000000001E00000000003E00000000003E00000000007E00000000007F000
0000000DF0000000000DF00000000019F00000000039F00000000031F00000000061F000
00000061F000000000C1F000000000C1F00000000181F00000000381F00000000301F000
00000601F00000000601F00000000C01F80000000C00F80000001800F80000003800F800
00003000F80000006000F80000006000F8000000C000F8000000C000F8000001FFFFF800
0001FFFFF80000030000F80000060000F80000060000F800000C0000F800000C0000FC00
001800007C00001800007C00003000007C00007000007C00006000007C0000C000007C00
00C000007C0001C000007C0003C000007C000FE00000FE00FFF8001FFFE0FFF8001FFFE0
2B327CB134>65 D<000FFFFFFC0000000FFFFFFF800000007E000FE00000007C0003F000
00007C0000F80000007C00007C0000007C00007C000000F800003E000000F800001E0000
00F800001F000000F800001F000001F000001F000001F000000F800001F000000F800001
F000000F800003E000000F800003E000000F800003E000000F800003E000001F800007C0
00001F800007C000001F800007C000001F800007C000001F80000F8000001F00000F8000
003F00000F8000003F00000F8000003F00001F0000007E00001F0000007E00001F000000
7E00001F0000007C00003E000000FC00003E000000F800003E000001F800003E000001F0
00007C000003E000007C000003E000007C000007C000007C00000F800000F800000F0000
00F800001E000000F800003C000000F8000078000001F00001F0000001F00003E0000001
F0000F80000003F0007F000000FFFFFFFC000000FFFFFFC000000031317BB035>68
D<000FFFFFFFF8000FFFFFFFF800007E0003F800007C0000F800007C00007800007C0000
7800007C0000300000F80000300000F80000300000F80000300000F80000300001F00000
300001F00000300001F00000300001F00000600003E00180600003E00180000003E00180
000003E00180000007C00300000007C00300000007C00700000007C01F0000000FFFFE00
00000FFFFE0000000F801E0000000F800E0000001F000C0000001F000C0000001F000C00
00001F000C0000003E00180000003E00180000003E00000000003E00000000007C000000
00007C00000000007C00000000007C0000000000F80000000000F80000000000F8000000
0000F80000000001F00000000001F00000000001F00000000003F000000000FFFFE00000
00FFFFE00000002D317BB02E>70 D<000FFFFFE000000FFFFFFC0000007E003F0000007C
000F8000007C0007C000007C0003E000007C0003E00000F80001F00000F80001F00000F8
0001F00000F80003F00001F00003F00001F00003F00001F00003F00001F00003E00003E0
0007E00003E00007C00003E0000FC00003E0000F800007C0001F000007C0003E000007C0
0078000007C001E000000F800F8000000FFFFC0000000F800E0000000F80070000001F00
038000001F0003C000001F0001E000001F0001E000003E0001F000003E0001F000003E00
01F000003E0001F000007C0003F000007C0003F000007C0003E000007C0003E00000F800
07E00000F80007E00000F80007E00000F80007E01801F00007E03001F00007E03001F000
07E02003F00003E060FFFF8001E0C0FFFF8000F180000000003E002D327BB033>82
D<07FFFFFFFFF007FFFFFFFFF00FE007E007F00F8007C001F00E0007C000E00C0007C000
E01C0007C000E018000F8000E018000F8000E030000F8000C030000F8000C030001F0000
C060001F0000C060001F0000C060001F0000C0C0003E00018000003E00000000003E0000
0000003E00000000007C00000000007C00000000007C00000000007C0000000000F80000
000000F80000000000F80000000000F80000000001F00000000001F00000000001F00000
000001F00000000003E00000000003E00000000003E00000000003E00000000007C00000
000007C00000000007C00000000007C0000000000F80000000000F80000000000F800000
00000F80000000001F00000000001F00000000001F00000000003F000000003FFFFF0000
003FFFFF0000002C3174B032>84 D E end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 300dpi
TeXDict begin

%%EndSetup
%%Page: 0 1
0 0 bop 799 988 a Fp(D)25 b(R)g(A)g(F)g(T)388 1079 y
Fo(MPI-2)c(Dynamic)f(Pro)r(cess)i(Chapter:)29 b(P)n(art)23
b(I)621 1274 y Fn(Message)16 b(P)o(assing)h(In)o(terface)e(F)l(orum)836
1400 y(April)g(5,)h(1996)p eop
%%Page: 1 2
1 1 bop 1852 -100 a Fm(1)75 49 y Fl(0.0.1)49 b(Sta)o(rting)16
b(Pro)q(cesses)f(and)h(Establishing)i(Communication)f(With)f(Them)75
135 y Fm(The)k(follo)o(wing)g(routine)g(starts)e(a)h(n)o(um)o(b)q(er)g
(of)g(MPI)h(pro)q(cesses,)g(and)g(establishes)g(comm)o(unication)75
192 y(with)c(them.)75 342 y Fk(MPI)p 160 342 14 2 v 16
w(SP)l(A)-5 b(WN\(command)p 529 342 V 16 w(line,)11 b(minp)o(ro)q(cs,)f
(maxp)o(ro)q(cs,)g(info,)h(ro)q(ot,)g(comm,)d(intercomm,)i(a)o(rra)o(y)
p 1686 342 V 14 w(of)p 1737 342 V 16 w(errco)q(des\))117
476 y Fj(IN)155 b Fk(command)p 506 476 V 16 w(line)321
b Fj(executable)18 b(and)f(argumen)o(ts,)g(in)g(a)f(single)h(string)g
(\(string,)905 533 y(signi\014can)o(t)d(only)f(at)g(ro)q(ot\))117
608 y(IN)155 b Fk(minp)o(ro)q(cs)417 b Fj(minim)n(um)14
b(n)o(um)o(b)q(er)j(of)g(pro)q(cesses)k(to)c(start)i(\(in)o(teger,)g
(sig-)905 664 y(ni\014can)o(t)14 b(only)f(at)h(ro)q(ot\))117
739 y(IN)155 b Fk(maxp)o(ro)q(cs)408 b Fj(maxim)n(um)13
b(n)o(um)o(b)q(er)j(of)g(pro)q(cesses)j(to)e(start)g(\(in)o(teger,)h
(sig-)905 796 y(ni\014can)o(t)c(only)f(at)h(ro)q(ot\))117
871 y(IN)155 b Fk(info)516 b Fj(a)14 b(string)g(telling)f(the)i(run)o
(time)e(system)g(where)j(and)d(ho)o(w)h(to)905 927 y(start)h(the)f(pro)
q(cesses)j(\(string,)c(signi\014can)o(t)h(only)f(at)h(ro)q(ot\))117
1002 y(IN)155 b Fk(ro)q(ot)508 b Fj(rank)13 b(of)f(pro)q(cess)j(in)d
(whic)o(h)h(previous)g(argumen)o(ts)f(are)i(v)n(alid)905
1059 y(\(in)o(teger\))117 1134 y(IN)155 b Fk(comm)470
b Fj(comm)o(unicator)7 b(of)i(group)g(of)g(spa)o(wning)g(pro)q(cesses)j
(\(handle\))117 1209 y(OUT)108 b Fk(intercomm)384 b Fj(in)o(tercomm)o
(unicator)7 b(b)q(et)o(w)o(een)k(original)c(group)i(and)g(the)h(newly)
905 1266 y(spa)o(wned)15 b(group)e(\(handle\))117 1341
y(OUT)108 b Fk(a)o(rra)o(y)p 416 1341 V 15 w(of)p 468
1341 V 16 w(errco)q(des)268 b Fj(one)14 b(co)q(de)h(p)q(er)g(pro)q
(cess)h(\(arra)o(y)d(of)h(in)o(teger\))75 1465 y Fi(int)23
b(MPI)p 245 1465 15 2 v 17 w(Spawn\(char*)g(command)p
717 1465 V 16 w(line,)g(int)g(minprocs,)g(int)h(maxprocs,)e(char*)h
(info,)393 1522 y(int)h(root,)f(MPI)p 707 1522 V 17 w(Comm)g(comm,)g
(MPI)p 1058 1522 V 17 w(Comm*)g(intercomm,)393 1578 y(int*)g(array)p
635 1578 V 17 w(of)p 700 1578 V 17 w(errcodes\))75 1665
y(MPI)p 150 1665 V 17 w(SPAWN\(COMMAND)p 479 1665 V 15
w(LINE,)g(MINPROCS,)g(MAXPROCS,)g(INFO,)g(ROOT,)g(COMM,)g(INTERCOMM,)
393 1721 y(ARRAY)p 516 1721 V 17 w(OF)p 581 1721 V 17
w(ERRCODES,)f(IERR\))170 1778 y(CHARACTER*\(*\))h(COMMAND)p
676 1778 V 16 w(LINE,)g(INFO)170 1834 y(INTEGER)g(MINPROCS,)g
(MAXPROCS,)g(ROOT,)g(COMM,)g(INTERCOMM,)170 1890 y(ARRAY)p
293 1890 V 17 w(OF)p 358 1890 V 17 w(ERRCODES\(*\),)f(IERR)166
1977 y Fk(MPI)p 251 1977 14 2 v 16 w(SP)l(A)-5 b(WN)17
b Fm(tries)g(to)f(start)f Fk(maxp)o(ro)q(cs)h Fm(iden)o(tical)i(copies)
g(of)e(the)g(program)g(sp)q(eci\014ed)i(b)o(y)f Fk(com-)75
2033 y(mand)p 183 2033 V 16 w(line)c Fm(and)g(establish)h(comm)o
(unication)f(with)g(them.)19 b(It)12 b(is)h(collectiv)o(e)h(o)o(v)o(er)
e Fk(comm)f Fm(and)h(the)h(newly)75 2090 y(created)g(pro)q(cesses.)19
b(The)13 b(spa)o(wned)g(pro)q(cesses,)g(kno)o(wn)g(as)f(c)o(hildren,)j
(are)d Fh(r)n(e)n(quir)n(e)n(d)g Fm(to)g(call)i Fk(MPI)p
1761 2090 V 16 w(INIT)p Fm(,)75 2146 y(whic)o(h)k(is)g(collectiv)o(e)g
(with)g Fk(MPI)p 644 2146 V 16 w(SP)l(A)-5 b(WN)18 b
Fm(in)f(the)h(paren)o(t)e(pro)q(cesses.)26 b(An)18 b(in)o(tercomm)o
(unicator)f(con-)75 2203 y(taining)h(the)f(paren)o(t)f(pro)q(cesses)h
(in)h(one)f(group)f(and)i(the)e(c)o(hild)j(pro)q(cesses)e(in)h(the)f
(other)f(is)i(returned)75 2259 y(b)o(y)j Fk(MPI)p 229
2259 V 16 w(SP)l(A)-5 b(WN)22 b Fm(in)g(the)f(paren)o(t)g(and)g(can)g
(b)q(e)h(obtained)f(in)h(the)g(c)o(hildren)h(through)d(the)h(routine)75
2316 y Fk(MPI)p 160 2316 V 16 w(P)l(ARENT)p Fm(.)f(The)g(c)o(hildren)h
(ha)o(v)o(e)e(their)i(o)o(wn)e Fk(MPI)p 1062 2316 V 15
w(COMM)p 1219 2316 V 17 w(W)o(ORLD)g Fm(whic)o(h)i(is)f(separate)f
(from)75 2372 y(that)14 b(of)h(the)h(paren)o(t.)166 2429
y(The)22 b Fk(command)p 454 2429 V 15 w(line)h Fm(argumen)o(t)e(is)h(a)
g(string)g(con)o(taining)h(a)e(whitespace-separated)i(list)g(of)e(a)75
2485 y(program)14 b(name)h(and)h(argumen)o(ts)e(whic)o(h)i(are)f
(passed)g(to)g(the)g(program.)166 2541 y(The)k(follo)o(wing)h(legalese)
h(de\014nes)f(all)h(the)e(sp)q(ecial)i(cases)e(and)h(ensures)g(that)e
(it)i(is)g(p)q(ossible)h(to)75 2598 y(sp)q(ecify)d(an)o(y)e(argumen)o
(ts.)23 b(It)16 b(is)h(unnecessary)g(for)f(normal)h(use.)24
b(Whitespace)17 b(is)g(de\014ned)h(as)e(for)g(the)75
2654 y(isspace\(\))21 b(routine)g(in)h(the)f(standard)f(C)h(library)h
(\(space,)f(form-feed,)h(new)f(line,)j(carriage)c(return,)-32
46 y Fg(1)-32 103 y(2)-32 159 y(3)-32 215 y(4)-32 272
y(5)-32 328 y(6)-32 385 y(7)-32 441 y(8)-32 498 y(9)-40
554 y(10)-40 611 y(11)-40 667 y(12)-40 724 y(13)-40 780
y(14)-40 836 y(15)-40 893 y(16)-40 949 y(17)-40 1006
y(18)-40 1062 y(19)-40 1119 y(20)-40 1175 y(21)-40 1232
y(22)-40 1288 y(23)-40 1345 y(24)-40 1401 y(25)-40 1457
y(26)-40 1514 y(27)-40 1570 y(28)-40 1627 y(29)-40 1683
y(30)-40 1740 y(31)-40 1796 y(32)-40 1853 y(33)-40 1909
y(34)-40 1966 y(35)-40 2022 y(36)-40 2078 y(37)-40 2135
y(38)-40 2191 y(39)-40 2248 y(40)-40 2304 y(41)-40 2361
y(42)-40 2417 y(43)-40 2474 y(44)-40 2530 y(45)-40 2587
y(46)-40 2643 y(47)-40 2699 y(48)p eop
%%Page: 2 3
2 2 bop 75 -100 a Fm(2)75 49 y(tab\).)23 b(All)17 b(other)f(c)o
(haracters)g(are)g(in)o(terpreted)h(literally)h(except)f(for)f(a)g
(small)h(n)o(um)o(b)q(er)g(of)f(t)o(w)o(o-letter)75 106
y(com)o(binations)g(starting)e(with)i(\\)p Fi(\045)p
Fm(")e(that)h(ha)o(v)o(e)g(sp)q(ecial)i(meaning.)143
198 y Ff(\017)23 b Fm(\\)p Fi(\045\045)p Fm(")14 b(is)i(replaced)g(b)o
(y)f(\\)p Fi(\045)p Fm(")143 291 y Ff(\017)23 b Fm(\\)p
Fi(\045<whitespace>)p Fm(")11 b(where)j(\\)p Fi(<whitespace>)p
Fm(")e(is)i(a)g(single)h(whitespace)g(c)o(haracter)e(is)i(replaced)189
347 y(b)o(y)g(that)f(whitespace)i(c)o(haracter)f(but)g(do)q(es)h(not)e
(separate)h(items)h(in)g(the)f(command)g(line.)143 440
y Ff(\017)23 b Fm(\\)p Fi(\045_)p Fm(")13 b(is)j(discarded.)k(Ho)o(w)o
(ev)o(er,)14 b(it)h(is)g(treated)f(as)g(a)h(non-whitespace)h(c)o
(haracter)d(in)j(that)e(it)h(can)189 497 y(b)q(egin)h(a)f(new)g(w)o
(ord.)20 b(Its)15 b(in)o(tended)h(use)g(is)g(to)e(allo)o(w)i(the)f(sp)q
(eci\014cation)i(of)e(empt)o(y)g(strings.)75 589 y(F)l(or)e(example,)i
(the)g(command-line)g(\\)p Fi(foo ba\045 r \045_ q\045\045u\045\045_ux)
p Fm(")c(\(where)j(\\)p Fi( )p Fm(")f(is)i(a)f(space)g(c)o(harac-)75
645 y(ter\))g(sp)q(eci\014es)i(the)e(command)h(\\)p Fi(foo)p
Fm(")e(with)i(argumen)o(ts)e(\\)p Fi(ba r)p Fm(",)g(\\",)h(and)g(\\)p
Fi(q\045u\045_ux)p Fm(".)19 b(The)14 b(sp)q(ecial)75
702 y(t)o(w)o(o-letter)g(com)o(binations)h(are)g(translated)g(as)f
(they)h(are)g(encoun)o(tered)g(when)g(reading)h(the)f(string,)f(so)75
758 y(that)h(\\)p Fi(\045\045_)p Fm(")g(is)i(translated)f(to)f(\\)p
Fi(\045_)p Fm(",)h(not)f(\\)p Fi(\045)p Fm(".)22 b(Note)16
b(that)f(\\)p Fi(\045)p Fm(")h(not)f(follo)o(w)o(ed)i(b)o(y)f(\\)p
Fi(\045)p Fm(",)f(\\)p Fi(\045)p Fm(",)g(\\)p Fi(_)p
Fm(")g(or)75 815 y(\\)p Fi(<whitespace>)p Fm(")e(is)j(not)e(treated)h
(sp)q(ecially)l(.)166 954 y Fe(Discussion:)34 b Fj(The)14
b(format)e(ma)o(y)f(lo)q(ok)i(complicated)g(to)g(users)i(but)f(is)g
(only)f(messy)g(if)g(they)h(w)o(an)o(t)g(to)f(do)75 1010
y(something)h(strange.)25 b(Ho)o(w)o(ev)o(er,)16 b(in)f(en)o(vironmen)o
(ts)g(where)i(\014lenames)e(tend)h(to)f(ha)o(v)o(e)h(em)o(b)q(edded)g
(whitespace)75 1067 y(this)e(\(and)g(an)o(y)f(other)i(\\command-l)o
(ine")c(in)o(terfaces\))k(could)e(b)q(ecome)h(a)g(nigh)o(tmare.)189
1253 y Fh(A)n(dvic)n(e)j(to)i(users.)53 b Fm(Though)17
b Fk(MPI)p 818 1253 14 2 v 16 w(SP)l(A)-5 b(WN)18 b Fm(tak)o(es)f(a)g
(command)p 1353 1253 V 16 w(line)j(as)d(an)g(argumen)o(t,)g(it)g(is)189
1310 y(imp)q(ortan)o(t)h(to)g(remem)o(b)q(er)g(that)g(it)h(is)g(not)f
(a)g(shell)i(command)e(that)g(y)o(ou)g(migh)o(t)g(t)o(yp)q(e)h(at)f
(the)189 1366 y(terminal.)h(F)l(or)12 b(instance,)h(\\)p
Fi(foo)23 b(>)h(bar)p Fm(")12 b(will)i(spa)o(wn)d(a)h(program)f(\\)p
Fi(foo)p Fm(")h(with)g(argumen)o(ts)g(\\)p Fi(>)p Fm(")189
1423 y(and)17 b(\\)p Fi(bar)p Fm(",)f(but)i(will)h(not)e(redirect)h
(output.)25 b(\\)p Fi(mpirun)e(-np)h(4)f(foo)p Fm(")17
b(will)i(spa)o(wn)e Fk(maxp)o(ro)q(cs)189 1479 y Fm(copies)d(of)e(the)i
(program)e(\\)p Fi(mpirun)p Fm(".)18 b(The)13 b(application)i(will)g
(exp)q(ect)e(to)g(establish)h(comm)o(unica-)189 1536
y(tion)i(with)h(the)f(\\)p Fi(mpirun)p Fm(")f(program,)f(not)i(with)h
(the)f(pro)q(cesses)h(that)e(ma)o(y)h(b)q(e)g(started)g(b)o(y)g(the)189
1592 y Fi(mpirun)e Fm(program.)19 b(\()p Fh(End)c(of)i(advic)n(e)f(to)g
(users.)p Fm(\))166 1696 y(MPI)f(tries)g(to)f(start)g
Fk(maxp)o(ro)q(cs)g Fm(copies)i(of)f(the)g(program)f(sp)q(eci\014ed)j
(in)e(the)h Fk(command)p 1676 1696 V 15 w(line)p Fm(.)k(MPI)75
1753 y(do)q(es)f(not)f(sp)q(ecify)i(ho)o(w)e(to)g(\014nd)i(the)f
(executable)h(or)e(ho)o(w)g(the)h(w)o(orking)f(directory)h(is)g
(determined.)75 1809 y(These)k(rules)h(will)g(b)q(e)f(implemen)o
(tation-dep)q(end)q(en)o(t)i(and)e(will)h(b)q(e)g(appropriate)f(for)f
(the)h(run)o(time)75 1866 y(en)o(vironmen)o(t.)d(F)l(or)12
b(instance,)i(a)f(homogeneous)g(system)g(with)h(a)f(global)h(\014le)g
(system)f(migh)o(t)g(lo)q(ok)g(\014rst)75 1922 y(in)h(the)f(w)o(orking)
f(directory)h(of)g(the)g(spa)o(wning)g(pro)q(cess,)g(or)g(migh)o(t)g
(searc)o(h)f(the)h(directories)h(in)g(a)f(P)l(A)l(TH)75
1979 y(en)o(vironmen)o(t)e(v)m(ariable)g(as)f(do)g(Unix)h(shells.)20
b(An)10 b(implemen)o(tation)i(on)e(top)g(of)g(PVM)g(w)o(ould)g(use)h
(PVM's)75 2035 y(rules)k(for)f(\014nding)h(executables)h(\(usually)f
(in)g Fi(~/pvm3/bin/$PVM_ARCH)p Fm(\).)c(An)j(MPI)h(implemen)o(tation)
75 2091 y(running)h(under)g(IBM's)f(POE)h(will)g(use)g(POE's)f(metho)q
(d)g(of)g(\014nding)i(executables.)166 2148 y(While)j(MPI)f(alw)o(a)o
(ys)f(tries)i(to)e(spa)o(wn)h Fk(maxp)o(ro)q(cs)f Fm(pro)q(cesses,)i
(the)f Fk(minp)o(ro)q(cs)g Fm(argumen)o(t)f(allo)o(ws)75
2204 y(some)d(additional)h(\015exibilit)o(y)l(.)23 b(If)15
b(MPI)g(is)g(unable)h(to)f(spa)o(wn)f Fk(maxp)o(ro)q(cs)g
Fm(pro)q(cesses,)h(it)h(ma)o(y)e(spa)o(wn)g(as)75 2261
y(few)d(as)f Fk(minp)o(ro)q(cs)p Fm(.)18 b(The)12 b(n)o(um)o(b)q(er)f
(of)f(pro)q(cesses)h(actually)h(spa)o(wned)f(can)g(b)q(e)h(determined)g
(b)o(y)f(examining)75 2317 y(the)j(size)h(of)f(the)g(remote)f(group)h
(of)g(the)g(returned)g(in)o(tercomm)o(unicator.)20 b(If)14
b(MPI)g(is)h(unable)g(to)e(spa)o(wn)75 2374 y(at)20 b(least)h
Fk(minp)o(ro)q(cs)p Fm(,)h Fk(MPI)p 538 2374 V 16 w(SP)l(A)-5
b(WN)22 b Fm(will)g(return)f(an)g(error.)36 b(It)21 b(ma)o(y)f(b)q(e)i
(p)q(ossible)h(to)d(additionally)75 2430 y(constrain)15
b(the)h(n)o(um)o(b)q(er)f(of)g(pro)q(cesses)h(spa)o(wned)f(through)g
(the)g Fk(info)g Fm(argumen)o(t.)189 2534 y Fh(A)n(dvic)n(e)h(to)i
(users.)50 b Fm(An)17 b(MPI)f(implemen)o(tation)i(is)g(allo)o(w)o(ed,)f
(but)g(is)g(not)f(required,)i(to)e(spa)o(wn)189 2591
y Fk(minp)o(ro)q(cs)d Fm(pro)q(cesses)h(if)g Fk(maxp)o(ro)q(cs)e
Fm(are)i(not)f(a)o(v)m(ailable.)21 b(Th)o(us)13 b(it)h(w)o(ould)g(not)f
(b)q(e)h(p)q(ortable)g(to)f(try)189 2647 y(to)i(acquire)i(all)g(a)o(v)m
(ailable)h(resources)e(b)o(y)g(sp)q(ecifying)i(a)e(v)o(ery)g(large)g(v)
m(alue)h(for)f Fk(maxp)o(ro)q(cs)f Fm(and)h(a)189 2704
y(small)g(v)m(alue)g(for)f Fk(minp)o(ro)q(cs)p Fm(.)k(\()p
Fh(End)d(of)g(advic)n(e)g(to)h(users.)p Fm(\))1967 46
y Fg(1)1967 103 y(2)1967 159 y(3)1967 215 y(4)1967 272
y(5)1967 328 y(6)1967 385 y(7)1967 441 y(8)1967 498 y(9)1959
554 y(10)1959 611 y(11)1959 667 y(12)1959 724 y(13)1959
780 y(14)1959 836 y(15)1959 893 y(16)1959 949 y(17)1959
1006 y(18)1959 1062 y(19)1959 1119 y(20)1959 1175 y(21)1959
1232 y(22)1959 1288 y(23)1959 1345 y(24)1959 1401 y(25)1959
1457 y(26)1959 1514 y(27)1959 1570 y(28)1959 1627 y(29)1959
1683 y(30)1959 1740 y(31)1959 1796 y(32)1959 1853 y(33)1959
1909 y(34)1959 1966 y(35)1959 2022 y(36)1959 2078 y(37)1959
2135 y(38)1959 2191 y(39)1959 2248 y(40)1959 2304 y(41)1959
2361 y(42)1959 2417 y(43)1959 2474 y(44)1959 2530 y(45)1959
2587 y(46)1959 2643 y(47)1959 2699 y(48)p eop
%%Page: 3 4
3 3 bop 1852 -100 a Fm(3)166 49 y(The)12 b Fk(info)g
Fm(argumen)o(t)g(is)h(opaque)f(to)f(MPI)i(and)f(is)h(passed)f(directly)
i(to)d(the)h(run)o(time)h(en)o(vironmen)o(t,)75 106 y(whic)o(h)g(uses)f
(it)g(to)f(determine)h(where)g(and)g(ho)o(w)f(to)h(spa)o(wn)f(pro)q
(cesses.)19 b(In)12 b(C)g(it)g(is)g(a)g(NULL-terminated)75
162 y(string.)24 b(If)17 b(the)g(info)g(argumen)o(t)f(is)h(empt)o(y)f
(\(NULL)i(or)e(an)g(empt)o(y)h(string)f(in)i(C,)e(or)g(')p
Fi( )p Fm(')g(F)l(ortran\))f(the)75 219 y(run)o(time)j(en)o(vironmen)o
(t)g(decides)h(where)f(to)f(spa)o(wn)g(pro)q(cesses.)28
b(P)o(ortable)17 b(programs)f(not)i(requiring)75 275
y(detailed)f(con)o(trol)e(o)o(v)o(er)f(pro)q(cess)h(lo)q(cations)h
(should)h(use)e(an)g(empt)o(y)g(argumen)o(t.)166 332
y(MPI)k(do)q(es)h(not)f(sp)q(ecify)i(the)e(format)g(of)g(the)g
Fk(info)g Fm(argumen)o(t,)h(whic)o(h)g(is)g(left)g(up)g(to)e(the)i(MPI)
75 388 y(implemen)o(tation.)31 b(The)19 b(format)e(is)i(exp)q(ected)h
(to)e(b)q(e)h(tailored)h(to)e(the)g(particular)h(run)o(time)g(system)75
444 y(b)q(eing)d(used.)21 b(Examples)16 b(of)e(an)h(info)h(string)f
(migh)o(t)g(b)q(e)h(\\hostname=dop)q(ey")f(to)g(spa)o(wn)g(all)h(tasks)
e(on)75 501 y(a)g(host)h(named)g(\\dop)q(ey",)f(or)g(\\2:hippi:sgi")i
(to)e(spa)o(wn)g(on)h(t)o(w)o(o)e(hippi-connected)18
b(SGI)d(mac)o(hines,)g(or)75 557 y(ev)o(en)h(\\\014le=info.cfg")g(to)e
(indicate)j(that)d(detailed)j(information)e(is)h(sp)q(eci\014ed)h(in)f
(the)g(\014le)g(\\info.cfg".)166 614 y(Alternativ)o(ely)l(,)f(it)e(is)h
(ev)o(en)g(p)q(ossible)i(to)c(use)i(the)g Fk(info)f Fm(argumen)o(t)g
(to)g(sp)q(ecify)h(the)g(executable)h(and)75 670 y(its)f(command-line)h
(argumen)o(ts,)d(in)i(whic)o(h)h(case)e(the)g Fk(command)p
1198 670 14 2 v 16 w(line)g Fm(argumen)o(t)g(to)g Fk(MPI)p
1630 670 V 16 w(SP)l(A)-5 b(WN)14 b Fm(can)75 727 y(b)q(e)k(empt)o(y)l
(.)26 b(The)17 b(abilit)o(y)i(to)e(do)g(this)g(follo)o(ws)h(from)e(the)
i(fact)e(that)h(MPI)g(do)q(es)h(not)f(sp)q(ecify)h(ho)o(w)f(an)75
783 y(executable)k(is)f(found,)h(and)f(the)g Fk(info)g
Fm(argumen)o(t)f(can)h(tell)g(the)g(run)o(time)g(system)g(where)g(to)f
(\\\014nd")75 840 y(the)h(executable)g(\\".)33 b(Of)20
b(course)f(a)g(program)g(that)g(do)q(es)h(this)g(will)h(not)e(b)q(e)h
(p)q(ortable)g(across)f(MPI)75 896 y(implemen)o(tations.)166
953 y(The)f Fk(a)o(rra)o(y)p 360 953 V 14 w(of)p 411
953 V 16 w(errco)q(des)g Fm(is)g(an)f(arra)o(y)g(of)g(length)h
Fk(maxp)o(ro)q(cs)e Fm(in)j(whic)o(h)f(MPI)f(rep)q(orts)g(the)h(status)
75 1009 y(of)e(eac)o(h)h(pro)q(cess)h(that)e(MPI)h(w)o(as)f(requested)h
(to)f(start.)24 b(If)17 b(all)h Fk(maxp)o(ro)q(cs)e Fm(pro)q(cesses)i
(w)o(ere)e(spa)o(wned,)75 1065 y Fk(a)o(rra)o(y)p 173
1065 V 15 w(of)p 225 1065 V 16 w(errco)q(des)22 b Fm(is)g(\014lled)h
(in)g(with)f(the)f(v)m(alue)i Fk(MPI)p 1048 1065 V 16
w(SUCCESS)p Fm(.)f(If)g(only)g Fd(m)g Fm(\()p Fk(minp)o(ro)q(cs)h
Ff(\024)g Fd(m)h(<)75 1122 y Fk(maxp)o(ro)q(cs)o Fm(\))e(pro)q(cesses)h
(are)f(spa)o(wned,)i Fd(m)e Fm(of)g(the)g(en)o(tries)h(will)h(con)o
(tain)e Fk(MPI)p 1489 1122 V 16 w(SUCCESS)h Fm(and)g(the)75
1178 y(rest)14 b(will)j(con)o(tain)e(an)g(error)f(co)q(de)i(indicating)
g(an)f(implemen)o(tation-de\014ned)j(reason)d(MPI)f(could)i(not)75
1235 y(start)g(the)i(pro)q(cess.)27 b(MPI)18 b(do)q(es)f(not)h(sp)q
(ecify)g(whic)o(h)h(en)o(tries)f(corresp)q(ond)g(to)f(failed)h(pro)q
(cesses.)28 b(An)75 1291 y(implemen)o(tation)19 b(ma)o(y)l(,)g(for)e
(instance,)i(\014ll)h(in)f(error)e(co)q(des)i(in)g(one-to-one)f
(corresp)q(ondence)i(with)e(a)75 1348 y(detailed)g(sp)q(eci\014cation)g
(in)g(the)e Fk(info)g Fm(argumen)o(t.)23 b(These)17 b(error)f(co)q(des)
h(all)g(b)q(elong)h(to)d(the)i(error)f(class)75 1404
y Fk(MPI)p 160 1404 V 16 w(ERR)p 261 1404 V 17 w(SP)l(A)-5
b(WN)16 b Fm(if)h(there)e(w)o(as)g(no)h(error)f(in)h(the)g(argumen)o(t)
f(list.)22 b(An)15 b(application)j(ma)o(y)d(pass)g(\(in)o(t)75
1461 y(*\)NULL)h(\(C-binding\))g(for)f Fk(a)o(rra)o(y)p
671 1461 V 14 w(of)p 722 1461 V 16 w(errco)q(des)p Fm(,)g(in)i(whic)o
(h)f(case)f(it)g(is)h(ignored)g(b)o(y)f(MPI.)166 1517
y(If)c(no)g(pro)q(cesses)h(are)e(spa)o(wned,)i(MPI)f(returns)g(a)f
(\\half-empt)o(y")h(in)o(tercomm)o(unicator,)h(that)e(is,)i(an)75
1574 y(in)o(tercomm)o(unicator)j(for)g(whic)o(h)h Fk(MPI)p
749 1574 V 16 w(COMM)p 907 1574 V 16 w(REMOTE)p 1110
1574 V 17 w(GROUP)h Fm(returns)e Fk(MPI)p 1535 1574 V
16 w(GROUP)p 1703 1574 V 18 w(EMPTY)75 1630 y Fm(and)g
Fk(MPI)p 248 1630 V 16 w(COMM)p 406 1630 V 17 w(REMOTE)p
610 1630 V 17 w(SIZE)g Fm(returns)g(0.)166 1686 y(The)10
b(return)g(v)m(alue)i(\(C\))d(and)h Fk(ierr)g Fm(argumen)o(t)f(\(F)l
(ortran\))f(ha)o(v)o(e)i(their)h(usual)g(meanings.)18
b Fk(MPI)p 1746 1686 V 16 w(SUCCESS)75 1743 y Fm(means)c(that)f(at)h
(least)g Fk(minp)o(ro)q(cs)g Fm(pro)q(cesses)g(w)o(ere)g(spa)o(wned)g
(successfully)l(.)22 b(Other)14 b(v)m(alues)h(indicate)h(an)75
1799 y(error.)166 1856 y(All)21 b(argumen)o(ts)f(b)q(efore)g(the)h
Fk(ro)q(ot)e Fm(argumen)o(t)h(are)g(sp)q(eci\014ed)i(on)e(the)h(pro)q
(cess)f(whose)g(rank)g(in)75 1912 y Fk(comm)13 b Fm(is)j(equal)g(to)f
Fk(ro)q(ot)p Fm(.)k(The)c(v)m(alue)i(of)e(these)g(argumen)o(ts)f(on)i
(other)e(pro)q(cesses)i(is)g(ignored.)75 2063 y Fk(MPI)p
160 2063 V 16 w(P)l(ARENT\(intercomm\))117 2140 y Fj(OUT)108
b Fk(intercomm)384 b Fj(paren)o(t)15 b(in)o(tercomm)o(unicator)c
(\(handle\))75 2265 y Fi(int)23 b(MPI)p 245 2265 15 2
v 17 w(Parent\(MPI)p 502 2265 V 16 w(Comm*)g(intercomm\))75
2351 y(MPI)p 150 2351 V 17 w(PARENT\(INTERCOMM,)e(IERR\))170
2408 y(INTEGER)i(INTERCOMM,)g(IERR)166 2494 y Fk(MPI)p
251 2494 14 2 v 16 w(P)l(ARENT)f Fm(can)g(b)q(e)h(called)g(in)f(an)o(y)
f(pro)q(cess.)40 b(If)22 b(there)g(is)g(a)f(paren)o(t,)h(\(i.e.,)h(the)
f(pro)q(cess)75 2551 y(w)o(as)c(started)h(with)g Fk(MPI)p
517 2551 V 16 w(SP)l(A)-5 b(WN)p Fm(\))20 b(it)f(returns)g(an)h(in)o
(tercomm)o(unicator.)31 b(The)20 b(lo)q(cal)g(group)f(of)g(the)75
2607 y(in)o(tercomm)o(unicator)i(consists)g(of)f(the)h(pro)q(cesses)g
(created)g(with)g(the)g(same)g(call)h(to)e Fk(MPI)p 1699
2607 V 15 w(SP)l(A)-5 b(WN)p Fm(.)75 2664 y(The)16 b(remote)g(group)g
(consists)g(of)g(the)g(pro)q(cesses)h(that)f(co)q(op)q(erated)g(on)g
(the)g(call)i(to)d Fk(MPI)p 1652 2664 V 16 w(SP)l(A)-5
b(WN)p Fm(.)17 b(If)-32 46 y Fg(1)-32 103 y(2)-32 159
y(3)-32 215 y(4)-32 272 y(5)-32 328 y(6)-32 385 y(7)-32
441 y(8)-32 498 y(9)-40 554 y(10)-40 611 y(11)-40 667
y(12)-40 724 y(13)-40 780 y(14)-40 836 y(15)-40 893 y(16)-40
949 y(17)-40 1006 y(18)-40 1062 y(19)-40 1119 y(20)-40
1175 y(21)-40 1232 y(22)-40 1288 y(23)-40 1345 y(24)-40
1401 y(25)-40 1457 y(26)-40 1514 y(27)-40 1570 y(28)-40
1627 y(29)-40 1683 y(30)-40 1740 y(31)-40 1796 y(32)-40
1853 y(33)-40 1909 y(34)-40 1966 y(35)-40 2022 y(36)-40
2078 y(37)-40 2135 y(38)-40 2191 y(39)-40 2248 y(40)-40
2304 y(41)-40 2361 y(42)-40 2417 y(43)-40 2474 y(44)-40
2530 y(45)-40 2587 y(46)-40 2643 y(47)-40 2699 y(48)p
eop
%%Page: 4 5
4 4 bop 75 -100 a Fm(4)75 49 y(there)15 b(is)h(no)f(paren)o(t,)g
Fk(MPI)p 541 49 14 2 v 15 w(P)l(ARENT)i Fm(returns)e
Fk(MPI)p 986 49 V 16 w(COMM)p 1144 49 V 16 w(NULL)p Fm(.)75
171 y Fl(0.0.2)49 b(Sta)o(rting)16 b(Multiple)h(Executables)f(and)h
(Establishing)g(Communication)g(with)g(Them)75 257 y
Fm(While)h Fk(MPI)p 294 257 V 16 w(SP)l(A)-5 b(WN)17
b Fm(is)h(su\016cien)o(t)f(for)f(most)g(cases,)h(it)g(do)q(es)g(not)f
(allo)o(w)h(the)g(spa)o(wning)g(of)f(m)o(ultiple)75 313
y(binaries,)23 b(or)e(of)f(the)h(same)g(binary)g(with)h(m)o(ultiple)g
(sets)f(of)f(argumen)o(ts.)37 b(The)21 b(follo)o(wing)g(routine)75
370 y(spa)o(wns)16 b(m)o(ultiple)j(binaries)f(or)e(the)g(same)h(binary)
g(with)g(m)o(ultiple)h(sets)e(of)g(argumen)o(ts,)g(establishing)75
426 y(comm)o(unication)g(with)f(them.)20 b(All)d(spa)o(wned)e(programs)
f(ha)o(v)o(e)h(the)g(same)g Fk(MPI)p 1469 426 V 16 w(COMM)p
1627 426 V 16 w(W)o(ORLD)p Fm(.)75 577 y Fk(MPI)p 160
577 V 16 w(SP)l(A)-5 b(WN)p 326 577 V 17 w(MUL)l(TIPLE\(count,)11
b(a)o(rra)o(y)p 802 577 V 15 w(of)p 854 577 V 16 w(command)p
1055 577 V 15 w(lines,)g(a)o(rra)o(y)p 1271 577 V 15
w(of)p 1323 577 V 16 w(minp)o(ro)q(cs,)g(a)o(rra)o(y)p
1628 577 V 14 w(of)p 1679 577 V 16 w(maxp)o(ro)q(cs,)75
634 y(a)o(rra)o(y)p 173 634 V 15 w(of)p 225 634 V 16
w(info,)j(ro)q(ot,)h(comm,)e(intercomm,)g(a)o(rra)o(y)p
913 634 V 15 w(of)p 965 634 V 16 w(errco)q(des\))117
711 y Fj(IN)155 b Fk(count)482 b Fj(Num)o(b)q(er)12 b(of)g(command)e
(lines)j(\(in)o(teger,)g(size)g(of)f(eac)o(h)h(of)f(the)905
767 y(follo)o(wing)f(arra)o(ys\))117 842 y(IN)155 b Fk(a)o(rra)o(y)p
416 842 V 15 w(of)p 468 842 V 16 w(command)p 669 842
V 15 w(lines)142 b Fj(executable)12 b(and)f(argumen)o(ts)f(\(arra)o(y)g
(of)g(strings,)h(signi\014can)o(t)905 899 y(only)i(at)h(ro)q(ot\))117
974 y(IN)155 b Fk(a)o(rra)o(y)p 416 974 V 15 w(of)p 468
974 V 16 w(minp)o(ro)q(cs)254 b Fj(minim)n(um)9 b(n)o(um)o(b)q(er)k(of)
f(pro)q(cesses)k(for)d(eac)o(h)h(command)c(line)905 1030
y(to)k(start)g(\(arra)o(y)g(of)g(in)o(teger,)f(signi\014can)o(t)h(only)
f(at)h(ro)q(ot\))117 1106 y(IN)155 b Fk(a)o(rra)o(y)p
416 1106 V 15 w(of)p 468 1106 V 16 w(maxp)o(ro)q(cs)245
b Fj(maxim)n(um)8 b(n)o(um)o(b)q(er)k(of)f(pro)q(cesses)k(for)d(eac)o
(h)g(command)d(line)905 1162 y(to)14 b(start)g(\(arra)o(y)g(of)g(in)o
(teger,)f(signi\014can)o(t)h(only)f(at)h(ro)q(ot\))117
1237 y(IN)155 b Fk(a)o(rra)o(y)p 416 1237 V 15 w(of)p
468 1237 V 16 w(info)353 b Fj(strings)17 b(telling)e(the)i(run)o(time)e
(system)i(where)g(and)f(ho)o(w)g(to)905 1294 y(start)21
b(pro)q(cesses)i(\(arra)o(y)e(of)e(strings,)k(signi\014can)o(t)c(only)h
(at)905 1350 y(ro)q(ot)117 1425 y(IN)155 b Fk(ro)q(ot)508
b Fj(rank)13 b(of)f(pro)q(cess)j(in)d(whic)o(h)h(previous)g(argumen)o
(ts)f(are)i(v)n(alid)905 1482 y(\(in)o(teger\))117 1557
y(IN)155 b Fk(comm)470 b Fj(comm)o(unicator)7 b(of)i(group)g(of)g(spa)o
(wning)g(pro)q(cesses)j(\(handle\))117 1632 y(OUT)108
b Fk(intercomm)384 b Fj(in)o(tercomm)o(unicator)12 b(b)q(et)o(w)o(een)j
(original)d(group)i(and)g(newly)905 1688 y(spa)o(wned)h(group)e
(\(handle\))117 1763 y(OUT)108 b Fk(a)o(rra)o(y)p 416
1763 V 15 w(of)p 468 1763 V 16 w(errco)q(des)268 b Fj(one)14
b(error)h(co)q(de)g(p)q(er)g(pro)q(cess)g(\(arra)o(y)f(of)f(in)o
(teger\))75 1888 y Fi(int)23 b(MPI)p 245 1888 15 2 v
17 w(Spawn\(int*)g(count,)g(char*)g(array)p 955 1888
V 16 w(of)p 1019 1888 V 17 w(command)p 1204 1888 V 17
w(lines[],)393 1944 y(int*)g(array)p 635 1944 V 17 w(of)p
700 1944 V 17 w(minprocs,)g(int*)g(array)p 1195 1944
V 16 w(of)p 1259 1944 V 17 w(maxprocs,)393 2001 y(char*)g(array)p
659 2001 V 17 w(of)p 724 2001 V 17 w(info[],)g(int)g(root,)g(MPI)p
1242 2001 V 17 w(Comm)g(comm,)393 2057 y(MPI)p 468 2057
V 17 w(Comm*)g(intercomm,)g(int*)g(array)p 1130 2057
V 16 w(of)p 1194 2057 V 17 w(errcodes\))75 2144 y(MPI)p
150 2144 V 17 w(SPAWN\(COUNT,)f(ARRAY)p 597 2144 V 16
w(OF)p 661 2144 V 17 w(COMMAND)p 846 2144 V 17 w(LINES,)h(ARRAY)p
1150 2144 V 16 w(OF)p 1214 2144 V 17 w(MINPROCS,)393
2200 y(ARRAY)p 516 2200 V 17 w(OF)p 581 2200 V 17 w(MAXPROCS,)f(ARRAY)p
956 2200 V 17 w(OF)p 1021 2200 V 17 w(INFO,)h(ROOT,)g(COMM,)g
(INTERCOMM,)393 2257 y(ARRAY)p 516 2257 V 17 w(OF)p 581
2257 V 17 w(ERRCODES,)f(IERR\))170 2313 y(CHARACTER*\(*\))h(ARRAY)p
628 2313 V 16 w(OF)p 692 2313 V 17 w(COMMAND)p 877 2313
V 16 w(LINES\(*\),)g(ARRAY)p 1252 2313 V 16 w(OF)p 1316
2313 V 17 w(INFO)170 2370 y(INTEGER)g(COUNT,)g(ARRAY)p
651 2370 V 17 w(OF)p 716 2370 V 17 w(MINPROCS,)f(ARRAY)p
1091 2370 V 17 w(OF)p 1156 2370 V 17 w(MAXPROCS,)g(ROOT,)i(COMM,)170
2426 y(INTERCOMM,)f(ARRAY)p 556 2426 V 16 w(OF)p 620
2426 V 17 w(ERRCODES\(*\),)g(IERR)166 2512 y Fk(MPI)p
251 2512 14 2 v 16 w(SP)l(A)-5 b(WN)p 417 2512 V 17 w(MUL)l(TIPLE)12
b Fm(is)h(iden)o(tical)h(to)e Fk(MPI)p 1021 2512 V 16
w(SP)l(A)-5 b(WN)13 b Fm(except)g(that)f(there)h(are)f(m)o(ultiple)i
(exe-)75 2569 y(cutable)e(sp)q(eci\014cations.)20 b(The)12
b(\014rst)e(argumen)o(t,)h Fk(count)p Fm(,)i(giv)o(es)e(the)g(n)o(um)o
(b)q(er)h(of)e(sp)q(eci\014cations.)21 b(Eac)o(h)10 b(of)75
2625 y(the)k(next)g(four)g(argumen)o(ts)f(are)h(simply)i(arra)o(ys)c
(of)i(the)g(corresp)q(onding)h(argumen)o(ts)f(in)h Fk(MPI)p
1699 2625 V 15 w(SP)l(A)-5 b(WN)p Fm(.)1967 46 y Fg(1)1967
103 y(2)1967 159 y(3)1967 215 y(4)1967 272 y(5)1967 328
y(6)1967 385 y(7)1967 441 y(8)1967 498 y(9)1959 554 y(10)1959
611 y(11)1959 667 y(12)1959 724 y(13)1959 780 y(14)1959
836 y(15)1959 893 y(16)1959 949 y(17)1959 1006 y(18)1959
1062 y(19)1959 1119 y(20)1959 1175 y(21)1959 1232 y(22)1959
1288 y(23)1959 1345 y(24)1959 1401 y(25)1959 1457 y(26)1959
1514 y(27)1959 1570 y(28)1959 1627 y(29)1959 1683 y(30)1959
1740 y(31)1959 1796 y(32)1959 1853 y(33)1959 1909 y(34)1959
1966 y(35)1959 2022 y(36)1959 2078 y(37)1959 2135 y(38)1959
2191 y(39)1959 2248 y(40)1959 2304 y(41)1959 2361 y(42)1959
2417 y(43)1959 2474 y(44)1959 2530 y(45)1959 2587 y(46)1959
2643 y(47)1959 2699 y(48)p eop
%%Page: 5 6
5 5 bop 1852 -100 a Fm(5)166 49 y(All)25 b(of)f(the)g(spa)o(wned)g(pro)
q(cesses)h(ha)o(v)o(e)e(the)h(same)g Fk(MPI)p 1203 49
14 2 v 16 w(COMM)p 1361 49 V 16 w(W)o(ORLD)p Fm(.)g(Their)g(ranks)g(in)
75 106 y Fk(MPI)p 160 106 V 16 w(COMM)p 318 106 V 16
w(W)o(ORLD)13 b Fm(corresp)q(ond)g(directly)h(to)e(the)g(order)h(in)g
(whic)o(h)g(the)g(command)g(lines)h(are)e(sp)q(ec-)75
162 y(i\014ed)j(in)g Fk(MPI)p 309 162 V 16 w(SP)l(A)-5
b(WN)p 475 162 V 17 w(MUL)l(TIPLE)p Fm(.)13 b(Assume)i(that)e
Fd(m)1037 169 y Fc(1)1071 162 y Fm(pro)q(cesses)h(are)g(generated)g(b)o
(y)g(the)g(\014rst)g(com-)75 219 y(mand,)h Fd(m)254 226
y Fc(2)289 219 y Fm(b)o(y)g(the)h(second,)f(etc.)20 b(The)c(pro)q
(cesses)g(corresp)q(onding)g(to)f(the)g(\014rst)g(command)g(line)i(ha)o
(v)o(e)75 275 y(ranks)11 b(0)p Fd(;)d Fm(1)p Fd(;)g(:)g(:)g(:)t(;)g(m)
402 282 y Fc(1)424 275 y Ff(\000)s Fm(1.)19 b(The)12
b(pro)q(cesses)g(in)h(the)e(second)i(command)e(ha)o(v)o(e)h(ranks)f
Fd(m)1532 282 y Fc(1)1552 275 y Fd(;)d(m)1613 282 y Fc(1)1635
275 y Fm(+)s(1)p Fd(;)g(:)g(:)g(:)d(m)1817 282 y Fc(1)1840
275 y Fm(+)75 332 y Fd(m)115 339 y Fc(2)141 332 y Ff(\000)i
Fm(1.)19 b(The)14 b(pro)q(cesses)f(in)i(the)e(third)h(ha)o(v)o(e)f
(ranks)g Fd(m)1028 339 y Fc(1)1054 332 y Fm(+)7 b Fd(m)1136
339 y Fc(2)1156 332 y Fd(;)h(m)1217 339 y Fc(1)1242 332
y Fm(+)f Fd(m)1324 339 y Fc(2)1350 332 y Fm(+)g(1)p Fd(;)h(:)g(:)g(:)t
(;)g(m)1556 339 y Fc(1)1582 332 y Fm(+)f Fd(m)1664 339
y Fc(2)1690 332 y Fm(+)g Fd(m)1772 339 y Fc(3)1798 332
y Ff(\000)g Fm(1,)75 388 y(etc.)189 494 y Fh(A)n(dvic)n(e)17
b(to)i(users.)56 b Fm(If)18 b(y)o(ou)g(need)h(to)e(spa)o(wn)g(m)o
(ultiple)j(executables,)f(it)g(is)f(recommended)h(to)189
551 y(use)d Fk(MPI)p 353 551 V 16 w(SP)l(A)-5 b(WN)p
519 551 V 18 w(MUL)l(TIPLE)15 b Fm(instead)i(of)f(calling)j
Fk(MPI)p 1208 551 V 15 w(SP)l(A)-5 b(WN)18 b Fm(sev)o(eral)e(times.)25
b(There)16 b(are)189 607 y(t)o(w)o(o)11 b(reasons)h(for)h(this.)19
b(First,)13 b(spa)o(wning)g(sev)o(eral)g(things)g(at)f(once)h(ma)o(y)f
(b)q(e)i(faster)d(than)i(spa)o(wn-)189 664 y(ing)22 b(them)f(sequen)o
(tially)l(.)41 b(Second,)23 b(in)f(some)g(implemen)o(tations,)h(comm)o
(unication)g(b)q(et)o(w)o(een)189 720 y(pro)q(cesses)14
b(spa)o(wned)h(at)f(the)g(same)g(time)h(ma)o(y)e(b)q(e)j(faster)d(than)
h(comm)o(unication)h(b)q(et)o(w)o(een)g(pro-)189 777
y(cesses)g(spa)o(wned)h(separately)l(.)k(\()p Fh(End)15
b(of)i(advic)n(e)f(to)g(users.)p Fm(\))166 883 y(The)e
Fk(a)o(rra)o(y)p 356 883 V 14 w(of)p 407 883 V 16 w(errco)q(des)g
Fm(argumen)o(t)f(is)h(1-dimensional)i(arra)o(y)c(of)h(size)1375
851 y Fb(P)1419 864 y Fa(count)1419 894 y(i)p Fc(=1)1515
883 y Fd(n)1542 890 y Fa(i)1557 883 y Fm(,)g(where)h
Fd(n)1740 890 y Fa(i)1768 883 y Fm(is)g(the)75 939 y
Fd(i)p Fm(th)19 b(elemen)o(t)i(of)e Fk(a)o(rra)o(y)p
480 939 V 14 w(of)p 531 939 V 16 w(maxp)o(ro)q(cs)p Fm(.)33
b(Command)19 b(line)j(n)o(um)o(b)q(er)e Fd(i)f Fm(corresp)q(onds)h(to)f
Fd(n)1630 946 y Fa(i)1664 939 y Fm(con)o(tiguous)75 996
y(slots)c(in)h(this)g(arra)o(y)l(,)d(and)j(error)e(co)q(des)i(are)f
(treated)g(as)f(for)h Fk(MPI)p 1214 996 V 16 w(SP)l(A)-5
b(WN)p Fm(.)75 1117 y Fl(0.0.3)49 b(Environmental)17
b(inquiry)g(-)g(Prop)q(osal)g(1)75 1203 y Fm(MPI)e(do)q(es)h(not)e(pro)
o(vide)i(mec)o(hanisms)g(for)e(in)o(teracting)i(with)f(an)g(external)h
(resource)f(manager.)k(It)c(is)75 1260 y(assumed)i(that)g(all)h(suc)o
(h)g(in)o(teraction)f(will)i(o)q(ccur)f(through)f(a)g(run)o(time)g(en)o
(vironmen)o(t-sp)q(eci\014c)j(API,)75 1316 y(or,)15 b(indirectly)l(,)j
(through)d(the)h(opaque)g(\(to)f(MPI\))g(\\info")h(argumen)o(t)f(to)g
(the)h(spa)o(wn)g(calls.)22 b(Ho)o(w)o(ev)o(er,)75 1373
y(the)14 b(large)h(ma)s(jorit)o(y)e(of)h(\\dynamic")h(MPI)f
(applications)i(are)e(exp)q(ected)i(to)d(exist)i(in)g(a)f(static)h(run)
o(time)75 1429 y(en)o(vironmen)o(t,)h(in)h(whic)o(h)g(resources)f(ha)o
(v)o(e)f(b)q(een)i(allo)q(cated)g(b)q(efore)f(the)g(application)i(is)f
(run.)22 b(This)16 b(is)75 1486 y(the)j(case,)g(for)f(instance,)h(with)
g(most)f(PVM)g(applications,)j(whic)o(h)e(rarely)g(manipulate)h(the)e
(virtual)75 1542 y(mac)o(hine)d(within)g(an)f(application.)21
b(When)14 b(a)f(user)h(\(or)f(p)q(ossibly)j(a)d(batc)o(h)h(system\))f
(runs)h(one)g(of)g(these)75 1598 y(quasi-static)j(applications,)g
(he/she/it)g(will)h(usually)f(sp)q(ecify)h(a)e(n)o(um)o(b)q(er)g(of)g
(pro)q(cesses)g(to)g(start)f(and)75 1655 y(a)h(total)h(n)o(um)o(b)q(er)
g(of)f(pro)q(cesses)h(that)f(are)h(exp)q(ected.)26 b(An)17
b(application)h(simply)g(needs)g(to)e(kno)o(w)g(ho)o(w)75
1711 y(man)o(y)f(slots)g(there)g(are,)g(i.e.,)f(ho)o(w)h(man)o(y)g(pro)
q(cesses)g(it)h(should)g(spa)o(wn.)166 1768 y(MPI)h(pro)o(vides)h(an)g
(in)o(teger)f(v)m(ariable,)i Fk(MPI)p 943 1768 V 16 w(UNIVERSE)p
1173 1768 V 18 w(SIZE)p Fm(,)d(that)h(tells)h(an)g(application)h(the)75
1824 y(total)e(n)o(um)o(b)q(er)h(of)f(useful)h(pro)q(cess)g(slots)g(a)o
(v)m(ailable)h(to)e(an)g(application.)28 b(An)18 b(application)h(will)h
(t)o(ypi-)75 1881 y(cally)d(subtract)f(the)h(size)g(of)f
Fk(MPI)p 669 1881 V 15 w(COMM)p 826 1881 V 17 w(W)o(ORLD)g
Fm(from)f Fk(MPI)p 1211 1881 V 16 w(UNIVERSE)p 1441 1881
V 18 w(SIZE)h Fm(to)g(\014nd)h(out)e(ho)o(w)75 1937 y(man)o(y)f(pro)q
(cesses)g(it)h(should)g(spa)o(wn.)k Fk(MPI)p 821 1937
V 16 w(UNIVERSE)p 1051 1937 V 17 w(SIZE)14 b Fm(is)h(initialized)i(in)e
Fk(MPI)p 1562 1937 V 16 w(INIT)e Fm(and)i(is)f(not)75
1994 y(c)o(hanged)i(b)o(y)f(MPI.)166 2050 y Fk(MPI)p
251 2050 V 16 w(UNIVERSE)p 481 2050 V 17 w(SIZE)g Fm(is)h(a)e
(recommendation,)h(not)g(necessarily)h(a)f(hard)g(limit.)21
b(F)l(or)15 b(instance,)75 2107 y(some)20 b(implemen)o(tations)h(ma)o
(y)f(allo)o(w)g(an)g(application)i(to)e(spa)o(wn)g(50)f(pro)q(cesses)i
(p)q(er)g(pro)q(cessor,)f(if)75 2163 y(they)15 b(are)f(requested.)20
b(Ho)o(w)o(ev)o(er,)14 b(it)h(is)g(lik)o(ely)h(that)e(the)h(user)g
(only)g(w)o(an)o(ts)e(to)h(spa)o(wn)h(one)g(pro)q(cess)f(p)q(er)75
2219 y(pro)q(cessor.)166 2276 y Fk(MPI)p 251 2276 V 16
w(UNIVERSE)p 481 2276 V 17 w(SIZE)c Fm(is)h(assumed)f(to)g(ha)o(v)o(e)f
(b)q(een)j(sp)q(eci\014ed)g(when)f(an)f(application)i(w)o(as)d
(started,)75 2332 y(and)k(is)g(in)g(essence)h(a)e(p)q(ortable)h(mec)o
(hanism)g(to)f(allo)o(w)h(the)g(user)f(to)g(pass)h(to)f(the)g
(application)j(\(through)75 2389 y(the)g(MPI)h(pro)q(cess)f(startup)g
(mec)o(hanism\))h(a)f(piece)h(of)f(critical)i(run)o(time)f
(information.)k(Note)15 b(that)g(no)75 2445 y(in)o(teraction)h(with)g
(the)g(run)o(time)g(en)o(vironmen)o(t)g(is)g(required.)23
b(If)16 b(the)g(run)o(time)g(en)o(vironmen)o(t)g(c)o(hanges)75
2502 y(size)g(while)i(an)d(application)i(is)f(running)h
Fk(MPI)p 880 2502 V 16 w(UNIVERSE)p 1110 2502 V 17 w(SIZE)f
Fm(is)g(not)f(up)q(dated,)h(and)g(the)f(applica-)75 2558
y(tion)g(m)o(ust)g(\014nd)h(out)f(through)g(direct)h(comm)o(unication)f
(with)h(the)f(run)o(time)h(system.)-32 46 y Fg(1)-32
103 y(2)-32 159 y(3)-32 215 y(4)-32 272 y(5)-32 328 y(6)-32
385 y(7)-32 441 y(8)-32 498 y(9)-40 554 y(10)-40 611
y(11)-40 667 y(12)-40 724 y(13)-40 780 y(14)-40 836 y(15)-40
893 y(16)-40 949 y(17)-40 1006 y(18)-40 1062 y(19)-40
1119 y(20)-40 1175 y(21)-40 1232 y(22)-40 1288 y(23)-40
1345 y(24)-40 1401 y(25)-40 1457 y(26)-40 1514 y(27)-40
1570 y(28)-40 1627 y(29)-40 1683 y(30)-40 1740 y(31)-40
1796 y(32)-40 1853 y(33)-40 1909 y(34)-40 1966 y(35)-40
2022 y(36)-40 2078 y(37)-40 2135 y(38)-40 2191 y(39)-40
2248 y(40)-40 2304 y(41)-40 2361 y(42)-40 2417 y(43)-40
2474 y(44)-40 2530 y(45)-40 2587 y(46)-40 2643 y(47)-40
2699 y(48)p eop
%%Page: 6 7
6 6 bop 75 -100 a Fm(6)75 49 y Fl(0.0.4)49 b(Environmental)17
b(inquiry)g(-)g(Prop)q(osal)g(2)75 135 y Fm(While)d(general)g(resource)
f(managemen)o(t)g(is)g(b)q(ey)o(ond)h(the)f(scop)q(e)h(of)e(MPI,)h
(dynamic)h(applications)h(ma)o(y)75 192 y(need)c(to)f(kno)o(w)f(ho)o(w)
h(man)o(y)f(pro)q(cesses)i(they)f(can)h(start.)16 b(The)11
b(function)g Fk(MPI)p 1387 192 14 2 v 16 w(GET)p 1491
192 V 16 w(SP)l(A)-5 b(WNABLE)p 1769 192 V 18 w(SIZE)75
248 y Fm(queries)13 b(the)f(run)o(time)g(system)f(to)g(allo)o(w)h(the)g
(user)g(to)f(\014nd)i(out)e(ho)o(w)g(man)o(y)g(pro)q(cesses)i(ma)o(y)e
(b)q(e)h(started.)75 399 y Fk(MPI)p 160 399 V 16 w(GET)p
264 399 V 17 w(SP)l(A)-5 b(WNABLE)p 543 399 V 17 w(SIZE\(info,)14
b(size\))117 476 y Fj(IN)155 b Fk(info)516 b Fj(opaque)14
b(string)g(describing)g(resources)j(required)d(\(string\))117
551 y(OUT)108 b Fk(size)519 b Fj(n)o(um)o(b)q(er)13 b(of)h(pro)q
(cesses)i(that)e(ma)o(y)e(b)q(e)j(started)g(\(in)o(teger\))75
676 y Fi(int)23 b(MPI)p 245 676 15 2 v 17 w(Get)p 334
676 V 17 w(spawnable)p 567 676 V 16 w(size\(char*)f(info,)i(int*)f
(size\))75 762 y(MPI)p 150 762 V 17 w(GET)p 239 762 V
17 w(SPAWNABLE)p 472 762 V 15 w(SIZE\(info,)g(size\))170
819 y(CHARACTER*\(*\))g(info)170 875 y(INTEGER)g(size)166
962 y Fm(The)f Fk(info)f Fm(argumen)o(t)g(is)i(of)e(the)h(same)f(form)g
(as)g(the)h Fk(info)g Fm(argumen)o(t)e(of)i Fk(MPI)p
1591 962 14 2 v 16 w(SP)l(A)-5 b(WN)p Fm(.)22 b(It)f(is)75
1018 y(opaque)c(to)e(MPI)i(and)f(is)h(passed)g(directly)h(to)e(the)g
(run)o(time)h(en)o(vironmen)o(t,)g(whic)o(h)g(examines)g(it)g(and)75
1074 y(determines)f(ho)o(w)f(man)o(y)g(pro)q(cesses)g(could)h(b)q(e)g
(spa)o(wned)g(on)f(the)g(resources)g(describ)q(ed.)166
1131 y Fk(MPI)p 251 1131 V 16 w(GET)p 355 1131 V 16 w(SP)l(A)-5
b(WNABLE)p 633 1131 V 18 w(SIZE\(\))12 b Fm(returns)g(in)h
Fk(size)g Fm(the)f(n)o(um)o(b)q(er)h(of)f(pro)q(cesses)h(that)e(could)j
(prob-)75 1187 y(ably)k(b)q(e)f(spa)o(wned)h(succesfully)h(if)e
Fk(MPI)p 781 1187 V 16 w(SP)l(A)-5 b(WN\(\))18 b Fm(w)o(ere)e(called)j
(immediately)g(follo)o(wing.)26 b(There)17 b(is)75 1244
y(no)g(guaran)o(tee,)g(ho)o(w)o(ev)o(er,)f(that)h(a)g(subsequen)o(t)h
Fk(MPI)p 1014 1244 V 16 w(SP)l(A)-5 b(WN\(\))17 b Fm(on)g(the)h(same)f
(resources)g(describ)q(ed)75 1300 y(b)o(y)f Fk(info)f
Fm(can)h(spa)o(wn)g(that)f(n)o(um)o(b)q(er)h(of)f(pro)q(cesses.)22
b(An)17 b(MPI)e(implemen)o(tation)i(is)g(allo)o(w)o(ed)f(to)f(return)75
1357 y Fk(MPI)p 160 1357 V 16 w(ERR)p 261 1357 V 17 w(SIZE)p
371 1357 V 16 w(UNKNO)o(WN)i Fm(as)e(an)h(error)g(co)q(de)g(\(return)g
(v)m(alue)h(\(C\))e(or)h Fk(ierr)f Fm(argumen)o(t)g(\(F)l(ortran\)\))75
1413 y(if)i Fk(info)f Fm(is)g(not)g(empt)o(y)g(and)h(it)f(can)g(not)g
(\014nd)h(out)f(the)g(n)o(um)o(b)q(er)h(of)e(pro)q(cesses)i(that)e(ma)o
(y)h(b)q(e)h(spa)o(wned)75 1470 y(on)e(the)g(resources)h(describ)q(ed)h
(b)o(y)e Fk(info)p Fm(.)166 1526 y(Using)c(an)f(empt)o(y)g
Fk(info)g Fm(argumen)o(t,)g Fk(MPI)p 859 1526 V 15 w(GET)p
962 1526 V 17 w(SP)l(A)-5 b(WNABLE)p 1241 1526 V 18 w(SIZE\(\))9
b Fm(and)h Fk(MPI)p 1562 1526 V 16 w(SP)l(A)-5 b(WN\(\))11
b Fm(should)75 1583 y(allo)o(w)18 b(the)g(user)h(to)e(write)h(p)q
(ortable)h(co)q(de)g(without)f(calling)i(a)d(run)o(time-en)o(vironmen)o
(t)i(API,)f(e.g.)28 b(if)75 1639 y(he/she)16 b(w)o(an)o(ts)e(to)g
(split)i(the)f(a)o(v)m(ailable)i(resources)e(to)f(spa)o(wn)h
(di\013eren)o(t)h(executables)g(on)f(parts)f(of)h(the)75
1695 y(resources.)75 1817 y Fl(0.0.5)49 b(Nonblo)q(cking)18
b(requests)75 1903 y Fm(Spa)o(wning)e(new)g(pro)q(cesses)g(ma)o(y)f(b)q
(e)h(an)g(exp)q(ensiv)o(e)h(op)q(eration.)k(In)16 b(order)f(to)g(allo)o
(w)h(pro)q(cesses)g(to)f(do)75 1959 y(useful)i(w)o(ork)e(while)i(pro)q
(cesses)g(are)e(b)q(eing)j(spa)o(wned,)d(MPI)h(pro)o(vides)h(non-blo)q
(c)o(king)g(v)o(ersions)f(of)g(the)75 2016 y(eac)o(h)f(of)g(the)g(ab)q
(o)o(v)o(e)g(routines.)1967 46 y Fg(1)1967 103 y(2)1967
159 y(3)1967 215 y(4)1967 272 y(5)1967 328 y(6)1967 385
y(7)1967 441 y(8)1967 498 y(9)1959 554 y(10)1959 611
y(11)1959 667 y(12)1959 724 y(13)1959 780 y(14)1959 836
y(15)1959 893 y(16)1959 949 y(17)1959 1006 y(18)1959
1062 y(19)1959 1119 y(20)1959 1175 y(21)1959 1232 y(22)1959
1288 y(23)1959 1345 y(24)1959 1401 y(25)1959 1457 y(26)1959
1514 y(27)1959 1570 y(28)1959 1627 y(29)1959 1683 y(30)1959
1740 y(31)1959 1796 y(32)1959 1853 y(33)1959 1909 y(34)1959
1966 y(35)1959 2022 y(36)1959 2078 y(37)1959 2135 y(38)1959
2191 y(39)1959 2248 y(40)1959 2304 y(41)1959 2361 y(42)1959
2417 y(43)1959 2474 y(44)1959 2530 y(45)1959 2587 y(46)1959
2643 y(47)1959 2699 y(48)p eop
%%Page: 7 8
7 7 bop 1852 -100 a Fm(7)75 49 y Fk(MPI)p 160 49 14 2
v 16 w(ISP)l(A)-5 b(WN\(...,)14 b(request\))117 126 y
Fj(OUT)108 b Fk(request)452 b Fj(Request)15 b(ob)r(ject)g(that)f(can)g
(b)q(e)h(used)g(to)f(c)o(hec)o(k)h(for)e(comple-)905
183 y(tion)h(\(handle\))75 402 y Fk(MPI)p 160 402 V 16
w(ISP)l(A)-5 b(WN)p 339 402 V 17 w(MUL)l(TIPLE\(...,)12
b(request\))117 479 y Fj(OUT)108 b Fk(request)452 b Fj(Request)15
b(ob)r(ject)g(that)f(can)g(b)q(e)h(used)g(to)f(c)o(hec)o(k)h(for)e
(comple-)905 536 y(tion)h(\(handle\))166 660 y Fm(The)22
b(argumen)o(ts)f(of)g(the)h(non-blo)q(c)o(king)h(v)o(ersions)f(are)g
(the)f(same)h(as)f(those)h(of)f(the)h(blo)q(c)o(king)75
716 y(v)o(ersions,)16 b(except)h(that)f(there)h(is)g(an)f(additional)i
Fk(request)g Fm(argumen)o(t.)23 b(The)16 b(request)h(can)f(b)q(e)h
(used)g(as)75 773 y(input)f(for)f Fk(MPI)p 351 773 V
16 w(W)l(AIT)p Fm(,)f Fk(MPI)p 589 773 V 16 w(TEST)p
Fm(,)h(etc.)166 829 y(In)23 b(all)g(cases,)g(the)g(output)f
Fk(group)g Fm(or)f Fk(intercomm)p Fm(,)h(and)h(the)f
Fk(a)o(rra)o(y)p 1386 829 V 15 w(of)p 1438 829 V 16 w(errco)q(des)g
Fm(are)g(up)q(dated)75 886 y(async)o(hronously)16 b(and)f(are)g(not)g
(v)m(alid)h(un)o(til)h(the)e(request)g(completes.)166
942 y(The)f(status)f(ob)s(ject)h(returned)g(b)o(y)g Fk(MPI)p
858 942 V 16 w(W)l(AIT)g Fm(con)o(tains)g(an)g(error)f(co)q(de)h
(indicating)i(whether)e(or)75 999 y(not)h(the)h(spa)o(wn)f(w)o(as)g
(successful.)22 b(The)15 b(failure)i(or)e(success)h(of)f(individual)k
(pro)q(cesses)d(is)g(indicated)h(in)75 1055 y Fk(a)o(rra)o(y)p
173 1055 V 15 w(of)p 225 1055 V 16 w(errco)q(des)p Fm(.)k(The)16
b(errorco)q(de)g(can)f(b)q(e)i(retriev)o(ed)f(as)f(the)h
Fk(MPI)p 1280 1055 V 15 w(ERROR)i Fm(elemen)o(t)e(of)f(the)h(status)75
1112 y(ob)s(ject)f(returned)g(b)o(y)g Fk(MPI)p 545 1112
V 16 w(W)l(AIT)p Fm(,)g Fk(MPI)p 784 1112 V 16 w(TEST)p
Fm(,)g(etc.)166 1168 y(All)k(of)e(the)g(routines)h(in)g(this)g(section)
g(are)g(collectiv)o(e,)h(and)f(ob)q(ey)f(the)h(follo)o(wing)g(non-blo)q
(c)o(king)75 1225 y(collectiv)o(e)f(seman)o(tics.)143
1318 y Ff(\017)23 b Fm(Eac)o(h)11 b(call)i(is)f(collectiv)o(e)h(o)o(v)o
(er)e(the)h(calling)h(comm)o(unicator)e(and)h(the)g(newly)g(spa)o(wned)
g(pro)q(cesses.)143 1412 y Ff(\017)23 b Fm(The)17 b(request)g(ma)o(y)g
(not)f(b)q(e)i(cancelled.)28 b(An)18 b(attempt)e(to)g(cancel)j(the)e
(request)g(will)i(return)e(an)189 1469 y(error)d(of)h(error)f(class)i
Fk(MPI)p 655 1469 V 16 w(ERR)p 756 1469 V 17 w(REQUEST)p
Fm(.)-32 46 y Fg(1)-32 103 y(2)-32 159 y(3)-32 215 y(4)-32
272 y(5)-32 328 y(6)-32 385 y(7)-32 441 y(8)-32 498 y(9)-40
554 y(10)-40 611 y(11)-40 667 y(12)-40 724 y(13)-40 780
y(14)-40 836 y(15)-40 893 y(16)-40 949 y(17)-40 1006
y(18)-40 1062 y(19)-40 1119 y(20)-40 1175 y(21)-40 1232
y(22)-40 1288 y(23)-40 1345 y(24)-40 1401 y(25)-40 1457
y(26)-40 1514 y(27)-40 1570 y(28)-40 1627 y(29)-40 1683
y(30)-40 1740 y(31)-40 1796 y(32)-40 1853 y(33)-40 1909
y(34)-40 1966 y(35)-40 2022 y(36)-40 2078 y(37)-40 2135
y(38)-40 2191 y(39)-40 2248 y(40)-40 2304 y(41)-40 2361
y(42)-40 2417 y(43)-40 2474 y(44)-40 2530 y(45)-40 2587
y(46)-40 2643 y(47)-40 2699 y(48)p eop
%%Trailer
end
userdict /end-hook known{end-hook}if
%%EOF