Bill
%!PS-Adobe-2.0
%%Creator: dvipsk 5.58f Copyright 1986, 1994 Radical Eye Software
%%Title: main.dvi
%%Pages: 15
%%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.10:1709
%%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 1 106 df<00E001E001E000C000000000000000000000000000000E001300
23804380438043808700070007000E000E001C001C001C20384038403840388019000E00
0B1F7E9E10>105 D E /Fb 1 16 df<03C00FF01FF83FFC7FFE7FFEFFFFFFFFFFFFFFFF
FFFFFFFF7FFE7FFE3FFC1FF80FF003C010127D9317>15 D E /Fc
1 61 df<0000038000000F0000003C000000F0000003C000000F0000003C000000F00000
03C000000F0000003C000000F0000000F00000003C0000000F00000003C0000000F00000
003C0000000F00000003C0000000F00000003C0000000F000000038019187D9520>60
D E /Fd 37 122 df<01F1C003F1C007F1C00701C00E01C00E01C00E01C00E01C00E01C0
0E01C00E01C0FFF1C0FFF1C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C0
0E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C0121D809C16>13
D<001C0000003E0000003E0000002E0000006700000067000000E7800000C7800000C380
0001C3C0000183C0000181C0000381E0000381E0000700F0000700F0000600F0000E0078
000FFFF8000FFFF8001C003C001C003C0018003C0038001E0038001E0070001F0070000F
0070000F00E0000780191D7F9C1C>65 D<003FC000FFF003C0F00780300F00001E00003C
00003C0000780000780000780000F00000F00000F00000F00000F00000F00000F00000F0
0000F000007800007800007800003C00003C00001E00000F000807801803C07800FFF000
3F80151F7D9D1B>67 D<FFFC00FFFF00F00F80F003E0F001F0F000F0F00078F00038F000
3CF0003CF0001CF0001EF0001EF0001EF0001EF0001EF0001EF0001EF0001EF0003CF000
3CF0003CF00078F000F0F000F0F003E0F00FC0FFFF00FFFC00171D7C9C1E>I<FFFFC0FF
FFC0F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000FF
FF80FFFF80F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F0
0000F00000FFFFC0FFFFC0121D7C9C19>I<003F8001FFF003C0F80780380F00181E0000
3C00003C0000780000780000780000F00000F00000F00000F00000F00000F00000F007F8
F007F8F000387800387800387800383C00383C00381E00380F003807803803C0F801FFF0
003F80151F7D9D1C>71 D<F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
F0F0F0F0041D7C9C0C>73 D<F000F000F000F000F000F000F000F000F000F000F000F000
F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000FFFEFFFE0F1D
7C9C16>76 D<FC0007E0FC0007E0FC0007E0EE000DE0EE000DE0EE000DE0E70019E0E700
19E0E70019E0E78039E0E38031E0E3C071E0E3C071E0E1C061E0E1C061E0E1E0E1E0E1E0
E1E0E0E0C1E0E0F1C1E0E07181E0E07181E0E07181E0E03B01E0E03B01E0E03B01E0E01E
01E0E01E01E0E01E01E0E00001E01B1D7C9C24>I<FC0070FC0070FE0070EE0070EF0070
E70070E70070E78070E38070E3C070E3C070E1E070E1E070E0E070E0F070E07070E07870
E07870E03C70E03C70E01C70E01E70E00E70E00E70E00F70E00770E007F0E003F0E003F0
141D7C9C1D>I<003F000001FFE00003FFF00007C0F8000F807C001E001E003E001F003C
000F00780007807800078078000780F00003C0F00003C0F00003C0F00003C0F00003C0F0
0003C0F00003C0F00003C0F80007C078000780780007807C000F803C000F003E001F001F
003E000F807C0007C0F80003FFF00001FFE000003F00001A1F7E9D1F>I<FFFC00FFFF00
F00F80F003C0F001E0F000F0F000F0F000F0F000F0F000F0F000F0F001E0F003E0F00FC0
FFFF80FFFE00F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000
F00000F00000F00000141D7C9C1B>I<FFF800FFFF00F00F80F003C0F001E0F000F0F000
F0F000F0F000F0F000F0F001E0F003E0F00FC0FFFF80FFFF00FFF800F03C00F01C00F01E
00F00F00F00F00F00780F00780F003C0F003C0F001E0F000F0F000F0F00078151D7C9C1B
>82 D<03F8000FFE001C0F00380700700300600000E00000E00000E00000E00000F00000
7800007F00003FE0001FFC0007FE0001FF00001F800007800003C00003C00001C00001C0
0001C00001C0C00180E00380F007007C0E001FFC0007F000121F7E9D17>I<FFFFFF80FF
FFFF80001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E000000
1E0000001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E000000
1E0000001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E000000
1E0000191D7F9C1C>I<F00070F00070F00070F00070F00070F00070F00070F00070F000
70F00070F00070F00070F00070F00070F00070F00070F00070F00070F00070F00070F000
70F00070F000707800E07800E03C01C01E03800F078007FE0001F800141E7C9C1D>I<F0
00F00070F000F80070F000F800707800B8006078019C00E078019C00E078019C00E03C03
9C01C03C031E01C03C030E01C01E030E01801E070F03801E070F03801E060703800F0607
03000F0E0787000F0C078700070C038600070C038600078C038E00079803CE00039801CC
00039801CC00039801CC0001D001C80001D000D80001F000F80001E000F80000E0007000
241D7F9C27>87 D<F80001E07C0001C03E0003801E0007801F0007000F800E0007801E00
07C01C0003E03C0001E0380001F0700000F0F0000078E000007DC000003FC000001F8000
001F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000
000F0000000F0000000F0000000F00001B1D809C1C>89 D<0FC03FF07FF87038401C001C
001C00FC0FFC3FFC781CE01CE01CE01CF07C7FFC7FDC3F1C0E127E9114>97
D<07E00FF81FFC3C1C70047000E000E000E000E000E000E000700070043C1C1FFC0FF807
E00E127E9112>99 D<000E000E000E000E000E000E000E000E000E000E000E0F8E1FEE3F
FE7C3E700E700EE00EE00EE00EE00EE00EE00EF00E701E7C3E3FFE1FEE0F8E0F1D7E9C15
>I<07C01FE03FF078787018601CFFFCFFFCFFFCE000E000E000700070043C1C3FFC1FF8
07E00E127E9112>I<00FC01FC03FC07000E000E000E000E000E000E000E00FFE0FFE00E
000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E1D809C0D
>I<03C3C00FFFC01FFFC01C3800381C00381C00381C00381C00381C001C38001FF8001F
F0003BC0003800003800001FFC001FFF003FFF80700780E001C0E001C0E001C0F003C07C
0F803FFF001FFE0007F800121B7F9115>I<F0F0F0F00000000000000070707070707070
7070707070707070707070041D7E9C0A>105 D<E3F03F00EFF8FF80FFFDFFC0F81F81E0
F00F00E0E00E00E0E00E00E0E00E00E0E00E00E0E00E00E0E00E00E0E00E00E0E00E00E0
E00E00E0E00E00E0E00E00E0E00E00E0E00E00E01B127D9122>109
D<E3E0EFF0FFF8F83CF01CE01CE01CE01CE01CE01CE01CE01CE01CE01CE01CE01CE01CE0
1C0E127D9115>I<03F0000FFC001FFE003C0F00780780700380E001C0E001C0E001C0E0
01C0E001C0F003C07003807807803C0F001FFE000FFC0003F00012127F9115>I<E3E0EF
F0FFF8F87CF01CE01EE00EE00EE00EE00EE00EE00EE01CF03CF87CFFF8EFF0E3C0E000E0
00E000E000E000E000E000E0000F1A7D9115>I<078E1FEE3FFE7C3E781E700EE00EE00E
E00EE00EE00EE00EF00E701E7C3E3FFE1FEE0F8E000E000E000E000E000E000E000E000E
0F1A7E9115>I<E380E780EF80FC00F800F000F000E000E000E000E000E000E000E000E0
00E000E000E00009127D910E>I<1FC03FF07FF0F030E000E000F0007F003FC01FE000F0
003800388038F078FFF07FE01FC00D127F9110>I<1C001C001C001C001C001C00FFE0FF
E01C001C001C001C001C001C001C001C001C001C001C001C001C201FF00FF007C00C187F
970F>I<E01CE01CE01CE01CE01CE01CE01CE01CE01CE01CE01CE01CE01CE01CE07CFFFC
7FDC3F1C0E127D9115>I<E007E0077006700E700E381C381C381C1C381C381C380E700E
700660076007E003C003C010127F9113>I<7003807807003C0E001C1C000E1C00073800
03F00001E00001C00001E00003F0000738000E18000E1C001C0E00380700700380F003C0
1212809113>120 D<E007E007700E700E780E381C381C1C181C380C380E300E70067007
60036003C001C001C001800180030003000700FE00FC00F800101A7F9113>I
E /Fe 10 58 df<1F00318060C04040C060C060C060C060C060C060C060C060404060C0
31801F000B107F8F0F>48 D<0C003C00CC000C000C000C000C000C000C000C000C000C00
0C000C000C00FF8009107E8F0F>I<1F00618040C08060C0600060006000C00180030006
000C00102020207FC0FFC00B107F8F0F>I<1F00218060C060C000C0008001800F000080
00400060C060C060804060801F000B107F8F0F>I<0300030007000F000B001300330023
004300C300FFE003000300030003001FE00B107F8F0F>I<20803F002C00200020002000
2F0030802040006000600060C06080C061801F000B107F8F0F>I<0780184030C060C060
00C000CF00F080E040C060C060C060406060C030801F000B107F8F0F>I<40007FE07FC0
8080808001000200040004000C0008000800180018001800180018000B117E900F>I<1F
00318060C060C060C071803F000F00338061C0C060C060C060404060801F000B107F8F0F
>I<1F00318060C0C040C060C060C06040E021E01E600060004060C0608043003E000B10
7F8F0F>I E /Ff 54 122 df<007000F001E003C007800F001E001C0038003800700070
0070007000E000E000E000E000E000E000E000E0007000700070007000380038001C001E
000F00078003C001F000F000700C24799F18>40 D<6000F00078003C001E000F00078003
8001C001C000E000E000E000E00070007000700070007000700070007000E000E000E000
E001C001C0038007800F001E003C007800F00060000C247C9F18>I<01C00001C00001C0
0001C000C1C180F1C780F9CF807FFF001FFC0007F00007F0001FFC007FFF00F9CF80F1C7
80C1C18001C00001C00001C00001C00011147D9718>I<1C3E7E7F3F1F070E1E7CF86008
0C788518>44 D<07F8001FFE003FFF007807807803C07801C03001C00001C00003C00003
80000F0003FF0003FE0003FF000007800003C00001C00000E00000E00000E0F000E0F000
E0F001C0F003C07C07803FFF001FFE0003F800131C7E9B18>51 D<1FFF803FFF803FFF80
3800003800003800003800003800003800003800003800003BF8003FFE003FFF003C0780
1803C00001C00000E00000E06000E0F000E0F000E0E001C07003C07C0F803FFF001FFC00
03F000131C7E9B18>53 D<00700000F80000F80000D80000D80001DC0001DC0001DC0001
8C00038E00038E00038E00038E000306000707000707000707000707000FFF800FFF800F
FF800E03800E03801C01C01C01C07F07F0FF8FF87F07F0151C7F9B18>65
D<00F8E003FEE007FFE00F07E01E03E03C01E03800E07000E07000E0700000E00000E000
00E00000E00000E00000E00000E00000E000007000007000E07000E03800E03C00E01E01
C00F07C007FF8003FE0000F800131C7E9B18>67 D<7FF800FFFE007FFF001C0F801C03C0
1C03C01C01E01C00E01C00E01C00F01C00701C00701C00701C00701C00701C00701C0070
1C00701C00F01C00E01C00E01C01E01C01C01C03C01C0F807FFF00FFFE007FF800141C7F
9B18>I<FFFFF0FFFFF0FFFFF01C00701C00701C00701C00701C00001C00001C0E001C0E
001C0E001FFE001FFE001FFE001C0E001C0E001C0E001C00001C00001C00381C00381C00
381C00381C0038FFFFF8FFFFF8FFFFF8151C7F9B18>I<FFFFE0FFFFE0FFFFE01C00E01C
00E01C00E01C00E01C00001C00001C1C001C1C001C1C001FFC001FFC001FFC001C1C001C
1C001C1C001C00001C00001C00001C00001C00001C00001C0000FFC000FFC000FFC00013
1C7E9B18>I<01F1C003FDC00FFFC01F0FC01C03C03803C03801C07001C07001C0700000
E00000E00000E00000E00000E00000E00FF0E01FF0E00FF07001C07001C07003C03803C0
3803C01C07C01F0FC00FFFC003FDC001F1C0141C7E9B18>I<7F07F0FF8FF87F07F01C01
C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01FFFC01FFFC01FFFC01C01
C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C07F07F0FF8FF87F07
F0151C7F9B18>I<7FFF00FFFF807FFF0001C00001C00001C00001C00001C00001C00001
C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001
C00001C00001C00001C0007FFF00FFFF807FFF00111C7D9B18>I<7F07F0FF87F87F07F0
1C03C01C07801C07001C0E001C1E001C3C001C38001C70001CF0001DF0001DF0001FB800
1FB8001F1C001E1C001C0E001C0E001C07001C07001C03801C03801C01C07F03F0FF87F8
7F03F0151C7F9B18>75 D<7FE000FFE0007FE0000E00000E00000E00000E00000E00000E
00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E
00700E00700E00700E00700E00707FFFF0FFFFF07FFFF0141C7F9B18>I<FC01F8FE03F8
FE03F83B06E03B06E03B06E03B06E03B8EE03B8EE0398CE0398CE039DCE039DCE039DCE0
38D8E038D8E038F8E03870E03870E03800E03800E03800E03800E03800E03800E0FE03F8
FE03F8FE03F8151C7F9B18>I<7E07F0FF0FF87F07F01D81C01D81C01D81C01DC1C01CC1
C01CC1C01CE1C01CE1C01CE1C01C61C01C71C01C71C01C31C01C39C01C39C01C39C01C19
C01C19C01C1DC01C0DC01C0DC01C0DC07F07C0FF87C07F03C0151C7F9B18>I<0FF8003F
FE007FFF00780F00700700F00780E00380E00380E00380E00380E00380E00380E00380E0
0380E00380E00380E00380E00380E00380E00380E00380E00380F00780700700780F007F
FF003FFE000FF800111C7D9B18>I<FFFE00FFFF80FFFFC01C03C01C01E01C00E01C0070
1C00701C00701C00701C00701C00E01C01E01C03C01FFFC01FFF801FFE001C00001C0000
1C00001C00001C00001C00001C00001C0000FF8000FF8000FF8000141C7F9B18>I<0FF8
003FFE007FFF00780F00700700F00780E00380E00380E00380E00380E00380E00380E003
80E00380E00380E00380E00380E00380E00380E00380E1E380E1E380F0E78070F700787F
007FFF003FFE000FFC00001C00001E00000E00000F0000070000070011227D9B18>I<7F
F800FFFE007FFF001C0F801C03801C03C01C01C01C01C01C01C01C03C01C03801C0F801F
FF001FFE001FFE001C0F001C07001C03801C03801C03801C03801C03801C039C1C039C1C
039C7F01F8FF81F87F00F0161C7F9B18>I<03F3801FFF803FFF807C0F80700780E00380
E00380E00380E000007000007800003F00001FF00007FE0000FF00000F800003C00001C0
0000E00000E06000E0E000E0E001E0F001C0F80780FFFF80FFFE00E7F800131C7E9B18>
I<7FFFF8FFFFF8FFFFF8E07038E07038E07038E070380070000070000070000070000070
000070000070000070000070000070000070000070000070000070000070000070000070
0000700007FF0007FF0007FF00151C7F9B18>I<FF83FEFF83FEFF83FE1C00701C00701C
00701C00701C00701C00701C00701C00701C00701C00701C00701C00701C00701C00701C
00701C00701C00701C00701C00700E00E00F01E00783C003FF8001FF00007C00171C809B
18>I<FF07F8FF07F8FF07F81C01C01C01C01C01C01C01C00E03800E03800E03800E0380
0F0780070700070700070700070700038E00038E00038E00038E00018C0001DC0001DC00
01DC0000D80000F80000F800007000151C7F9B18>I<FE03F8FE03F8FE03F87000707000
707000703800E03800E03800E03800E03800E038F8E038F8E039DCE039DCE019DCC019DC
C019DCC0198CC01D8DC01D8DC01D8DC01D8DC00D8D800D05800F07800F07800E0380151C
7F9B18>I<7F8FE07F9FE07F8FE00E07000F0700070E00078E00039C0003DC0001F80001
F80000F00000F00000700000F00000F80001F80001DC00039E00038E00070F000707000E
07800E03801E03C07F07F0FF8FF87F07F0151C7F9B18>I<FF07F8FF07F8FF07F81C01C0
1E03C00E03800F0780070700070700038E00038E0001DC0001DC0001DC0000F80000F800
00700000700000700000700000700000700000700000700000700001FC0003FE0001FC00
151C7F9B18>I<FFF8FFF8FFF8E000E000E000E000E000E000E000E000E000E000E000E0
00E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E0
00FFF8FFF8FFF80D24779F18>91 D<FFF8FFF8FFF8003800380038003800380038003800
380038003800380038003800380038003800380038003800380038003800380038003800
380038003800380038FFF8FFF8FFF80D247F9F18>93 D<1FE0003FF8007FFC00781E0030
0E0000070000070000FF0007FF001FFF007F0700780700E00700E00700E00700F00F0078
1F003FFFF01FFBF007E1F014147D9318>97 D<01FE0007FF001FFF803E07803803007000
00700000E00000E00000E00000E00000E00000E000007000007001C03801C03E03C01FFF
8007FF0001FC0012147D9318>99 D<001F80003F80001F80000380000380000380000380
00038003E3800FFB801FFF803C1F80380F80700780700380E00380E00380E00380E00380
E00380E00380700780700780380F803C1F801FFFF00FFBF803E3F0151C7E9B18>I<01F0
0007FC001FFE003E0F00380780700380700380E001C0E001C0FFFFC0FFFFC0FFFFC0E000
007000007001C03801C03E03C01FFF8007FF0001FC0012147D9318>I<001F80007FC000
FFE000E1E001C0C001C00001C00001C0007FFFC0FFFFC0FFFFC001C00001C00001C00001
C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C0007FFF007F
FF007FFF00131C7F9B18>I<01E1F007FFF80FFFF81E1E301C0E00380700380700380700
3807003807001C0E001E1E001FFC001FF80039E0003800001C00001FFE001FFFC03FFFE0
7801F0700070E00038E00038E00038E000387800F07E03F01FFFC00FFF8001FC00151F7F
9318>I<7E0000FE00007E00000E00000E00000E00000E00000E00000E3E000EFF800FFF
C00FC1C00F80E00F00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00
E00E00E00E00E07FC3FCFFE7FE7FC3FC171C809B18>I<03800007C00007C00007C00003
80000000000000000000000000007FC000FFC0007FC00001C00001C00001C00001C00001
C00001C00001C00001C00001C00001C00001C00001C00001C00001C000FFFF00FFFF80FF
FF00111D7C9C18>I<FE0000FE0000FE00000E00000E00000E00000E00000E00000E3FF0
0E7FF00E3FF00E07800E0F000E1E000E3C000E78000EF0000FF8000FFC000F9C000F0E00
0E0F000E07000E03800E03C0FFC7F8FFC7F8FFC7F8151C7F9B18>107
D<7FE000FFE0007FE00000E00000E00000E00000E00000E00000E00000E00000E00000E0
0000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E0
0000E0007FFFC0FFFFE07FFFC0131C7E9B18>I<7CE0E000FFFBF8007FFFF8001F1F1C00
1E1E1C001E1E1C001C1C1C001C1C1C001C1C1C001C1C1C001C1C1C001C1C1C001C1C1C00
1C1C1C001C1C1C001C1C1C001C1C1C007F1F1F00FFBFBF807F1F1F001914819318>I<7E
3E00FEFF807FFFC00FC1C00F80E00F00E00E00E00E00E00E00E00E00E00E00E00E00E00E
00E00E00E00E00E00E00E00E00E07FC3FCFFE7FE7FC3FC1714809318>I<01F0000FFE00
1FFF003E0F803803807001C07001C0E000E0E000E0E000E0E000E0E000E0F001E07001C0
7803C03C07803E0F801FFF000FFE0001F00013147E9318>I<7E3E00FEFF807FFFC00FC1
E00F80E00F00700E00700E00380E00380E00380E00380E00380E00380F00700F00700F80
E00FC1E00FFFC00EFF800E3E000E00000E00000E00000E00000E00000E00000E00007FC0
00FFE0007FC000151E809318>I<01E38007FB801FFF803E1F80380F80700780700780E0
0380E00380E00380E00380E00380E00380700780700780380F803C1F801FFF800FFB8003
E380000380000380000380000380000380000380000380003FF8003FF8003FF8151E7E93
18>I<7F87E0FF9FF07FBFF803F87803F03003E00003C00003C000038000038000038000
0380000380000380000380000380000380007FFE00FFFF007FFE0015147F9318>I<07F7
003FFF007FFF00780F00E00700E00700E007007C00007FE0001FFC0003FE00001F006007
80E00380E00380F00380F80F00FFFF00FFFC00E7F00011147D9318>I<01800003800003
80000380000380007FFFC0FFFFC0FFFFC003800003800003800003800003800003800003
80000380000380000380400380E00380E00380E001C1C001FFC000FF80003E0013197F98
18>I<7E07E0FE0FE07E07E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E0
0E00E00E00E00E00E00E00E00E01E00F03E007FFFC03FFFE01FCFC1714809318>I<7F8F
F0FF8FF87F8FF01E03C00E03800E03800E0380070700070700070700038E00038E00038E
00038E0001DC0001DC0001DC0000F80000F80000700015147F9318>I<FF8FF8FF8FF8FF
8FF83800E03800E03800E01C01C01C01C01C71C01CF9C01CF9C01CD9C01CD9C00DDD800D
DD800DDD800D8D800F8F800F8F8007070015147F9318>I<7F8FF07F9FF07F8FF0070700
078E00039E0001DC0001F80000F80000700000F00000F80001DC00039E00038E00070700
0F07807F8FF0FF8FF87F8FF015147F9318>I<7F8FF0FF8FF87F8FF00E01C00E03800E03
80070380070700070700038700038600038E0001CE0001CE0000CC0000CC0000DC000078
0000780000780000700000700000700000F00000E00079E0007BC0007F80003F00001E00
00151E7F9318>I E /Fg 52 123 df<007E1F0001C1B1800303E3C00703C3C00E03C180
0E01C0000E01C0000E01C0000E01C0000E01C0000E01C000FFFFFC000E01C0000E01C000
0E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C000
0E01C0000E01C0000E01C0000E01C0000E01C0007F87FC001A1D809C18>11
D<007E0001C1800301800703C00E03C00E01800E00000E00000E00000E00000E0000FFFF
C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01
C00E01C00E01C00E01C00E01C07F87F8151D809C17>I<007FC001C1C00303C00703C00E
01C00E01C00E01C00E01C00E01C00E01C00E01C0FFFFC00E01C00E01C00E01C00E01C00E
01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C07F
CFF8151D809C17>I<003F07E00001C09C18000380F018000701F03C000E01E03C000E00
E018000E00E000000E00E000000E00E000000E00E000000E00E00000FFFFFFFC000E00E0
1C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C
000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C00
0E00E01C007FC7FCFF80211D809C23>I<6060F0F0F8F868680808080808081010101020
20404080800D0C7F9C15>34 D<60F0F8680808081010204080050C7C9C0C>39
D<004000800100020006000C000C0018001800300030007000600060006000E000E000E0
00E000E000E000E000E000E000E000E000E000600060006000700030003000180018000C
000C00060002000100008000400A2A7D9E10>I<800040002000100018000C000C000600
060003000300038001800180018001C001C001C001C001C001C001C001C001C001C001C0
01C0018001800180038003000300060006000C000C00180010002000400080000A2A7E9E
10>I<60F0F0701010101020204080040C7C830C>44 D<FFE0FFE00B0280890E>I<60F0F0
6004047C830C>I<00010003000600060006000C000C000C001800180018003000300030
0060006000C000C000C0018001800180030003000300060006000C000C000C0018001800
1800300030003000600060006000C000C00010297E9E15>I<030007003F00C700070007
000700070007000700070007000700070007000700070007000700070007000700070007
00070007000F80FFF80D1C7C9B15>49 D<000600000006000000060000000F0000000F00
00000F00000017800000178000001780000023C0000023C0000023C0000041E0000041E0
000041E0000080F0000080F0000180F8000100780001FFF80003007C0002003C0002003C
0006003E0004001E0004001E000C001F001E001F00FF80FFF01C1D7F9C1F>65
D<FFFFF80F00780F00180F00080F00080F000C0F00040F00040F02040F02000F02000F02
000F06000FFE000F06000F02000F02000F02000F02000F00000F00000F00000F00000F00
000F00000F00000F8000FFF800161C7E9B1B>70 D<FFF3FFC00F003C000F003C000F003C
000F003C000F003C000F003C000F003C000F003C000F003C000F003C000F003C000F003C
000FFFFC000F003C000F003C000F003C000F003C000F003C000F003C000F003C000F003C
000F003C000F003C000F003C000F003C000F003C00FFF3FFC01A1C7E9B1F>72
D<FFF00F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F
000F000F000F000F000F000F000F000F000F00FFF00C1C7F9B0F>I<FF8000FF800F8000
F8000F8000F8000BC00178000BC00178000BC001780009E002780009E002780008F00478
0008F004780008F0047800087808780008780878000878087800083C107800083C107800
083C107800081E207800081E207800081E207800080F407800080F407800080780780008
07807800080780780008030078001C03007800FF8307FF80211C7E9B26>77
D<FF007FC00F800E000F8004000BC0040009E0040009E0040008F0040008F80400087804
00083C0400083C0400081E0400080F0400080F0400080784000807C4000803C4000801E4
000801E4000800F40008007C0008007C0008003C0008003C0008001C0008000C001C000C
00FF8004001A1C7E9B1F>I<003F800000E0E0000380380007001C000E000E001C000700
3C00078038000380780003C0780003C0700001C0F00001E0F00001E0F00001E0F00001E0
F00001E0F00001E0F00001E0F00001E0700001C0780003C0780003C0380003803C000780
1C0007000E000E0007001C000380380000E0E000003F80001B1E7E9C20>I<FFFF800F00
E00F00780F003C0F001C0F001E0F001E0F001E0F001E0F001E0F001C0F003C0F00780F00
E00FFF800F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00
000F0000FFF000171C7E9B1C>I<07E0801C1980300580700380600180E00180E00080E0
0080E00080F00000F800007C00007FC0003FF8001FFE0007FF0000FF80000F800007C000
03C00001C08001C08001C08001C0C00180C00180E00300D00200CC0C0083F800121E7E9C
17>83 D<7FFFFFC0700F01C0600F00C0400F0040400F0040C00F0020800F0020800F0020
800F0020000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000
000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000
001F800003FFFC001B1C7F9B1E>I<FFF07FC00F000E000F0004000F0004000F0004000F
0004000F0004000F0004000F0004000F0004000F0004000F0004000F0004000F0004000F
0004000F0004000F0004000F0004000F0004000F0004000F0004000F0004000700080007
800800038010000180100000C020000070C000001F00001A1D7E9B1F>I<FFE0FFE0FF1F
001F003C1E001E00180F001F00100F001F00100F001F001007801F002007802780200780
27802003C027804003C043C04003C043C04003E043C04001E081E08001E081E08001E081
E08000F100F10000F100F10000F100F100007900FA00007A007A00007A007A00003E007C
00003C003C00003C003C00003C003C00001800180000180018000018001800281D7F9B2B
>87 D<08081010202040404040808080808080B0B0F8F8787830300D0C7A9C15>92
D<1FC000307000783800781C00301C00001C00001C0001FC000F1C00381C00701C00601C
00E01C40E01C40E01C40603C40304E801F870012127E9115>97 D<FC00001C00001C0000
1C00001C00001C00001C00001C00001C00001C00001C00001C7C001D86001E03001C0180
1C01C01C00C01C00E01C00E01C00E01C00E01C00E01C00E01C00C01C01C01C01801E0300
19060010F800131D7F9C17>I<07E00C301878307870306000E000E000E000E000E000E0
0060007004300418080C3007C00E127E9112>I<003F0000070000070000070000070000
070000070000070000070000070000070003E7000C1700180F00300700700700600700E0
0700E00700E00700E00700E00700E00700600700700700300700180F000C370007C7E013
1D7E9C17>I<03E00C301818300C700E6006E006FFFEE000E000E000E000600070023002
18040C1803E00F127F9112>I<00F8018C071E061E0E0C0E000E000E000E000E000E00FF
E00E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E007FE00F
1D809C0D>I<00038003C4C00C38C01C3880181800381C00381C00381C00381C00181800
1C38000C300013C0001000003000001800001FF8001FFF001FFF803003806001C0C000C0
C000C0C000C06001803003001C0E0007F800121C7F9215>I<FC00001C00001C00001C00
001C00001C00001C00001C00001C00001C00001C00001C7C001C87001D03001E03801C03
801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03
80FF9FF0141D7F9C17>I<18003C003C0018000000000000000000000000000000FC001C
001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C00FF80091D7F
9C0C>I<00C001E001E000C000000000000000000000000000000FE000E000E000E000E0
00E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E060E0F0C0
F1C061803E000B25839C0D>I<FC00001C00001C00001C00001C00001C00001C00001C00
001C00001C00001C00001C3FC01C0F001C0C001C08001C10001C20001C40001CE0001DE0
001E70001C78001C38001C3C001C1C001C0E001C0F001C0F80FF9FE0131D7F9C16>I<FC
001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C
001C001C001C001C001C001C001C001C001C00FF80091D7F9C0C>I<FC7E07E0001C8388
38001D019018001E01E01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C
001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C00
1C01C01C00FF8FF8FF8021127F9124>I<FC7C001C87001D03001E03801C03801C03801C
03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C0380FF9FF014
127F9117>I<03F0000E1C00180600300300700380600180E001C0E001C0E001C0E001C0
E001C0E001C06001807003803003001806000E1C0003F00012127F9115>I<FC7C001D86
001E03001C01801C01C01C00C01C00E01C00E01C00E01C00E01C00E01C00E01C01C01C01
C01C01801E03001D06001CF8001C00001C00001C00001C00001C00001C00001C0000FF80
00131A7F9117>I<03C1000C3300180B00300F00700700700700E00700E00700E00700E0
0700E00700E00700600700700700300F00180F000C370007C70000070000070000070000
0700000700000700000700003FE0131A7E9116>I<FCE01D301E781E781C301C001C001C
001C001C001C001C001C001C001C001C001C00FFC00D127F9110>I<1F9030704030C010
C010E010F8007F803FE00FF000F880388018C018C018E010D0608FC00D127F9110>I<04
000400040004000C000C001C003C00FFE01C001C001C001C001C001C001C001C001C001C
101C101C101C101C100C100E2003C00C1A7F9910>I<FC1F801C03801C03801C03801C03
801C03801C03801C03801C03801C03801C03801C03801C03801C03801C07800C07800E1B
8003E3F014127F9117>I<FF07E03C03801C01001C01000E02000E020007040007040007
040003880003880003D80001D00001D00000E00000E00000E00000400013127F9116>I<
FF3FCFE03C0F03801C0701801C0701001C0B01000E0B82000E0B82000E1182000711C400
0711C4000720C40003A0E80003A0E80003C0680001C0700001C070000180300000802000
1B127F911E>I<7F8FF00F03800F030007020003840001C80001D80000F0000070000078
0000F800009C00010E00020E000607000403801E07C0FF0FF81512809116>I<FF07E03C
03801C01001C01000E02000E020007040007040007040003880003880003D80001D00001
D00000E00000E00000E000004000004000008000008000F08000F10000F300006600003C
0000131A7F9116>I<7FFC70386038407040F040E041C003C0038007000F040E041C043C
0C380870087038FFF80E127F9112>I E /Fh 8 118 df<78FCFCFCFC7800000000000078
FCFCFCFC7806127D910D>58 D<FFFFF800FFFFFF000FC01FC00FC007E00FC001F00FC001
F80FC000F80FC000FC0FC0007C0FC0007C0FC0007E0FC0007E0FC0007E0FC0007E0FC000
7E0FC0007E0FC0007E0FC0007E0FC0007C0FC0007C0FC0007C0FC000F80FC000F80FC001
F00FC007E00FC01FC0FFFFFF00FFFFF8001F1C7E9B25>68 D<03FC000E0E001C1F003C1F
00781F00780E00F80000F80000F80000F80000F80000F800007800007801803C01801C03
000E0E0003F80011127E9115>99 D<1E003F003F003F003F001E00000000000000000000
000000FF00FF001F001F001F001F001F001F001F001F001F001F001F001F001F001F00FF
E0FFE00B1E7F9D0E>105 D<FF0FC0FF31E01F40F01F80F81F80F81F00F81F00F81F00F8
1F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F8FFE7FFFFE7FF18127F911B>
110 D<01FC000F07801C01C03C01E07800F07800F0F800F8F800F8F800F8F800F8F800F8
F800F87800F07800F03C01E01E03C00F078001FC0015127F9118>I<1FD830786018E018
E018F000FF807FE07FF01FF807FC007CC01CC01CE01CE018F830CFC00E127E9113>115
D<FF07F8FF07F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00
F81F00F81F00F81F01F80F01F80786FF01F8FF18127F911B>117
D E /Fi 45 122 df<007000E001C00380078007000E001E001E003C003C003C00780078
00780078007000F000F000F000F000F000F000F000F000F000F000F000F0007000780078
00780078003C003C003C001E001E000E0007000780038001C000E000700C2E7EA112>40
D<E000700038001C001E000E0007000780078003C003C003C001E001E001E001E000E000
F000F000F000F000F000F000F000F000F000F000F000F000E001E001E001E001E003C003
C003C00780078007000E001E001C0038007000E0000C2E7DA112>I<7878787818303060
60E0050A7D830D>44 D<FFC0FFC0FFC00A037F8B0F>I<001F0000001F0000003F800000
3B8000003B8000007BC0000073C0000071C00000F1E00000E1E00000E0E00001E0F00001
E0F00001C0F00003C0780003C078000380780007803C0007803C0007003C000FFFFE000F
FFFE000FFFFE001E000F001E000F003C000F803C0007803C000780780007C0780003C078
0003C0F00003E01B207F9F1E>65 D<001FC000FFF801FFFC03E03C07800C0F00001E0000
3E00003C00007C0000780000780000780000F00000F00000F00000F00000F00000F00000
F00000F000007800007800007800007C00003C00003E00001E00000F000207800E03E03E
01FFFC00FFF0001FC017227DA01D>67 D<FFFC00FFFF80FFFFC0F007E0F001F0F000F8F0
0078F0003CF0003CF0001EF0001EF0000EF0000FF0000FF0000FF0000FF0000FF0000FF0
000FF0000FF0000FF0001EF0001EF0001EF0003CF0007CF000F8F001F0F007E0FFFFC0FF
FF80FFFC0018207B9F21>I<FFFFC0FFFFC0FFFFC0F00000F00000F00000F00000F00000
F00000F00000F00000F00000F00000F00000FFFF80FFFF80FFFF80F00000F00000F00000
F00000F00000F00000F00000F00000F00000F00000F00000F00000FFFFE0FFFFE0FFFFE0
13207B9F1B>I<FFFFC0FFFFC0FFFFC0F00000F00000F00000F00000F00000F00000F000
00F00000F00000F00000F00000FFFF00FFFF00FFFF00F00000F00000F00000F00000F000
00F00000F00000F00000F00000F00000F00000F00000F00000F00000F0000012207B9F1A
>I<001FE000FFF801FFFE03E03E07800E0F00001E00003E00003C00007C000078000078
0000780000F00000F00000F00000F00000F00000F00000F003FEF003FE7803FE78001E78
001E7C001E3C001E3E001E1E001E0F001E07801E03E03E01FFFE00FFF8001FC017227DA0
1E>I<F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F004
207C9F0D>73 D<F0003EF0007CF000F8F001F0F003E0F007C0F00780F00F00F01F00F03E
00F07C00F0F800F1F000F3F800F3F800F7FC00FFBC00FF1E00FE1F00FC0F00F80780F007
80F003C0F003E0F001E0F000F0F000F8F00078F0003CF0003CF0001EF0001F18207B9F20
>75 D<F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000
F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000
F00000F00000F00000F00000F00000F00000FFFF80FFFF80FFFF8011207B9F19>I<F800
01F8FC0003F8FC0003F8F4000378F6000778F6000778F6000778F3000E78F3000E78F300
0E78F3801E78F3801E78F1801C78F1C03C78F1C03C78F0C03878F0C03878F0E07878F0E0
7878F0607078F070F078F070F078F030E078F039E078F039E078F019C078F019C078F019
C078F00F8078F00F8078F00F8078F00000781D207B9F28>I<FC0078FE0078FE0078F600
78F70078F70078F38078F38078F38078F3C078F1C078F1E078F1E078F0E078F0F078F070
78F07078F07878F03878F03C78F03C78F01C78F01E78F00E78F00E78F00E78F00778F007
78F00378F003F8F003F8F001F815207B9F20>I<003F000000FFC00003FFF00007E1F800
0F807C001F003E001E001E003C000F003C000F00780007807800078078000780F00003C0
F00003C0F00003C0F00003C0F00003C0F00003C0F00003C0F00003C0F00003C0F80007C0
7800078078000780780007803C000F003C000F001E001E001F003E000F807C0007E1F800
03FFF00000FFC000003F00001A227DA021>I<FFF800FFFF00FFFF80F00FC0F003E0F001
E0F000F0F000F0F000F0F000F0F000F0F000F0F000F0F001E0F003E0F00FC0FFFF80FFFF
00FFF800F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F000
00F00000F0000014207B9F1D>I<003F000000FFC00003FFF00007E1F8000F807C001F00
3E001E001E003C000F003C000F00780007807800078078000780F00003C0F00003C0F000
03C0F00003C0F00003C0F00003C0F00003C0F00003C0F00003C0F00003C0780007807800
0780781E07803C0F0F003C0F8F001E079E001F03FE000F83FC0007E1F80003FFF00000FF
F800003F780000007C0000003E0000001E0000001F0000000F801A277DA021>I<FFF800
FFFF00FFFF80F007C0F003E0F001E0F000F0F000F0F000F0F000F0F000F0F001E0F003E0
F007C0FFFF80FFFF00FFF800F03C00F01E00F01E00F00F00F00F00F00780F00780F003C0
F001C0F001E0F000F0F000F0F00078F00078F0003C16207B9F1D>I<01FC0007FF800FFF
C01F03C03C00C03C00007800007800007800007800007800007C00003C00003F00001FE0
000FFC0007FE0001FF00003F800007C00003C00003E00001E00001E00001E00001E00001
E00001C0C003C0F007C0FC0F807FFF001FFE0003F80013227EA019>I<FFFFFFC0FFFFFF
C0FFFFFFC0001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E00
00001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E00
00001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E00
00001E0000001E0000001E00001A207E9F1F>I<F000F0F000F0F000F0F000F0F000F0F0
00F0F000F0F000F0F000F0F000F0F000F0F000F0F000F0F000F0F000F0F000F0F000F0F0
00F0F000F0F000F0F000F0F000F0F000F0F000F0F000F07801E07801E03C03C03C03C01F
0F800FFF0007FE0001F80014217B9F1F>I<F0007C000FF0007E000FF0007E000F78006E
000E7800EE001E7800E7001E7800E7001E3C00E7003C3C01E7803C3C01C7803C3C01C380
3C1E01C380781E03C3C0781E0383C0780E0381C0700F0381C0F00F0781E0F00F0701E0F0
070700E0E0078700E1E0078F00E1E0078E00F1E0038E0071C0038E0071C003CE0073C001
DC00738001DC003B8001DC003B8001DC003B8000F8003F0000F8001F0000F8001F002820
7F9F2B>87 D<FFFFF8FFFFF8FFFFF80000F00001F00001E00003C00007C0000780000F80
000F00001E00003E00003C00007C0000780000F00001F00001E00003E00003C000078000
0F80000F00001F00001E00003C00007C0000780000FFFFFCFFFFFCFFFFFC16207D9F1C>
90 D<07E03FF87FFC701E401F000F000F000F003F07FF1FFF7E0FF80FF00FF00FF00FF8
3F7FFF3FEF1F8F10147E9316>97 D<03F00FFC1FFE3E0E3C0278007800F000F000F000F0
00F000F000780078003C013E0F1FFF0FFE03F010147E9314>99 D<000780000780000780
00078000078000078000078000078000078000078000078000078007C7800FF7801FFF80
3E1F807C0780780780F80780F00780F00780F00780F00780F00780F00780F00780780780
780F803E1F801FFF800FF78007C78011207E9F17>I<03F0000FFC001FFE003E1F003C07
00780700700380FFFF80FFFF80FFFF80F00000F00000F000007000007800003C01003E07
001FFF0007FE0001F80011147F9314>I<007E01FE03FE078007000F000F000F000F000F
000F000F00FFF0FFF0FFF00F000F000F000F000F000F000F000F000F000F000F000F000F
000F000F000F000F000F20809F0E>I<03E0F00FFFF01FFFF03E3E003C1E00780F00780F
00780F00780F00780F003C1E003E3E001FFC003FF80033E0003000003800003FFE003FFF
801FFFC03FFFE07803F0F000F0F000F0F000F0F801F07E07E03FFFC00FFF0003FC00141E
7F9317>I<F0F0F0F00000000000000000F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
F004207D9F0B>105 D<F00000F00000F00000F00000F00000F00000F00000F00000F000
00F00000F00000F00000F01F00F01E00F03C00F07800F0F000F1E000F3C000F78000FFC0
00FFC000FFE000F9F000F8F000F0F800F07C00F07C00F03E00F01E00F01F00F00F801120
7D9F16>107 D<F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
F0F0F004207D9F0B>I<F0FC07E0F3FE1FF0F7FF3FF8FE0FF07CF807C03CF807C03CF007
803CF007803CF007803CF007803CF007803CF007803CF007803CF007803CF007803CF007
803CF007803CF007803CF007803CF007803C1E147D9325>I<F1F8F3FCF7FEFC1FF80FF8
0FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00F10147D9317>I<
01F80007FE001FFF803F0FC03C03C07801E07801E0F000F0F000F0F000F0F000F0F000F0
F000F07801E07801E03C03C03F0FC01FFF8007FE0001F80014147F9317>I<F1F000F7FC
00FFFE00FC3E00F81F00F00F00F00F80F00780F00780F00780F00780F00780F00780F00F
00F00F00F81F00FC3E00FFFC00F7F800F1E000F00000F00000F00000F00000F00000F000
00F00000F00000F00000111D7D9317>I<03C7800FF7801FFF803E1F807C0F8078078078
0780F00780F00780F00780F00780F00780F00780F807807807807C0F803E1F801FFF800F
F78007C780000780000780000780000780000780000780000780000780000780111D7E93
17>I<F0E0F3E0F7E0FF00FC00FC00F800F800F000F000F000F000F000F000F000F000F0
00F000F000F0000B147D9310>I<07F01FFC3FFC780C7800780078007C003FC01FF00FF8
03F8007C003C003CC03CF07CFFF87FF00FC00E147F9311>I<1E001E001E001E001E001E
00FFF0FFF0FFF01E001E001E001E001E001E001E001E001E001E001E001E001E001E201F
F00FF007C00C1A7F9910>I<F00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00F
F00FF00FF00FF01FF03FFFFF7FEF3F0F10147D9317>I<F003C0F003C078038078078078
07803C0F003C0F003C0F001E0E001E1E001E1E000F1C000F3C000F3C0007380007380007
B80003F00003F00001E00012147F9315>I<7801E07C03C03E07801E0F000F0F00079E00
03FC0003F80001F80000F00001F00001F80003FC00079E000F0F000E0F001E07803C03C0
7801E0F801F01414809315>120 D<F003C0F003C07807807807807C07803C0F003C0F00
1E0F001E1E000E1E000F1C000F1C00073C0007380003B80003B80003B00001F00001F000
00E00000E00001C00001C00001C0000380000780007F00007E00007C0000121D7F9315>
I E /Fj 18 119 df<70F8F8F0E005057B840E>46 D<0000020000000600000006000000
0E0000001E0000001E0000003F0000002F0000004F0000004F0000008F0000010F000001
0F0000020F0000020F0000040F00000C0F0000080F0000100F0000100F0000200F80003F
FF800040078000C007800080078001000780010007800200078002000780060007801E00
0F80FF807FF81D207E9F22>65 D<01FFFFFE001E001C001E000C001E0004001E0004003C
0004003C0004003C0004003C00040078080800780800007808000078180000F0300000FF
F00000F0300000F0300001E0200001E0200001E0200001E0001003C0002003C0002003C0
004003C00040078000800780018007800100078007000F001F00FFFFFE001F1F7D9E1F>
69 D<00F1800389C00707800E03801C03803C0380380700780700780700780700F00E00
F00E00F00E00F00E20F01C40F01C40703C40705C40308C800F070013147C9317>97
D<007E0001C1000300800E07801E07801C07003C0200780000780000780000F00000F000
00F00000F00000F0000070010070020030040018380007C00011147C9315>99
D<0000780003F80000700000700000700000700000E00000E00000E00000E00001C00001
C000F1C00389C00707800E03801C03803C0380380700780700780700780700F00E00F00E
00F00E00F00E20F01C40F01C40703C40705C40308C800F070015207C9F17>I<007C01C2
07010E011C013C013802780C7BF07C00F000F000F000F0007000700170023804183807C0
10147C9315>I<00007800019C00033C00033C000718000700000700000E00000E00000E
00000E00000E0001FFE0001C00001C00001C00001C000038000038000038000038000038
0000700000700000700000700000700000700000E00000E00000E00000E00000C00001C0
0001C0000180003180007B0000F300006600003C00001629829F0E>I<00C001E001E001
C000000000000000000000000000000E003300230043804300470087000E000E000E001C
001C001C003840388030807080310033001C000B1F7C9E0E>105
D<1C0F802630C04740604780604700704700708E00E00E00E00E00E00E00E01C01C01C01
C01C01C01C03843803883803083807083803107003303001C016147C931A>110
D<007C0001C3000301800E01C01E01C01C01E03C01E07801E07801E07801E0F003C0F003
C0F003C0F00780F00700700F00700E0030180018700007C00013147C9317>I<01C1E002
621804741C04781C04701E04701E08E01E00E01E00E01E00E01E01C03C01C03C01C03C01
C0380380780380700380E003C1C0072380071E000700000700000E00000E00000E00000E
00001C00001C0000FFC000171D809317>I<00F0400388C00705800E03801C03803C0380
380700780700780700780700F00E00F00E00F00E00F00E00F01C00F01C00703C00705C00
30B8000F380000380000380000700000700000700000700000E00000E0000FFE00121D7C
9315>I<1C1E002661004783804787804707804703008E00000E00000E00000E00001C00
001C00001C00001C000038000038000038000038000070000030000011147C9313>I<00
FC030206010C030C070C060C000F800FF007F803FC003E000E700EF00CF00CE008401020
601F8010147D9313>I<018001C0038003800380038007000700FFF007000E000E000E00
0E001C001C001C001C003800380038003820704070407080708031001E000C1C7C9B0F>
I<0E00C03300E02301C04381C04301C04701C08703800E03800E03800E03801C07001C07
001C07001C07101C0E20180E20180E201C1E200C264007C38014147C9318>I<0E038033
07802307C04383C04301C04700C08700800E00800E00800E00801C01001C01001C01001C
02001C02001C04001C04001C08000E300003C00012147C9315>I
E /Fk 30 118 df<000078007C7800FC7801FC7803C00003800007800007800007800007
8000078000078000078000078000FFFC78FFFC78FFFC7807807807807807807807807807
807807807807807807807807807807807807807807807807807807807807807807807807
8078078078078078152480A31A>12 D<F0F0F0F004047B830E>46
D<00C001C007C0FFC0FFC0FBC003C003C003C003C003C003C003C003C003C003C003C003
C003C003C003C003C003C003C003C003C003C003C003C003C003C0FFFFFFFFFFFF10227C
A118>49 D<03F0000FFC001FFE003C1F003007807007C06003C0E003E0C001E04001E040
01E00001E00001E00001E00003C00003C0000780000780000F00001E00003C0000780000
F00001E00001C0000380000700000E00001C0000380000700000FFFFE0FFFFE0FFFFE013
227EA118>I<01F00007FC001FFF003E0F003807807003C02003C02003C00003C00003C0
0003C0000780000780000F00001E0003FC0003F80003FE00000F000007800003C00003C0
0001E00001E00001E00001E00001E08001E0C003C0E003C07007803C0F801FFF000FFC00
03F00013237EA118>I<001F00001F00002F00002F00006F0000EF0000CF0001CF0001CF
00038F00038F00078F00070F000F0F000E0F001E0F003C0F003C0F00780F00780F00F00F
00FFFFF8FFFFF8FFFFF8000F00000F00000F00000F00000F00000F00000F00000F00000F
0015217FA018>I<F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
F0F0F0F0F0F0F004237CA20D>73 D<FC001EFE001EFE001EFE001EF7001EF7001EF3801E
F3801EF3C01EF1C01EF1C01EF1E01EF0E01EF0F01EF0F01EF0781EF0781EF0381EF03C1E
F03C1EF01E1EF01E1EF00E1EF00F1EF0071EF0071EF0079EF0039EF0039EF001DEF001DE
F000FEF000FEF000FEF0007E17237BA222>78 D<FFFE00FFFF80FFFFC0F003E0F000F0F0
0078F00078F0003CF0003CF0003CF0003CF0003CF0003CF00078F00078F000F0F003E0FF
FFC0FFFF80FFFE00F00000F00000F00000F00000F00000F00000F00000F00000F00000F0
0000F00000F00000F00000F00000F0000016237BA21F>80 D<00FE0003FFC007FFE00F81
E01E00603C00003C00007800007800007800007800007800007C00003C00003F00001FC0
000FFC0007FF0001FF80003FC00007E00001F00000F00000F80000780000780000780000
78000078000078C000F0E000F0F801E07E07C03FFF800FFF0001FC0015257EA31B>83
D<F0003CF0003CF0003CF0003CF0003CF0003CF0003CF0003CF0003CF0003CF0003CF000
3CF0003CF0003CF0003CF0003CF0003CF0003CF0003CF0003CF0003CF0003CF0003CF000
3CF0003CF0003CF0003C7800787800787800783C00F01E01E01F87E00FFFC003FF0000FC
0016247BA221>85 D<07E01FF83FFC381E201E000F000F000F000F00FF07FF1FFF3E0F78
0FF00FF00FF00FF00FF83F7FFF3FEF1F8F10167E9517>97 D<F00000F00000F00000F000
00F00000F00000F00000F00000F00000F00000F00000F00000F00000F1F000F7FC00FFFE
00FC1F00F80F00F00780F00780F003C0F003C0F003C0F003C0F003C0F003C0F003C0F003
C0F00780F00780F80F00FC3E00FFFE00F7F800F1F00012237CA219>I<01FC0007FF000F
FF801F03803C0180780000780000700000F00000F00000F00000F00000F00000F0000078
00007800007800003C00401F03C00FFFC007FF8001FC0012167E9516>I<0003C00003C0
0003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C003E3C0
0FFBC01FFFC03F0FC03C07C07803C07803C0F003C0F003C0F003C0F003C0F003C0F003C0
F003C0F003C07803C07803C03C07C03E0FC01FFFC00FFBC003E3C012237EA219>I<03F0
0007FC001FFE003E0F003C0780780380780380F001C0FFFFC0FFFFC0FFFFC0F00000F000
00F000007000007800007800003C00801F07800FFF8007FF0001F80012167E9516>I<00
3F00FF01FF03C0038007800780078007800780078007800780FFF8FFF8FFF80780078007
800780078007800780078007800780078007800780078007800780078007800780102380
A20F>I<01F07807FFF80FFFF81F1F001E0F003C07803C07803C07803C07803C07801E0F
001F1F000FFE001FFC0019F0003800003800003C00001FFE001FFFC01FFFE03FFFF07801
F07800F8F00078F00078F00078F000787800F03E03E01FFFC00FFF8001FC0015217F9518
>I<F000F000F000F000F000F000F000F000F000F000F000F000F000F1F8F3FCF7FEFE1E
F80FF80FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00F
10237CA219>I<F0F0F0F0000000000000000000F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
F0F0F0F0F0F004237DA20B>I<F00000F00000F00000F00000F00000F00000F00000F000
00F00000F00000F00000F00000F00000F01F80F03F00F03E00F07C00F0F800F1F000F3E0
00F7C000FFC000FFC000FFE000FFE000FDF000F8F800F07800F07C00F03E00F01E00F01F
00F00F00F00F80F007C012237CA218>107 D<F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F004237DA20B>I<F1F8F3FCF7FEFE1EF80FF8
0FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00F10167C
9519>110 D<01FC0007FF000FFF801F07C03C01E07800F07800F0700070F00078F00078
F00078F00078F00078F000787800F07800F07C01F03E03E01F07C00FFF8007FF0001FC00
15167F9518>I<F1F000F7FC00FFFE00FC3F00F80F00F00780F00780F007C0F003C0F003
C0F003C0F003C0F003C0F003C0F007C0F00780F00F80F80F00FC3E00FFFE00F7F800F1F0
00F00000F00000F00000F00000F00000F00000F00000F00000F00000F0000012207C9519
>I<03E3C007FBC00FFFC01F0FC03C07C07C03C07803C0F803C0F003C0F003C0F003C0F0
03C0F003C0F003C0F803C07803C07803C03C07C03F0FC01FFFC00FFBC003E3C00003C000
03C00003C00003C00003C00003C00003C00003C00003C00003C012207E9519>I<F0E0F3
E0F7E0FF00FE00FC00F800F800F000F000F000F000F000F000F000F000F000F000F000F0
00F000F0000B167C9511>I<07F01FFC3FFE3C0E7806780078007C003F003FF01FF80FFC
01FE001F000F000F000FC00FF81EFFFE3FFC0FF010167F9513>I<0F000F000F000F000F
000F00FFF8FFF8FFF80F000F000F000F000F000F000F000F000F000F000F000F000F000F
000F080F1C07FC07F803E00E1C7F9B12>I<F00FF00FF00FF00FF00FF00FF00FF00FF00F
F00FF00FF00FF00FF00FF00FF00FF00FF01FF83F7FFF7FCF1F0F10167C9519>I
E /Fl 65 123 df<001F83E000F06E3001C078780380F8780300F0300700700007007000
0700700007007000070070000700700007007000FFFFFF80070070000700700007007000
070070000700700007007000070070000700700007007000070070000700700007007000
0700700007007000070070000700700007007000070070007FE3FF001D20809F1B>11
D<003F0000E0C001C0C00381E00701E00701E00700000700000700000700000700000700
00FFFFE00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700
E00700E00700E00700E00700E00700E00700E00700E07FC3FE1720809F19>I<7038F87C
FC7EFC7E743A0402040204020804080410081008201040200F0E7E9F17>34
D<0020004000800100020006000C000C00180018003000300030007000600060006000E0
00E000E000E000E000E000E000E000E000E000E000E00060006000600070003000300030
00180018000C000C000600020001000080004000200B2E7DA112>40
D<800040002000100008000C00060006000300030001800180018001C000C000C000C000
E000E000E000E000E000E000E000E000E000E000E000E000C000C000C001C00180018001
8003000300060006000C00080010002000400080000B2E7DA112>I<70F8FCFC74040404
080810102040060E7C840D>44 D<FFC0FFC00A027F8A0F>I<70F8F8F87005057C840D>I<
000100030003000600060006000C000C000C001800180018003000300030006000600060
00C000C000C00180018001800300030003000600060006000C000C000C00180018001800
300030003000600060006000C000C000C000102D7DA117>I<03F0000E1C001C0E001806
00380700700380700380700380700380F003C0F003C0F003C0F003C0F003C0F003C0F003
C0F003C0F003C0F003C0F003C0F003C0F003C07003807003807003807807803807001806
001C0E000E1C0003F000121F7E9D17>I<018003800F80F3800380038003800380038003
800380038003800380038003800380038003800380038003800380038003800380038003
8007C0FFFE0F1E7C9D17>I<03F0000C1C00100E00200700400780800780F007C0F803C0
F803C0F803C02007C00007C0000780000780000F00000E00001C00003800007000006000
00C0000180000300000600400C00401800401000803FFF807FFF80FFFF80121E7E9D17>
I<03F0000C1C00100E00200F00780F80780780780780380F80000F80000F00000F00000E
00001C0000380003F000003C00000E00000F000007800007800007C02007C0F807C0F807
C0F807C0F00780400780400F00200E001C3C0003F000121F7E9D17>I<00060000060000
0E00000E00001E00002E00002E00004E00008E00008E00010E00020E00020E00040E0008
0E00080E00100E00200E00200E00400E00C00E00FFFFF0000E00000E00000E00000E0000
0E00000E00000E0000FFE0141E7F9D17>I<1803001FFE001FFC001FF8001FE000100000
10000010000010000010000010000011F000161C00180E00100700100780000380000380
0003C00003C00003C07003C0F003C0F003C0E00380400380400700200600100E000C3800
03E000121F7E9D17>I<007C000182000701000E03800C07801C07803803003800007800
00700000700000F1F000F21C00F40600F80700F80380F80380F003C0F003C0F003C0F003
C0F003C07003C07003C07003803803803807001807000C0E00061C0001F000121F7E9D17
>I<4000007FFFC07FFF807FFF8040010080020080020080040000080000080000100000
200000200000400000400000C00000C00001C00001800003800003800003800003800007
8000078000078000078000078000078000078000030000121F7D9D17>I<03F0000C0C00
1006003003002001806001806001806001807001807803003E03003F06001FC8000FF000
03F80007FC000C7E00103F00300F806003804001C0C001C0C000C0C000C0C000C0C00080
6001802001001002000C0C0003F000121F7E9D17>I<03F0000E18001C0C003806003807
00700700700380F00380F00380F003C0F003C0F003C0F003C0F003C07007C07007C03807
C0180BC00E13C003E3C0000380000380000380000700300700780600780E00700C002018
001070000FC000121F7E9D17>I<70F8F8F8700000000000000000000070F8F8F8700514
7C930D>I<70F8F8F8700000000000000000000070F0F8F878080808101010202040051D
7C930D>I<000100000003800000038000000380000007C0000007C0000007C0000009E0
000009E0000009E0000010F0000010F0000010F00000207800002078000020780000403C
0000403C0000403C0000801E0000801E0000FFFE0001000F0001000F0001000F00020007
800200078002000780040003C00E0003C01F0007E0FFC03FFE1F207F9F22>65
D<FFFFE0000F80380007801E0007801F0007800F0007800F8007800F8007800F8007800F
8007800F8007800F0007801F0007801E0007803C0007FFF00007803C0007801E0007800F
0007800F8007800780078007C0078007C0078007C0078007C0078007C00780078007800F
8007800F0007801F000F803C00FFFFF0001A1F7E9E20>I<FFFFFF000F800F0007800300
078003000780010007800180078000800780008007800080078000800780800007808000
07808000078080000781800007FF80000781800007808000078080000780800007808000
07800000078000000780000007800000078000000780000007800000078000000FC00000
FFFE0000191F7E9E1E>70 D<000FE0200078186000E004E0038002E0070001E00F0000E0
1E0000601E0000603C0000603C0000207C00002078000020F8000000F8000000F8000000
F8000000F8000000F8000000F8000000F8007FFCF80003E0780001E07C0001E03C0001E0
3C0001E01E0001E01E0001E00F0001E0070001E0038002E000E0046000781820000FE000
1E217D9F24>I<FFF8FFF80F800F8007800F0007800F0007800F0007800F0007800F0007
800F0007800F0007800F0007800F0007800F0007800F0007800F0007FFFF0007800F0007
800F0007800F0007800F0007800F0007800F0007800F0007800F0007800F0007800F0007
800F0007800F0007800F0007800F000F800F80FFF8FFF81D1F7E9E22>I<FFFC0FC00780
078007800780078007800780078007800780078007800780078007800780078007800780
078007800780078007800780078007800FC0FFFC0E1F7F9E10>I<FFFC0FFC0FC003E007
800180078001000780020007800400078008000780100007802000078040000780800007
8100000783000007878000078F80000793C0000791E00007A1E00007C0F0000780F00007
80780007803C0007803C0007801E0007801E0007800F000780078007800780078007C00F
C007E0FFFC3FFC1E1F7E9E23>75 D<FFFE000FC000078000078000078000078000078000
078000078000078000078000078000078000078000078000078000078000078000078000
07800007800207800207800207800207800607800407800407800C07801C0F807CFFFFFC
171F7E9E1C>I<FF80001FF80F80001F800780001F0005C0002F0005C0002F0005C0002F
0004E0004F0004E0004F000470008F000470008F000470008F000438010F000438010F00
0438010F00041C020F00041C020F00041C020F00040E040F00040E040F00040E040F0004
07080F000407080F000407080F000403900F000403900F000401E00F000401E00F000401
E00F000E00C00F001F00C01F80FFE0C1FFF8251F7E9E2A>I<FF803FF807C007C007C003
8005E0010005E0010004F001000478010004780100043C0100043C0100041E0100040F01
00040F010004078100040781000403C1000401E1000401E1000400F1000400F100040079
0004003D0004003D0004001F0004001F0004000F0004000700040007000E0003001F0003
00FFE001001D1F7E9E22>I<001F800000F0F00001C0380007801E000F000F000E000700
1E0007803C0003C03C0003C07C0003E0780001E0780001E0F80001F0F80001F0F80001F0
F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0780001E07C0003E07C0003E0
3C0003C03C0003C01E0007800E0007000F000F0007801E0001C0380000F0F000001F8000
1C217D9F23>I<FFFFE0000F80780007801C0007801E0007800F0007800F8007800F8007
800F8007800F8007800F8007800F8007800F0007801E0007801C000780780007FFE00007
800000078000000780000007800000078000000780000007800000078000000780000007
8000000780000007800000078000000FC00000FFFC0000191F7E9E1F>I<FFFF80000F80
F0000780780007803C0007801E0007801E0007801F0007801F0007801F0007801F000780
1E0007801E0007803C00078078000780F00007FF80000781C0000780E0000780F0000780
700007807800078078000780780007807C0007807C0007807C0007807C0407807E040780
3E040FC01E08FFFC0F10000003E01E207E9E21>82 D<07E0800C19801007803003806001
80600180E00180E00080E00080E00080F00000F000007800007F00003FF0001FFC000FFE
0003FF00001F800007800003C00003C00001C08001C08001C08001C08001C0C00180C003
80E00300F00600CE0C0081F80012217D9F19>I<7FFFFFE0780F01E0600F0060400F0020
400F0020C00F0030800F0010800F0010800F0010800F0010000F0000000F0000000F0000
000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000
000F0000000F0000000F0000000F0000000F0000000F0000000F0000001F800007FFFE00
1C1F7E9E21>I<FFF07FF81FF01F800FC007C00F00078003800F00078001000F0007C001
00078007C00200078007C00200078007C0020003C009E0040003C009E0040003C009E004
0003E010F00C0001E010F0080001E010F0080001F02078080000F02078100000F0207810
0000F0403C10000078403C20000078403C20000078C03E2000003C801E4000003C801E40
00003C801E4000001F000F8000001F000F8000001F000F8000001E00078000000E000700
00000E00070000000C000300000004000200002C207F9E2F>87 D<7FF83FF80FE00FC007
C0070003C0020001E0040001F00C0000F0080000781000007C1000003C2000003E400000
1E4000000F8000000F8000000780000003C0000007E0000005E0000009F0000018F80000
10780000207C0000603C0000401E0000801F0001800F0001000780020007C0070003C01F
8007E0FFE01FFE1F1F7F9E22>I<080410082010201040204020804080408040B85CFC7E
FC7E7C3E381C0F0E7B9F17>92 D<1FE000303000781800781C00300E00000E00000E0000
0E0000FE00078E001E0E00380E00780E00F00E10F00E10F00E10F01E10781E103867200F
83C014147E9317>97 D<0E0000FE00000E00000E00000E00000E00000E00000E00000E00
000E00000E00000E00000E3E000EC3800F01C00F00E00E00E00E00700E00700E00780E00
780E00780E00780E00780E00780E00700E00700E00E00F00E00D01C00CC300083E001520
7F9F19>I<03F80E0C1C1E381E380C70007000F000F000F000F000F000F0007000700038
0138011C020E0C03F010147E9314>I<000380003F800003800003800003800003800003
8000038000038000038000038000038003E380061B801C07803803803803807003807003
80F00380F00380F00380F00380F00380F003807003807003803803803807801C07800E1B
8003E3F815207E9F19>I<03F0000E1C001C0E00380700380700700700700380F00380F0
0380FFFF80F00000F00000F000007000007000003800801800800C010007060001F80011
147F9314>I<007C00C6018F038F07060700070007000700070007000700FFF007000700
07000700070007000700070007000700070007000700070007000700070007007FF01020
809F0E>I<0000E003E3300E3C301C1C30380E00780F00780F00780F00780F00780F0038
0E001C1C001E380033E0002000002000003000003000003FFE001FFF800FFFC03001E060
0070C00030C00030C00030C000306000603000C01C038003FC00141F7F9417>I<0E0000
FE00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E3E00
0E43000E81800F01C00F01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C0
0E01C00E01C00E01C00E01C00E01C00E01C0FFE7FC16207F9F19>I<1C001E003E001E00
1C000000000000000000000000000E007E000E000E000E000E000E000E000E000E000E00
0E000E000E000E000E000E000E000E00FFC00A1F809E0C>I<00E001F001F001F000E000
0000000000000000000000007007F000F000700070007000700070007000700070007000
70007000700070007000700070007000700070007000706070F060F0C061803F000C2882
9E0E>I<0E0000FE00000E00000E00000E00000E00000E00000E00000E00000E00000E00
000E00000E0FF00E03C00E03000E02000E04000E08000E10000E30000E70000EF8000F38
000E1C000E1E000E0E000E07000E07800E03800E03C00E03E0FFCFF815207F9F18>I<0E
00FE000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E
000E000E000E000E000E000E000E000E000E000E000E000E00FFE00B20809F0C>I<0E1F
01F000FE618618000E81C81C000F00F00E000F00F00E000E00E00E000E00E00E000E00E0
0E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E
000E00E00E000E00E00E000E00E00E000E00E00E00FFE7FE7FE023147F9326>I<0E3E00
FE43000E81800F01C00F01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C0
0E01C00E01C00E01C00E01C00E01C00E01C0FFE7FC16147F9319>I<01F800070E001C03
803801C03801C07000E07000E0F000F0F000F0F000F0F000F0F000F0F000F07000E07000
E03801C03801C01C0380070E0001F80014147F9317>I<0E3E00FEC3800F01C00F00E00E
00E00E00F00E00700E00780E00780E00780E00780E00780E00780E00700E00F00E00E00F
01E00F01C00EC3000E3E000E00000E00000E00000E00000E00000E00000E00000E0000FF
E000151D7F9319>I<03E0800619801C05803C0780380380780380700380F00380F00380
F00380F00380F00380F003807003807803803803803807801C0B800E138003E380000380
000380000380000380000380000380000380000380003FF8151D7E9318>I<0E78FE8C0F
1E0F1E0F0C0E000E000E000E000E000E000E000E000E000E000E000E000E000E00FFE00F
147F9312>I<1F9030704030C010C010C010E00078007F803FE00FF00070803880188018
C018C018E030D0608F800D147E9312>I<020002000200060006000E000E003E00FFF80E
000E000E000E000E000E000E000E000E000E000E000E080E080E080E080E080610031001
E00D1C7F9B12>I<0E01C0FE1FC00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E
01C00E01C00E01C00E01C00E01C00E01C00E01C00E03C00603C0030DC001F1FC16147F93
19>I<FF83F81E01E01C00C00E00800E00800E0080070100070100038200038200038200
01C40001C40001EC0000E80000E80000700000700000700000200015147F9318>I<FF9F
E1FC3C0780701C0300601C0380200E0380400E0380400E03C0400707C0800704C0800704
E080038861000388710003C8730001D0320001D03A0000F03C0000E01C0000E01C000060
1800004008001E147F9321>I<7FC3FC0F01E00701C007018003810001C20000E40000EC
00007800003800003C00007C00004E000087000107000303800201C00601E01E01E0FF07
FE1714809318>I<FF83F81E01E01C00C00E00800E00800E008007010007010003820003
820003820001C40001C40001EC0000E80000E80000700000700000700000200000200000
4000004000004000F08000F08000F100006200003C0000151D7F9318>I<3FFF380E200E
201C40384078407000E001E001C00380078007010E011E011C0338027006700EFFFE1014
7F9314>I E /Fm 25 118 df<70F8FCFC7404040404080810102040060F7C840E>44
D<01F000071C000C06001803003803803803807001C07001C07001C07001C0F001E0F001
E0F001E0F001E0F001E0F001E0F001E0F001E0F001E0F001E0F001E0F001E0F001E0F001
E07001C07001C07001C07803C03803803803801C07000C0600071C0001F00013227EA018
>48 D<008003800F80F38003800380038003800380038003800380038003800380038003
800380038003800380038003800380038003800380038003800380038007C0FFFE0F217C
A018>I<007E0001C1000300800601C00E03C01C03C01801803800003800007800007000
00700000F0F800F30C00F40600F40300F80380F801C0F001C0F001E0F001E0F001E0F001
E0F001E07001E07001E07001E03801C03801C01803801C03000C0600070C0001F0001322
7EA018>54 D<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 /Fn 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 /Fo 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 Fo(D)25 b(R)g(A)g(F)g(T)375 1079 y
Fn(MPI-2)d(Dynamic)e(Pro)r(cess)i(Chapter:)29 b(P)n(art)22
b(I)r(I)621 1274 y Fm(Message)16 b(P)o(assing)h(In)o(terface)e(F)l
(orum)824 1400 y(April)g(10,)i(1996)p eop
%%Page: 1 2
1 1 bop 1852 -100 a Fl(1)75 49 y Fk(2.3.1)49 b(Sta)o(rting)16
b(Indep)q(endent)g(Pro)q(cesses)75 135 y Fl(The)j(previous)g(section)g
(describ)q(ed)h(ho)o(w)e(an)g(MPI)g(application)i(could)g(spa)o(wn)e
(new)g(MPI)h(pro)q(cesses)75 192 y(and)c(establish)i(comm)o(unication)f
(with)f(them.)166 248 y(This)i(section)f(describ)q(es)i(ho)o(w)e(to)f
(spa)o(wn)h Fj(indep)n(endent)f Fl(pro)q(cesses,)h(that)g(is,)g(pro)q
(cesses)h(that)e(do)75 304 y(not)g(comm)o(unicate)i(with)f(their)g
(paren)o(t.)22 b(These)16 b(ma)o(y)f(b)q(e)i(MPI)f(pro)q(cesses)g
(\(i.e.,)f(pro)q(cesses)i(that)e(call)75 361 y Fi(MPI)p
160 361 14 2 v 16 w(INIT)p Fl(\))f(or)h(not.)166 500
y Fh(Discussion:)27 b Fg(This)20 b(section)g(has)g(a)g(large)g(n)o(um)o
(b)q(er)f(of)g(hairy)g(functions,)i(guaran)o(teed)f(to)g(scare)h(and)75
556 y(confuse)15 b(users.)75 790 y Fi(MPI)p 160 790 V
16 w(SP)l(A)-5 b(WN)p 326 790 V 17 w(INDEPENDENT)p 659
790 V 17 w(MPI\(command)p 961 790 V 14 w(line,)15 b(minp)o(ro)q(cs,)g
(maxp)o(ro)q(cs,)f(info,)h(ro)q(ot,)f(comm,)75 847 y(group,)h(a)o(rra)o
(y)p 309 847 V 14 w(of)p 360 847 V 16 w(errco)q(des\))117
924 y Fg(IN)155 b Fi(command)p 506 924 V 16 w(line)321
b Fg(executable)18 b(and)f(argumen)o(ts,)g(in)g(a)f(single)h(string)g
(\(string,)905 980 y(signi\014can)o(t)d(only)f(at)g(ro)q(ot\))117
1055 y(IN)155 b Fi(minp)o(ro)q(cs)417 b Fg(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 1112 y(ni\014can)o(t)14 b(only)f(at)h(ro)q(ot\))117
1187 y(IN)155 b Fi(maxp)o(ro)q(cs)408 b Fg(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 1243 y(ni\014can)o(t)c(only)f(at)h(ro)q(ot\))117
1319 y(IN)155 b Fi(info)516 b Fg(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 1375 y(start)h(the)f
(pro)q(cesses)j(\(string,)c(signi\014can)o(t)h(only)f(at)h(ro)q(ot\))
117 1450 y(IN)155 b Fi(ro)q(ot)508 b Fg(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
1507 y(\(in)o(teger\))117 1582 y(IN)155 b Fi(comm)470
b Fg(comm)o(unicator)7 b(of)i(group)g(of)g(spa)o(wning)g(pro)q(cesses)j
(\(handle\))117 1657 y(OUT)108 b Fi(group)479 b Fg(group)14
b(of)f(spa)o(wned)i(pro)q(cesses)h(\(handle\))117 1732
y(OUT)108 b Fi(a)o(rra)o(y)p 416 1732 V 15 w(of)p 468
1732 V 16 w(errco)q(des)268 b Fg(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 1856 y Ff(int)23
b(MPI)p 245 1856 15 2 v 17 w(Spawn)p 382 1856 V 17 w(independent)p
663 1856 V 15 w(mpi\(char*)g(command)p 1085 1856 V 16
w(line,)g(int)h(minprocs,)393 1913 y(int)g(maxprocs,)e(char*)h(info,)h
(int)f(root,)g(MPI)p 1327 1913 V 17 w(Comm)g(comm,)393
1969 y(MPI)p 468 1969 V 17 w(Group*)g(group,)g(int*)g(array)p
1058 1969 V 17 w(of)p 1123 1969 V 17 w(errcodes\))75
2056 y(MPI)p 150 2056 V 17 w(SPAWN)p 287 2056 V 16 w(INDEPENDENT)p
567 2056 V 16 w(MPI\(COMMAND)p 847 2056 V 16 w(LINE,)g(MINPROCS,)f
(MAXPROCS,)h(INFO,)g(ROOT,)393 2112 y(COMM,)g(INTERCOMM,)g(ARRAY)p
922 2112 V 16 w(OF)p 986 2112 V 17 w(ERRCODES,)g(IERR\))170
2169 y(CHARACTER*\(*\))g(COMMAND)p 676 2169 V 16 w(LINE,)g(INFO)170
2225 y(INTEGER)g(MINPROCS,)g(MAXPROCS,)g(ROOT,)g(COMM,)g(GROUP,)g
(ARRAY)p 1415 2225 V 17 w(OF)p 1480 2225 V 16 w(ERRCODES\(*\),)170
2282 y(IERR)166 2368 y Fl(This)18 b(routine)g(spa)o(wns)g(an)g(indep)q
(enden)o(t)i(MPI)d(application.)30 b(It)17 b(is)i(iden)o(tical)g(to)e
Fi(MPI)p 1711 2368 14 2 v 16 w(SP)l(A)-5 b(WN)75 2425
y Fl(except)19 b(that)g(it)g(do)q(es)g(not)g(establish)h(comm)o
(unication)f(with)h(the)f(c)o(hildren,)i(so)e(that)f(it)h(returns)g(an)
75 2481 y(MPI)12 b(group)g(rather)g(than)g(a)g(comm)o(unicator.)18
b(It)12 b(is)h(collectiv)o(e)h(in)f(the)f(paren)o(t)g(comm)o(unicator)g
(but)g(not)75 2537 y(with)18 b(the)g(c)o(hildren.)29
b(Successful)19 b(completion)g(do)q(es)f(not)f(indicate)i(that)e(the)h
(pro)q(cesses)g(ha)o(v)o(e)f(called)75 2594 y Fi(MPI)p
160 2594 V 16 w(INIT)d Fl(successfully)l(,)j(only)f(that)f(the)g(pro)q
(cesses)g(w)o(ere)g(started)g(successfully)l(.)-32 46
y Fe(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 Fl(2)166 49 y Fh(Discussion:)34 b Fg(Alternativ)o
(ely)m(,)12 b(w)o(e)i(could)f(sa)o(y)h(that)f(the)i(call)e(do)q(es)h
(not)f(return)i(un)o(til)e(the)h(c)o(hildren)g(ha)o(v)o(e)75
106 y(successfully)j(initialized)d(MPI.)i(In)g(this)f(case,)i(the)g
(call)e(w)o(ould)g(b)q(e)h(e\013ectiv)o(ely)h(collectiv)o(e)e(with)h
(the)g(c)o(hildren.)75 162 y(Another)f(w)o(a)o(y)e(to)g(handle)h(this)g
(w)o(oule)f(b)q(e)i(to)e(bring)h(bac)o(k)f(the)i Fd(\015ags)e
Fg(argumen)o(t)g(and)h(add)f Fd(MPI)p 1603 162 13 2 v
15 w(SP)m(A)-5 b(WN)p 1756 162 V 14 w(SYNC)75 219 y Fg(to)15
b(the)h(list)e(of)h(supp)q(orted)h(\015ags,)f(so)g(that)g(the)h(user)g
(has)f(a)g(c)o(hoice)h(ab)q(out)f(whether)h(the)g(spa)o(wn)f(w)o(aits)g
(for)f(the)75 275 y(c)o(hildren)g(to)g(b)q(ecome)g(MPI)g(pro)q(cesses.)
166 414 y Fl(The)d(c)o(hild)i(pro)q(cesses)f(are)f Fj(r)n(e)n(quir)n(e)
n(d)f Fl(to)h(call)h Fi(MPI)p 1006 414 14 2 v 16 w(INIT)p
Fl(.)e(All)i(c)o(hildren)i(spa)o(wned)d(in)h(a)f(single)h(call)h(to)75
471 y Fi(MPI)p 160 471 V 16 w(SP)l(A)-5 b(WN)p 326 471
V 17 w(INDEPENDENT)p 659 471 V 17 w(MPI)18 b Fl(ha)o(v)o(e)g(the)g
(same)g Fi(MPI)p 1164 471 V 16 w(COMM)p 1322 471 V 16
w(W)o(ORLD)p Fl(,)g(whic)o(h)i(is)e(separate)75 527 y(from)c(that)h(of)
g(the)g(paren)o(t.)k(In)d(the)g(c)o(hildren,)g Fi(MPI)p
977 527 V 16 w(P)l(ARENT)g Fl(returns)g Fi(MPI)p 1423
527 V 15 w(COMM)p 1580 527 V 17 w(NULL)p Fl(.)189 633
y Fj(A)n(dvic)n(e)f(to)h(users.)40 b Fl(It)15 b(is)g(not)f(correct)h
(to)f(use)h Fi(MPI)p 1088 633 V 16 w(SP)l(A)-5 b(WN)p
1254 633 V 17 w(INDEPENDENT)p 1587 633 V 17 w(MPI)14
b Fl(to)g(spa)o(wn)189 690 y(a)k(shell)i(script)f(that)f(starts)f(an)i
(MPI)g(program.)29 b(The)19 b(program)e(sp)q(eci\014ed)k(in)e
Fi(command)p 1797 690 V 16 w(line)189 746 y Fl(m)o(ust)14
b(itself)i(b)q(e)g(an)f(MPI)h(program)e(that)g(calls)i
Fi(MPI)p 1107 746 V 16 w(INIT)p Fl(.)e(\()p Fj(End)i(of)g(advic)n(e)g
(to)h(users.)p Fl(\))75 947 y Fi(MPI)p 160 947 V 16 w(SP)l(A)-5
b(WN)p 326 947 V 17 w(INDEPENDENT)p 659 947 V 17 w(NONMPI\(command)p
1058 947 V 15 w(line,)11 b(minp)o(ro)q(cs,)g(maxp)o(ro)q(cs,)f(info,)g
(ro)q(ot,)h(comm,)75 1004 y(group,)k(a)o(rra)o(y)p 309
1004 V 14 w(of)p 360 1004 V 16 w(errco)q(des\))117 1081
y Fg(IN)155 b Fi(command)p 506 1081 V 16 w(line)321 b
Fg(executable)18 b(and)f(argumen)o(ts,)g(in)g(a)f(single)h(string)g
(\(string,)905 1137 y(signi\014can)o(t)d(only)f(at)g(ro)q(ot\))117
1212 y(IN)155 b Fi(minp)o(ro)q(cs)417 b Fg(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 1269 y(ni\014can)o(t)14 b(only)f(at)h(ro)q(ot\))117
1344 y(IN)155 b Fi(maxp)o(ro)q(cs)408 b Fg(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 1400 y(ni\014can)o(t)c(only)f(at)h(ro)q(ot\))117
1475 y(IN)155 b Fi(info)516 b Fg(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 1532 y(start)h(the)f
(pro)q(cesses)j(\(string,)c(signi\014can)o(t)h(only)f(at)h(ro)q(ot\))
117 1607 y(IN)155 b Fi(ro)q(ot)508 b Fg(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
1664 y(\(in)o(teger\))117 1739 y(IN)155 b Fi(comm)470
b Fg(comm)o(unicator)7 b(of)i(group)g(of)g(spa)o(wning)g(pro)q(cesses)j
(\(handle\))117 1814 y(OUT)108 b Fi(group)479 b Fg(group)14
b(con)o(taining)f(spa)o(wned)h(pro)q(cesses)j(\(handle\))117
1889 y(OUT)108 b Fi(a)o(rra)o(y)p 416 1889 V 15 w(of)p
468 1889 V 16 w(errco)q(des)268 b Fg(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 2013 y Ff(int)23
b(MPI)p 245 2013 15 2 v 17 w(Spawn)p 382 2013 V 17 w(independent)p
663 2013 V 15 w(nonmpi\(char*)g(command)p 1157 2013 V
16 w(line,)g(int)g(minprocs,)393 2070 y(int)h(maxprocs,)e(char*)h
(info,)h(int)f(root,)g(MPI)p 1327 2070 V 17 w(Comm)g(comm,)393
2126 y(MPI)p 468 2126 V 17 w(Group*)g(group,)g(int*)g(array)p
1058 2126 V 17 w(of)p 1123 2126 V 17 w(errcodes\))75
2213 y(MPI)p 150 2213 V 17 w(SPAWN)p 287 2213 V 16 w(INDEPENDENT)p
567 2213 V 16 w(NONMPI\(COMMAND)p 919 2213 V 15 w(LINE,)g(MINPROCS,)g
(MAXPROCS,)g(INFO,)g(ROOT,)393 2269 y(COMM,)g(GROUP,)g(ARRAY)p
826 2269 V 17 w(OF)p 891 2269 V 17 w(ERRCODES,)f(IERR\))170
2326 y(CHARACTER*\(*\))h(COMMAND)p 676 2326 V 16 w(LINE,)g(INFO)170
2382 y(INTEGER)g(MINPROCS,)g(MAXPROCS,)g(ROOT,)g(COMM,)g(GROUP,)g
(ARRAY)p 1415 2382 V 17 w(OF)p 1480 2382 V 16 w(ERRCODES\(*\),)170
2439 y(IERR)166 2525 y Fl(The)15 b(routine)h Fi(MPI)p
501 2525 14 2 v 16 w(SP)l(A)-5 b(WN)p 667 2525 V 17 w(INDEPENDENT)p
1000 2525 V 17 w(NONMPI)15 b Fl(is)h(iden)o(tical)h(to)75
2581 y Fi(MPI)p 160 2581 V 16 w(SP)l(A)-5 b(WN)p 326
2581 V 17 w(INDEPENDENT)p 659 2581 V 17 w(MPI)16 b Fl(except)h(that)f
(the)h(c)o(hild)h(pro)q(cesses)g(are)e(assumed)h(to)f(b)q(e)i(non-)75
2638 y(MPI)11 b(pro)q(cesses.)20 b(MPI)11 b(is)h(not)f(required)i(to)e
(do)g(an)o(y)g(sp)q(ecial)j(setup)d(to)g(ensure)h(that)f(a)g(call)i(to)
e Fi(MPI)p 1774 2638 V 16 w(INIT)1967 46 y Fe(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 Fl(3)75 49 y(in)18 b(the)f(c)o(hildren)h(will)h(b)q
(e)e(able)h(to)e(establish)i(comm)o(unication)g(among)e(the)h(c)o
(hildren.)27 b(The)17 b(e\013ect)f(of)75 106 y(calling)h
Fi(MPI)p 304 106 14 2 v 16 w(INIT)d Fl(in)i(the)g(c)o(hildren)h(is)e
(unde\014ned.)75 257 y Fi(MPI)p 160 257 V 16 w(SP)l(A)-5
b(WN)p 326 257 V 17 w(MUL)l(TIPLE)p 560 257 V 16 w(INDEPENDENT)p
892 257 V 16 w(MPI\(count,)16 b(a)o(rra)o(y)p 1237 257
V 14 w(of)p 1288 257 V 16 w(command)p 1489 257 V 15 w(lines,)75
313 y(a)o(rra)o(y)p 173 313 V 15 w(of)p 225 313 V 16
w(minp)o(ro)q(cs,)e(a)o(rra)o(y)p 533 313 V 14 w(of)p
584 313 V 16 w(maxp)o(ro)q(cs,)g(a)o(rra)o(y)p 901 313
V 15 w(of)p 953 313 V 16 w(info,)g(ro)q(ot,)h(comm,)d(group,)j(a)o(rra)
o(y)p 1547 313 V 14 w(of)p 1598 313 V 16 w(errco)q(des\))117
390 y Fg(IN)155 b Fi(count)482 b Fg(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
447 y(follo)o(wing)f(arra)o(ys\))117 522 y(IN)155 b Fi(a)o(rra)o(y)p
416 522 V 15 w(of)p 468 522 V 16 w(command)p 669 522
V 15 w(lines)142 b Fg(executable)12 b(and)f(argumen)o(ts)f(\(arra)o(y)g
(of)g(strings,)h(signi\014can)o(t)905 578 y(only)i(at)h(ro)q(ot\))117
653 y(IN)155 b Fi(a)o(rra)o(y)p 416 653 V 15 w(of)p 468
653 V 16 w(minp)o(ro)q(cs)254 b Fg(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 710
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 785 y(IN)155 b Fi(a)o(rra)o(y)p
416 785 V 15 w(of)p 468 785 V 16 w(maxp)o(ro)q(cs)245
b Fg(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 842 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
917 y(IN)155 b Fi(a)o(rra)o(y)p 416 917 V 15 w(of)p 468
917 V 16 w(info)353 b Fg(strings)17 b(telling)e(the)i(run)o(time)e
(system)i(where)g(and)f(ho)o(w)g(to)905 973 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 1030 y(ro)q(ot\))117 1105 y(IN)155 b Fi(ro)q(ot)508
b Fg(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 1161 y(\(in)o(teger\))117 1236
y(IN)155 b Fi(comm)470 b Fg(comm)o(unicator)7 b(of)i(group)g(of)g(spa)o
(wning)g(pro)q(cesses)j(\(handle\))117 1311 y(OUT)108
b Fi(group)479 b Fg(group)14 b(of)f(spa)o(wned)i(pro)q(cesses)h
(\(handle\))117 1387 y(OUT)108 b Fi(a)o(rra)o(y)p 416
1387 V 15 w(of)p 468 1387 V 16 w(errco)q(des)268 b Fg(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 1511 y Ff(int)23 b(MPI)p 245 1511 15 2 v
17 w(Spawn)p 382 1511 V 17 w(multiple)p 591 1511 V 16
w(independent)p 871 1511 V 15 w(mpi\(int*)g(count,)393
1567 y(char*)g(array)p 659 1567 V 17 w(of)p 724 1567
V 17 w(command)p 909 1567 V 16 w(lines[],)g(int*)g(array)p
1379 1567 V 17 w(of)p 1444 1567 V 16 w(minprocs,)393
1624 y(int*)g(array)p 635 1624 V 17 w(of)p 700 1624 V
17 w(maxprocs,)g(char*)g(array)p 1219 1624 V 16 w(of)p
1283 1624 V 17 w(info[],)g(int)g(root,)393 1680 y(MPI)p
468 1680 V 17 w(Comm)g(comm,)g(MPI)p 819 1680 V 17 w(Group*)g(group,)g
(int*)h(array)p 1410 1680 V 16 w(of)p 1474 1680 V 17
w(errcodes\))75 1767 y(MPI)p 150 1767 V 17 w(SPAWN)p
287 1767 V 16 w(MULTIPLE)p 495 1767 V 16 w(INDEPENDENT)p
775 1767 V 16 w(MPI\(COUNT,)f(ARRAY)p 1174 1767 V 16
w(OF)p 1238 1767 V 17 w(COMMAND)p 1423 1767 V 16 w(LINES,)393
1823 y(ARRAY)p 516 1823 V 17 w(OF)p 581 1823 V 17 w(MINPROCS,)f(ARRAY)p
956 1823 V 17 w(OF)p 1021 1823 V 17 w(MAXPROCS,)g(ARRAY)p
1396 1823 V 17 w(OF)p 1461 1823 V 17 w(INFO,)h(ROOT,)393
1880 y(COMM,)g(GROUP,)g(ARRAY)p 826 1880 V 17 w(OF)p
891 1880 V 17 w(ERRCODES,)f(IERR\))170 1936 y(CHARACTER*\(*\))h(ARRAY)p
628 1936 V 16 w(OF)p 692 1936 V 17 w(COMMAND)p 877 1936
V 16 w(LINES\(*\),)g(ARRAY)p 1252 1936 V 16 w(OF)p 1316
1936 V 17 w(INFO)170 1993 y(INTEGER)g(COUNT,)g(ARRAY)p
651 1993 V 17 w(OF)p 716 1993 V 17 w(MINPROCS,)f(ARRAY)p
1091 1993 V 17 w(OF)p 1156 1993 V 17 w(MAXPROCS,)g(ROOT,)i(COMM,)f
(GROUP,)170 2049 y(ARRAY)p 293 2049 V 17 w(OF)p 358 2049
V 17 w(ERRCODES\(*\),)f(IERR)166 2136 y Fl(This)g(function)g(is)f(iden)
o(tical)i Fi(MPI)p 785 2136 14 2 v 16 w(SP)l(A)-5 b(WN)p
951 2136 V 18 w(MUL)l(TIPLE)20 b Fl(except)i(that)e(it)h(do)q(es)h(not)
f(establish)75 2192 y(comm)o(unication)15 b(with)f(the)h(c)o(hildren,)h
(so)d(that)h(it)g(returns)h(an)f(MPI)g(group)g(rather)f(than)h(a)g
(comm)o(uni-)75 2248 y(cator.)k(The)12 b(c)o(hild)h(pro)q(cesses)g(are)
e Fj(r)n(e)n(quir)n(e)n(d)g Fl(to)h(call)h Fi(MPI)p 1053
2248 V 16 w(INIT)p Fl(.)d(All)k(c)o(hildren)f(spa)o(wned)f(in)h(a)f
(single)h(call)75 2305 y(to)e Fi(MPI)p 212 2305 V 16
w(SP)l(A)-5 b(WN)p 378 2305 V 17 w(INDEPENDENT)p 711
2305 V 17 w(MPI)11 b Fl(will)i(ha)o(v)o(e)e(the)h(same)f
Fi(MPI)p 1271 2305 V 16 w(COMM)p 1429 2305 V 16 w(W)o(ORLD)p
Fl(,)g(whic)o(h)h(is)g(sep-)75 2361 y(arate)g(from)g(that)g(of)g(the)h
(paren)o(t.)18 b(In)13 b(the)g(c)o(hildren,)i Fi(MPI)p
1073 2361 V 16 w(P)l(ARENT)f Fl(will)g(return)e Fi(MPI)p
1578 2361 V 16 w(COMM)p 1736 2361 V 17 w(NULL)p Fl(.)166
2501 y Fh(Discussion:)53 b Fg(If)19 b(the)g(spa)o(wn)g(w)o(as)g(soft)f
(\()p Fd(minp)o(ro)q(cs)i Fc(<)g Fd(maxp)o(ro)q(cs)p
Fg(\))f(there)h(is)f(no)f(direct)i(w)o(a)o(y)e(for)g(the)75
2557 y(c)o(hildren)12 b(to)f(\014nd)h(out)g(ho)o(w)f(man)o(y)f(of)h
(eac)o(h)h(t)o(yp)q(e)h(w)o(as)e(spa)o(wned.)18 b(The)12
b(paren)o(t)g(can)g(\014gure)g(out)g(this)g(information)75
2613 y(\(b)o(y)i(examining)f Fd(a)o(rra)o(y)p 437 2613
13 2 v 15 w(of)p 486 2613 V 14 w(erro)o(rco)q(des)p Fg(\),)j(but)f
(since)g(there)h(is)e(no)h(in)o(tercomm)o(unicator)d(it)i(has)h(no)f
(direct)h(w)o(a)o(y)f(to)75 2670 y(tell)f(the)i(c)o(hildren.)j(This)c
(problem)f(exists)h(in)g(MPI-1)f(as)h(w)o(ell.)-32 46
y Fe(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 Fl(4)75 49 y Fi(MPI)p 160 49 14 2 v
16 w(SP)l(A)-5 b(WN)p 326 49 V 17 w(MUL)l(TIPLE)p 560
49 V 16 w(INDEPENDENT)p 892 49 V 16 w(NONMPI\(count,)16
b(a)o(rra)o(y)p 1334 49 V 15 w(of)p 1386 49 V 16 w(command)p
1587 49 V 15 w(lines,)75 106 y(a)o(rra)o(y)p 173 106
V 15 w(of)p 225 106 V 16 w(minp)o(ro)q(cs,)e(a)o(rra)o(y)p
533 106 V 14 w(of)p 584 106 V 16 w(maxp)o(ro)q(cs,)g(a)o(rra)o(y)p
901 106 V 15 w(of)p 953 106 V 16 w(info,)g(ro)q(ot,)h(comm,)d(group,)j
(a)o(rra)o(y)p 1547 106 V 14 w(of)p 1598 106 V 16 w(errco)q(des\))117
183 y Fg(IN)155 b Fi(count)482 b Fg(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
239 y(follo)o(wing)f(arra)o(ys\))117 315 y(IN)155 b Fi(a)o(rra)o(y)p
416 315 V 15 w(of)p 468 315 V 16 w(command)p 669 315
V 15 w(lines)142 b Fg(executable)12 b(and)f(argumen)o(ts)f(\(arra)o(y)g
(of)g(strings,)h(signi\014can)o(t)905 371 y(only)i(at)h(ro)q(ot\))117
446 y(IN)155 b Fi(a)o(rra)o(y)p 416 446 V 15 w(of)p 468
446 V 16 w(minp)o(ro)q(cs)254 b Fg(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 503
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 578 y(IN)155 b Fi(a)o(rra)o(y)p
416 578 V 15 w(of)p 468 578 V 16 w(maxp)o(ro)q(cs)245
b Fg(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 634 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
709 y(IN)155 b Fi(a)o(rra)o(y)p 416 709 V 15 w(of)p 468
709 V 16 w(info)353 b Fg(strings)17 b(telling)e(the)i(run)o(time)e
(system)i(where)g(and)f(ho)o(w)g(to)905 766 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 822 y(ro)q(ot\))117 897 y(IN)155 b Fi(ro)q(ot)508
b Fg(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 954 y(\(in)o(teger\))117 1029
y(IN)155 b Fi(comm)470 b Fg(comm)o(unicator)7 b(of)i(group)g(of)g(spa)o
(wning)g(pro)q(cesses)j(\(handle\))117 1104 y(OUT)108
b Fi(group)479 b Fg(group)14 b(of)f(spa)o(wned)i(pro)q(cesses)h
(\(handle\))117 1179 y(OUT)108 b Fi(a)o(rra)o(y)p 416
1179 V 15 w(of)p 468 1179 V 16 w(errco)q(des)268 b Fg(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 1304 y Ff(int)23 b(MPI)p 245 1304 15 2 v
17 w(Spawn)p 382 1304 V 17 w(multiple)p 591 1304 V 16
w(independent)p 871 1304 V 15 w(nonmpi\(int*)g(count,)393
1360 y(char*)g(array)p 659 1360 V 17 w(of)p 724 1360
V 17 w(command)p 909 1360 V 16 w(lines[],)g(int*)g(array)p
1379 1360 V 17 w(of)p 1444 1360 V 16 w(minprocs,)393
1417 y(int*)g(array)p 635 1417 V 17 w(of)p 700 1417 V
17 w(maxprocs,)g(char*)g(array)p 1219 1417 V 16 w(of)p
1283 1417 V 17 w(info[],)g(int)g(root,)393 1473 y(MPI)p
468 1473 V 17 w(Comm)g(comm,)g(MPI)p 819 1473 V 17 w(Group*)g(group,)g
(int*)h(array)p 1410 1473 V 16 w(of)p 1474 1473 V 17
w(errcodes\))75 1559 y(MPI)p 150 1559 V 17 w(SPAWN)p
287 1559 V 16 w(MULTIPLE)p 495 1559 V 16 w(INDEPENDENT)p
775 1559 V 16 w(NONMPI\(COUNT,)e(ARRAY)p 1245 1559 V
17 w(OF)p 1310 1559 V 17 w(COMMAND)p 1495 1559 V 16 w(LINES,)393
1616 y(ARRAY)p 516 1616 V 17 w(OF)p 581 1616 V 17 w(MINPROCS,)g(ARRAY)p
956 1616 V 17 w(OF)p 1021 1616 V 17 w(MAXPROCS,)g(ARRAY)p
1396 1616 V 17 w(OF)p 1461 1616 V 17 w(INFO,)h(ROOT,)393
1672 y(COMM,)g(GROUP,)g(ARRAY)p 826 1672 V 17 w(OF)p
891 1672 V 17 w(ERRCODES,)f(IERR\))170 1729 y(CHARACTER*\(*\))h(ARRAY)p
628 1729 V 16 w(OF)p 692 1729 V 17 w(COMMAND)p 877 1729
V 16 w(LINES\(*\),)g(ARRAY)p 1252 1729 V 16 w(OF)p 1316
1729 V 17 w(INFO)170 1785 y(INTEGER)g(COUNT,)g(ARRAY)p
651 1785 V 17 w(OF)p 716 1785 V 17 w(MINPROCS,)f(ARRAY)p
1091 1785 V 17 w(OF)p 1156 1785 V 17 w(MAXPROCS,)g(ROOT,)i(COMM,)f
(GROUP,)170 1842 y(ARRAY)p 293 1842 V 17 w(OF)p 358 1842
V 17 w(ERRCODES\(*\),)f(IERR)166 1928 y Fl(The)15 b(routine)h
Fi(MPI)p 501 1928 14 2 v 16 w(SP)l(A)-5 b(WN)p 667 1928
V 17 w(MUL)l(TIPLE)p 901 1928 V 16 w(INDEPENDENT)p 1233
1928 V 16 w(NONMPI)16 b Fl(is)f(similar)i(to)75 1985
y Fi(MPI)p 160 1985 V 16 w(SP)l(A)-5 b(WN)p 326 1985
V 17 w(MUL)l(TIPLE)p 560 1985 V 16 w(INDEPENDENT)p 892
1985 V 16 w(MPI)15 b Fl(except)i(that)e(the)h(c)o(hild)h(pro)q(cesses)f
(are)g(assumed)75 2041 y(to)e(b)q(e)h(non-MPI)g(pro)q(cesses.)20
b(MPI)15 b(is)g(not)f(required)i(to)e(do)h(an)o(y)f(sp)q(ecial)i(setup)
f(to)f(ensure)i(that)d(a)i(call)75 2098 y(to)j Fi(MPI)p
219 2098 V 15 w(INIT)g Fl(in)h(the)f(c)o(hildren)j(will)f(b)q(e)e(able)
i(to)d(establish)j(comm)o(unication)f(among)e(the)h(c)o(hildren.)75
2154 y(The)d(e\013ect)g(of)g(calling)i Fi(MPI)p 569 2154
V 16 w(INIT)d Fl(in)i(the)g(c)o(hildren)h(is)f(unde\014ned.)166
2293 y Fh(Discussion:)33 b Fg(This)13 b(routine)h(is)f(here)i(for)e
(completeness.)18 b(It)c(do)q(es)g(not)f(pro)o(vide)g(an)o(y)g(missing)
e(function-)75 2350 y(alit)o(y)k(\(as)i(do)f(the)h(other)p
490 2350 13 2 v 32 w Fd(MUL)m(TIPLE)f Fg(routines\))h(b)q(ecause)i
(there)e(is)g(no)f(need)h(to)g(put)f(all)g(of)g(the)h(c)o(hildren)f(in)
75 2406 y(the)h(same)e Fd(MPI)p 332 2406 V 15 w(COMM)p
477 2406 V 14 w(W)o(ORLD)p Fg(.)h(Similarly)l(,)e(the)j(p)q(ossibilit)o
(y)e(of)h(increased)h(comm)o(unication)c(p)q(erformance)75
2463 y(b)q(et)o(w)o(een)k(pro)q(cesses)h(spa)o(wned)e(at)g(the)g(same)e
(time)h(is)g(unimp)q(ortan)o(t)f(b)q(ecause)j(the)f(spa)o(wned)g(pro)q
(cesses)i(don't)75 2519 y(comm)o(unicate.)28 b(There)19
b(migh)o(t)d(b)q(e)i(a)g(sligh)o(t)f(adv)n(an)o(tage)g(in)h(the)g
(e\016ciency)h(of)e(spa)o(wning,)h(but)g(that)g(can)g(b)q(e)75
2575 y(mitigated)12 b(through)i(using)f(the)i(non-blo)q(c)o(king)d
(routines.)1967 46 y Fe(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 Fl(5)75 49 y Fk(2.3.2)49 b(Nonblo)q(cking)18
b(requests)75 135 y Fl(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 192 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 248 y(eac)o(h)f(of)g(the)g(spa)o
(wning)h(routines)f(de\014ned)i(ab)q(o)o(v)o(e.)75 399
y Fi(MPI)p 160 399 14 2 v 16 w(ISP)l(A)-5 b(WN\(command)p
542 399 V 15 w(line,)16 b(minp)o(ro)q(cs,)e(maxp)o(ro)q(cs,)g(info,)h
(ro)q(ot,)f(comm,)f(intercomm,)75 455 y(a)o(rra)o(y)p
173 455 V 15 w(of)p 225 455 V 16 w(errco)q(des,)i(request\))117
533 y Fg(IN)155 b Fi(command)p 506 533 V 16 w(line)321
b Fg(executable)18 b(and)f(argumen)o(ts,)g(in)g(a)f(single)h(string)g
(\(string,)905 589 y(signi\014can)o(t)d(only)f(at)g(ro)q(ot\))117
664 y(IN)155 b Fi(minp)o(ro)q(cs)417 b Fg(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 721 y(ni\014can)o(t)14 b(only)f(at)h(ro)q(ot\))117
796 y(IN)155 b Fi(maxp)o(ro)q(cs)408 b Fg(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 852 y(ni\014can)o(t)c(only)f(at)h(ro)q(ot\))117
927 y(IN)155 b Fi(info)516 b Fg(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 984 y(start)h(the)f(pro)
q(cesses)j(\(string,)c(signi\014can)o(t)h(only)f(at)h(ro)q(ot\))117
1059 y(IN)155 b Fi(ro)q(ot)508 b Fg(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
1115 y(\(in)o(teger\))117 1191 y(IN)155 b Fi(comm)470
b Fg(comm)o(unicator)7 b(of)i(group)g(of)g(spa)o(wning)g(pro)q(cesses)j
(\(handle\))117 1266 y(OUT)108 b Fi(intercomm)384 b Fg(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 1322 y(spa)o(wned)15 b(group)e(\(handle\))117 1397
y(OUT)108 b Fi(a)o(rra)o(y)p 416 1397 V 15 w(of)p 468
1397 V 16 w(errco)q(des)268 b Fg(one)14 b(co)q(de)h(p)q(er)g(pro)q
(cess)h(\(arra)o(y)d(of)h(in)o(teger\))117 1472 y(OUT)108
b Fi(request)452 b Fg(request)16 b(ob)r(ject)e(\(handle\))75
1597 y Ff(int)23 b(MPI)p 245 1597 15 2 v 17 w(Ispawn\(char*)f(command)p
740 1597 V 17 w(line,)h(int)g(minprocs,)g(int)g(maxprocs,)g(char*)g
(info,)393 1653 y(int)h(root,)f(MPI)p 707 1653 V 17 w(Comm)g(comm,)g
(MPI)p 1058 1653 V 17 w(Comm*)g(intercomm,)393 1710 y(int*)g(array)p
635 1710 V 17 w(of)p 700 1710 V 17 w(errcodes,)g(MPI)p
1028 1710 V 16 w(Request*)g(request\))75 1796 y(MPI)p
150 1796 V 17 w(ISPAWN\(COMMAND)p 503 1796 V 15 w(LINE,)g(MINPROCS,)g
(MAXPROCS,)f(INFO,)i(ROOT,)f(COMM,)g(INTERCOMM,)393 1853
y(ARRAY)p 516 1853 V 17 w(OF)p 581 1853 V 17 w(ERRCODES,)f(REQUEST,)h
(IERR\))170 1909 y(CHARACTER*\(*\))g(COMMAND)p 676 1909
V 16 w(LINE,)g(INFO)170 1966 y(INTEGER)g(MINPROCS,)g(MAXPROCS,)g(ROOT,)
g(COMM,)g(INTERCOMM,)170 2022 y(ARRAY)p 293 2022 V 17
w(OF)p 358 2022 V 17 w(ERRCODES\(*\),)f(REQUEST,)h(IERR)-32
46 y Fe(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 Fl(6)75 49 y Fi(MPI)p 160 49 14 2 v
16 w(ISP)l(A)-5 b(WN)p 339 49 V 17 w(MUL)l(TIPLE\(count,)15
b(a)o(rra)o(y)p 819 49 V 14 w(of)p 870 49 V 16 w(command)p
1071 49 V 16 w(lines,)g(a)o(rra)o(y)p 1292 49 V 15 w(of)p
1344 49 V 16 w(minp)o(ro)q(cs,)75 106 y(a)o(rra)o(y)p
173 106 V 15 w(of)p 225 106 V 16 w(maxp)o(ro)q(cs,)f(a)o(rra)o(y)p
542 106 V 14 w(of)p 593 106 V 16 w(info,)h(ro)q(ot,)f(comm,)f
(intercomm,)h(a)o(rra)o(y)p 1282 106 V 14 w(of)p 1333
106 V 16 w(errco)q(des,)i(request\))117 183 y Fg(IN)155
b Fi(count)482 b Fg(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 239 y(follo)o(wing)f(arra)
o(ys\))117 315 y(IN)155 b Fi(a)o(rra)o(y)p 416 315 V
15 w(of)p 468 315 V 16 w(command)p 669 315 V 15 w(lines)142
b Fg(executable)12 b(and)f(argumen)o(ts)f(\(arra)o(y)g(of)g(strings,)h
(signi\014can)o(t)905 371 y(only)i(at)h(ro)q(ot\))117
446 y(IN)155 b Fi(a)o(rra)o(y)p 416 446 V 15 w(of)p 468
446 V 16 w(minp)o(ro)q(cs)254 b Fg(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 503
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 578 y(IN)155 b Fi(a)o(rra)o(y)p
416 578 V 15 w(of)p 468 578 V 16 w(maxp)o(ro)q(cs)245
b Fg(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 634 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
709 y(IN)155 b Fi(a)o(rra)o(y)p 416 709 V 15 w(of)p 468
709 V 16 w(info)353 b Fg(strings)17 b(telling)e(the)i(run)o(time)e
(system)i(where)g(and)f(ho)o(w)g(to)905 766 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 822 y(ro)q(ot\))117 897 y(IN)155 b Fi(ro)q(ot)508
b Fg(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 954 y(\(in)o(teger\))117 1029
y(IN)155 b Fi(comm)470 b Fg(comm)o(unicator)7 b(of)i(group)g(of)g(spa)o
(wning)g(pro)q(cesses)j(\(handle\))117 1104 y(OUT)108
b Fi(intercomm)384 b Fg(in)o(tercomm)o(unicator)12 b(b)q(et)o(w)o(een)j
(original)d(group)i(and)g(newly)905 1161 y(spa)o(wned)h(group)e
(\(handle\))117 1236 y(OUT)108 b Fi(a)o(rra)o(y)p 416
1236 V 15 w(of)p 468 1236 V 16 w(errco)q(des)268 b Fg(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\))117 1311 y(OUT)108 b Fi(request)452 b Fg(request)16
b(ob)r(ject)e(\(handle\))75 1435 y Ff(int)23 b(MPI)p
245 1435 15 2 v 17 w(Ispawn)p 406 1435 V 17 w(multiple\(int*)f(count,)h
(char*)g(array)p 1187 1435 V 16 w(of)p 1251 1435 V 17
w(command)p 1436 1435 V 17 w(lines[],)393 1492 y(int*)g(array)p
635 1492 V 17 w(of)p 700 1492 V 17 w(minprocs,)g(int*)g(array)p
1195 1492 V 16 w(of)p 1259 1492 V 17 w(maxprocs,)393
1548 y(char*)g(array)p 659 1548 V 17 w(of)p 724 1548
V 17 w(info[],)g(int)g(root,)g(MPI)p 1242 1548 V 17 w(Comm)g(comm,)393
1605 y(MPI)p 468 1605 V 17 w(Comm*)g(intercomm,)g(int*)g(array)p
1130 1605 V 16 w(of)p 1194 1605 V 17 w(errcodes,)393
1661 y(MPI)p 468 1661 V 17 w(Request*)g(request\))75
1748 y(MPI)p 150 1748 V 17 w(ISPAWN)p 311 1748 V 16 w(MULTIPLE\(COUNT,)
f(ARRAY)p 829 1748 V 16 w(OF)p 893 1748 V 17 w(COMMAND)p
1078 1748 V 17 w(LINES,)h(ARRAY)p 1382 1748 V 16 w(OF)p
1446 1748 V 17 w(MINPROCS,)393 1804 y(ARRAY)p 516 1804
V 17 w(OF)p 581 1804 V 17 w(MAXPROCS,)f(ARRAY)p 956 1804
V 17 w(OF)p 1021 1804 V 17 w(INFO,)h(ROOT,)g(COMM,)g(INTERCOMM,)393
1860 y(ARRAY)p 516 1860 V 17 w(OF)p 581 1860 V 17 w(ERRCODES,)f
(REQUEST,)h(IERR\))170 1917 y(CHARACTER*\(*\))g(ARRAY)p
628 1917 V 16 w(OF)p 692 1917 V 17 w(COMMAND)p 877 1917
V 16 w(LINES\(*\),)g(ARRAY)p 1252 1917 V 16 w(OF)p 1316
1917 V 17 w(INFO)170 1973 y(INTEGER)g(COUNT,)g(ARRAY)p
651 1973 V 17 w(OF)p 716 1973 V 17 w(MINPROCS,)f(ARRAY)p
1091 1973 V 17 w(OF)p 1156 1973 V 17 w(MAXPROCS,)g(ROOT,)i(COMM,)170
2030 y(INTERCOMM,)f(ARRAY)p 556 2030 V 16 w(OF)p 620
2030 V 17 w(ERRCODES\(*\),)g(REQUEST,)f(IERR)1967 46
y Fe(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 Fl(7)75 49 y Fi(MPI)p 160 49 14 2
v 16 w(ISP)l(A)-5 b(WN)p 339 49 V 17 w(INDEPENDENT)p
672 49 V 16 w(MPI\(command)p 973 49 V 15 w(line,)15 b(minp)o(ro)q(cs,)g
(maxp)o(ro)q(cs,)f(info,)g(ro)q(ot,)h(comm,)75 106 y(group,)g(a)o(rra)o
(y)p 309 106 V 14 w(of)p 360 106 V 16 w(errco)q(des,)h(request\))117
183 y Fg(IN)155 b Fi(command)p 506 183 V 16 w(line)321
b Fg(executable)18 b(and)f(argumen)o(ts,)g(in)g(a)f(single)h(string)g
(\(string,)905 239 y(signi\014can)o(t)d(only)f(at)g(ro)q(ot\))117
315 y(IN)155 b Fi(minp)o(ro)q(cs)417 b Fg(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 371 y(ni\014can)o(t)14 b(only)f(at)h(ro)q(ot\))117
446 y(IN)155 b Fi(maxp)o(ro)q(cs)408 b Fg(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 503 y(ni\014can)o(t)c(only)f(at)h(ro)q(ot\))117
578 y(IN)155 b Fi(info)516 b Fg(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 634 y(start)h(the)f(pro)
q(cesses)j(\(string,)c(signi\014can)o(t)h(only)f(at)h(ro)q(ot\))117
709 y(IN)155 b Fi(ro)q(ot)508 b Fg(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
766 y(\(in)o(teger\))117 841 y(IN)155 b Fi(comm)470 b
Fg(comm)o(unicator)7 b(of)i(group)g(of)g(spa)o(wning)g(pro)q(cesses)j
(\(handle\))117 916 y(OUT)108 b Fi(group)479 b Fg(group)14
b(of)f(spa)o(wned)i(pro)q(cesses)h(\(handle\))117 991
y(OUT)108 b Fi(a)o(rra)o(y)p 416 991 V 15 w(of)p 468
991 V 16 w(errco)q(des)268 b Fg(one)14 b(co)q(de)h(p)q(er)g(pro)q(cess)
h(\(arra)o(y)d(of)h(in)o(teger\))117 1066 y(OUT)108 b
Fi(request)452 b Fg(request)16 b(ob)r(ject)e(\(handle\))75
1191 y Ff(int)23 b(MPI)p 245 1191 15 2 v 17 w(Ispawn)p
406 1191 V 17 w(independent)p 687 1191 V 15 w(mpi\(char*)g(command)p
1109 1191 V 16 w(line,)g(int)h(minprocs,)393 1247 y(int)g(maxprocs,)e
(char*)h(info,)h(int)f(root,)g(MPI)p 1327 1247 V 17 w(Comm)g(comm,)393
1304 y(MPI)p 468 1304 V 17 w(Group*)g(group,)g(int*)g(array)p
1058 1304 V 17 w(of)p 1123 1304 V 17 w(errcodes,)f(MPI)p
1450 1304 V 17 w(Request*)h(request\))75 1390 y(MPI)p
150 1390 V 17 w(SPAWN)p 287 1390 V 16 w(INDEPENDENT)p
567 1390 V 16 w(MPI\(COMMAND)p 847 1390 V 16 w(LINE,)g(MINPROCS,)f
(MAXPROCS,)h(INFO,)g(ROOT,)393 1447 y(COMM,)g(INTERCOMM,)g(ARRAY)p
922 1447 V 16 w(OF)p 986 1447 V 17 w(ERRCODES,)g(REQUEST,)g(IERR\))170
1503 y(CHARACTER*\(*\))g(COMMAND)p 676 1503 V 16 w(LINE,)g(INFO)170
1559 y(INTEGER)g(MINPROCS,)g(MAXPROCS,)g(ROOT,)g(COMM,)g(GROUP,)g
(ARRAY)p 1415 1559 V 17 w(OF)p 1480 1559 V 16 w(ERRCODES\(*\),)170
1616 y(REQUEST,)g(IERR)-32 46 y Fe(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: 8 9
8 8 bop 75 -100 a Fl(8)75 49 y Fi(MPI)p 160 49 14 2 v
16 w(ISP)l(A)-5 b(WN)p 339 49 V 17 w(INDEPENDENT)p 672
49 V 16 w(NONMPI\(command)p 1070 49 V 16 w(line,)15 b(minp)o(ro)q(cs,)f
(maxp)o(ro)q(cs,)g(info,)h(ro)q(ot,)75 106 y(comm,)e(group,)i(a)o(rra)o
(y)p 452 106 V 14 w(of)p 503 106 V 16 w(errco)q(des,)h(request\))117
183 y Fg(IN)155 b Fi(command)p 506 183 V 16 w(line)321
b Fg(executable)18 b(and)f(argumen)o(ts,)g(in)g(a)f(single)h(string)g
(\(string,)905 239 y(signi\014can)o(t)d(only)f(at)g(ro)q(ot\))117
315 y(IN)155 b Fi(minp)o(ro)q(cs)417 b Fg(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 371 y(ni\014can)o(t)14 b(only)f(at)h(ro)q(ot\))117
446 y(IN)155 b Fi(maxp)o(ro)q(cs)408 b Fg(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 503 y(ni\014can)o(t)c(only)f(at)h(ro)q(ot\))117
578 y(IN)155 b Fi(info)516 b Fg(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 634 y(start)h(the)f(pro)
q(cesses)j(\(string,)c(signi\014can)o(t)h(only)f(at)h(ro)q(ot\))117
709 y(IN)155 b Fi(ro)q(ot)508 b Fg(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
766 y(\(in)o(teger\))117 841 y(IN)155 b Fi(comm)470 b
Fg(comm)o(unicator)7 b(of)i(group)g(of)g(spa)o(wning)g(pro)q(cesses)j
(\(handle\))117 916 y(OUT)108 b Fi(group)479 b Fg(group)14
b(con)o(taining)f(spa)o(wned)h(pro)q(cesses)j(\(handle\))117
991 y(OUT)108 b Fi(a)o(rra)o(y)p 416 991 V 15 w(of)p
468 991 V 16 w(errco)q(des)268 b Fg(one)14 b(co)q(de)h(p)q(er)g(pro)q
(cess)h(\(arra)o(y)d(of)h(in)o(teger\))117 1066 y(OUT)108
b Fi(request)452 b Fg(request)16 b(ob)r(ject)e(\(handle\))75
1191 y Ff(int)23 b(MPI)p 245 1191 15 2 v 17 w(Ispawn)p
406 1191 V 17 w(independent)p 687 1191 V 15 w(nonmpi\(char*)f(command)p
1180 1191 V 17 w(line,)h(int)g(minprocs,)393 1247 y(int)h(maxprocs,)e
(char*)h(info,)h(int)f(root,)g(MPI)p 1327 1247 V 17 w(Comm)g(comm,)393
1304 y(MPI)p 468 1304 V 17 w(Group*)g(group,)g(int*)g(array)p
1058 1304 V 17 w(of)p 1123 1304 V 17 w(errcodes,)f(MPI)p
1450 1304 V 17 w(Request*)h(request\))75 1390 y(MPI)p
150 1390 V 17 w(ISPAWN)p 311 1390 V 16 w(INDEPENDENT)p
591 1390 V 16 w(NONMPI\(COMMAND)p 943 1390 V 15 w(LINE,)g(MINPROCS,)g
(MAXPROCS,)g(INFO,)g(ROOT,)393 1447 y(COMM,)g(GROUP,)g(ARRAY)p
826 1447 V 17 w(OF)p 891 1447 V 17 w(ERRCODES,)f(REQUEST,)h(IERR\))170
1503 y(CHARACTER*\(*\))g(COMMAND)p 676 1503 V 16 w(LINE,)g(INFO)170
1559 y(INTEGER)g(MINPROCS,)g(MAXPROCS,)g(ROOT,)g(COMM,)g(GROUP,)g
(ARRAY)p 1415 1559 V 17 w(OF)p 1480 1559 V 16 w(ERRCODES\(*\),)170
1616 y(REQUEST,)g(IERR)1967 46 y Fe(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: 9 10
9 9 bop 1852 -100 a Fl(9)75 49 y Fi(MPI)p 160 49 14 2
v 16 w(ISP)l(A)-5 b(WN)p 339 49 V 17 w(MUL)l(TIPLE)p
573 49 V 15 w(INDEPENDENT)p 904 49 V 17 w(MPI\(count,)15
b(a)o(rra)o(y)p 1249 49 V 15 w(of)p 1301 49 V 16 w(command)p
1502 49 V 15 w(lines,)75 106 y(a)o(rra)o(y)p 173 106
V 15 w(of)p 225 106 V 16 w(minp)o(ro)q(cs,)f(a)o(rra)o(y)p
533 106 V 15 w(of)p 585 106 V 16 w(maxp)o(ro)q(cs,)g(a)o(rra)o(y)p
902 106 V 14 w(of)p 953 106 V 16 w(info,)h(ro)q(ot,)f(comm,)f(group,)i
(a)o(rra)o(y)p 1548 106 V 15 w(of)p 1600 106 V 16 w(errco)q(des,)75
162 y(request\))117 239 y Fg(IN)155 b Fi(count)482 b
Fg(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 296 y(follo)o(wing)f(arra)o(ys\))117
371 y(IN)155 b Fi(a)o(rra)o(y)p 416 371 V 15 w(of)p 468
371 V 16 w(command)p 669 371 V 15 w(lines)142 b Fg(executable)12
b(and)f(argumen)o(ts)f(\(arra)o(y)g(of)g(strings,)h(signi\014can)o(t)
905 427 y(only)i(at)h(ro)q(ot\))117 503 y(IN)155 b Fi(a)o(rra)o(y)p
416 503 V 15 w(of)p 468 503 V 16 w(minp)o(ro)q(cs)254
b Fg(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 559 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
634 y(IN)155 b Fi(a)o(rra)o(y)p 416 634 V 15 w(of)p 468
634 V 16 w(maxp)o(ro)q(cs)245 b Fg(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 691
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 766 y(IN)155 b Fi(a)o(rra)o(y)p
416 766 V 15 w(of)p 468 766 V 16 w(info)353 b Fg(strings)17
b(telling)e(the)i(run)o(time)e(system)i(where)g(and)f(ho)o(w)g(to)905
822 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 879 y(ro)q(ot\))117
954 y(IN)155 b Fi(ro)q(ot)508 b Fg(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
1010 y(\(in)o(teger\))117 1085 y(IN)155 b Fi(comm)470
b Fg(comm)o(unicator)7 b(of)i(group)g(of)g(spa)o(wning)g(pro)q(cesses)j
(\(handle\))117 1161 y(OUT)108 b Fi(group)479 b Fg(group)14
b(of)f(spa)o(wned)i(pro)q(cesses)h(\(handle\))117 1236
y(OUT)108 b Fi(a)o(rra)o(y)p 416 1236 V 15 w(of)p 468
1236 V 16 w(errco)q(des)268 b Fg(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\))117 1311
y(OUT)108 b Fi(request)452 b Fg(request)16 b(ob)r(ject)e(\(handle\))75
1435 y Ff(int)23 b(MPI)p 245 1435 15 2 v 17 w(Ispawn)p
406 1435 V 17 w(multiple)p 615 1435 V 16 w(independent)p
895 1435 V 15 w(mpi\(int*)g(count,)393 1492 y(char*)g(array)p
659 1492 V 17 w(of)p 724 1492 V 17 w(command)p 909 1492
V 16 w(lines[],)g(int*)g(array)p 1379 1492 V 17 w(of)p
1444 1492 V 16 w(minprocs,)393 1548 y(int*)g(array)p
635 1548 V 17 w(of)p 700 1548 V 17 w(maxprocs,)g(char*)g(array)p
1219 1548 V 16 w(of)p 1283 1548 V 17 w(info[],)g(int)g(root,)393
1605 y(MPI)p 468 1605 V 17 w(Comm)g(comm,)g(MPI)p 819
1605 V 17 w(Group*)g(group,)g(int*)h(array)p 1410 1605
V 16 w(of)p 1474 1605 V 17 w(errcodes,)393 1661 y(MPI)p
468 1661 V 17 w(Request*)f(request\))75 1748 y(MPI)p
150 1748 V 17 w(ISPAWN)p 311 1748 V 16 w(MULTIPLE)p 519
1748 V 16 w(INDEPENDENT)p 799 1748 V 16 w(MPI\(COUNT,)f(ARRAY)p
1197 1748 V 17 w(OF)p 1262 1748 V 17 w(COMMAND)p 1447
1748 V 16 w(LINES,)393 1804 y(ARRAY)p 516 1804 V 17 w(OF)p
581 1804 V 17 w(MINPROCS,)g(ARRAY)p 956 1804 V 17 w(OF)p
1021 1804 V 17 w(MAXPROCS,)g(ARRAY)p 1396 1804 V 17 w(OF)p
1461 1804 V 17 w(INFO,)h(ROOT,)393 1860 y(COMM,)g(GROUP,)g(ARRAY)p
826 1860 V 17 w(OF)p 891 1860 V 17 w(ERRCODES,)f(REQUEST,)h(IERR\))170
1917 y(CHARACTER*\(*\))g(ARRAY)p 628 1917 V 16 w(OF)p
692 1917 V 17 w(COMMAND)p 877 1917 V 16 w(LINES\(*\),)g(ARRAY)p
1252 1917 V 16 w(OF)p 1316 1917 V 17 w(INFO)170 1973
y(INTEGER)g(COUNT,)g(ARRAY)p 651 1973 V 17 w(OF)p 716
1973 V 17 w(MINPROCS,)f(ARRAY)p 1091 1973 V 17 w(OF)p
1156 1973 V 17 w(MAXPROCS,)g(ROOT,)i(COMM,)f(GROUP,)170
2030 y(ARRAY)p 293 2030 V 17 w(OF)p 358 2030 V 17 w(ERRCODES\(*\),)f
(REQUEST,)h(IERR)-32 46 y Fe(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: 10 11
10 10 bop 75 -100 a Fl(10)75 49 y Fi(MPI)p 160 49 14
2 v 16 w(ISP)l(A)-5 b(WN)p 339 49 V 17 w(MUL)l(TIPLE)p
573 49 V 15 w(INDEPENDENT)p 904 49 V 17 w(NONMPI\(count,)16
b(a)o(rra)o(y)p 1347 49 V 15 w(of)p 1399 49 V 16 w(command)p
1600 49 V 15 w(lines,)75 106 y(a)o(rra)o(y)p 173 106
V 15 w(of)p 225 106 V 16 w(minp)o(ro)q(cs,)e(a)o(rra)o(y)p
533 106 V 15 w(of)p 585 106 V 16 w(maxp)o(ro)q(cs,)g(a)o(rra)o(y)p
902 106 V 14 w(of)p 953 106 V 16 w(info,)h(ro)q(ot,)f(comm,)f(group,)i
(a)o(rra)o(y)p 1548 106 V 15 w(of)p 1600 106 V 16 w(errco)q(des,)75
162 y(request\))117 239 y Fg(IN)155 b Fi(count)482 b
Fg(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 296 y(follo)o(wing)f(arra)o(ys\))117
371 y(IN)155 b Fi(a)o(rra)o(y)p 416 371 V 15 w(of)p 468
371 V 16 w(command)p 669 371 V 15 w(lines)142 b Fg(executable)12
b(and)f(argumen)o(ts)f(\(arra)o(y)g(of)g(strings,)h(signi\014can)o(t)
905 427 y(only)i(at)h(ro)q(ot\))117 503 y(IN)155 b Fi(a)o(rra)o(y)p
416 503 V 15 w(of)p 468 503 V 16 w(minp)o(ro)q(cs)254
b Fg(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 559 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
634 y(IN)155 b Fi(a)o(rra)o(y)p 416 634 V 15 w(of)p 468
634 V 16 w(maxp)o(ro)q(cs)245 b Fg(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 691
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 766 y(IN)155 b Fi(a)o(rra)o(y)p
416 766 V 15 w(of)p 468 766 V 16 w(info)353 b Fg(strings)17
b(telling)e(the)i(run)o(time)e(system)i(where)g(and)f(ho)o(w)g(to)905
822 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 879 y(ro)q(ot\))117
954 y(IN)155 b Fi(ro)q(ot)508 b Fg(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
1010 y(\(in)o(teger\))117 1085 y(IN)155 b Fi(comm)470
b Fg(comm)o(unicator)7 b(of)i(group)g(of)g(spa)o(wning)g(pro)q(cesses)j
(\(handle\))117 1161 y(OUT)108 b Fi(group)479 b Fg(group)14
b(of)f(spa)o(wned)i(pro)q(cesses)h(\(handle\))117 1236
y(OUT)108 b Fi(a)o(rra)o(y)p 416 1236 V 15 w(of)p 468
1236 V 16 w(errco)q(des)268 b Fg(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\))117 1311
y(OUT)108 b Fi(request)452 b Fg(request)16 b(ob)r(ject)e(\(handle\))75
1435 y Ff(int)23 b(MPI)p 245 1435 15 2 v 17 w(Ispawn)p
406 1435 V 17 w(multiple)p 615 1435 V 16 w(independent)p
895 1435 V 15 w(nonmpi\(int*)g(count,)393 1492 y(char*)g(array)p
659 1492 V 17 w(of)p 724 1492 V 17 w(command)p 909 1492
V 16 w(lines[],)g(int*)g(array)p 1379 1492 V 17 w(of)p
1444 1492 V 16 w(minprocs,)393 1548 y(int*)g(array)p
635 1548 V 17 w(of)p 700 1548 V 17 w(maxprocs,)g(char*)g(array)p
1219 1548 V 16 w(of)p 1283 1548 V 17 w(info[],)g(int)g(root,)393
1605 y(MPI)p 468 1605 V 17 w(Comm)g(comm,)g(MPI)p 819
1605 V 17 w(Group*)g(group,)g(int*)h(array)p 1410 1605
V 16 w(of)p 1474 1605 V 17 w(errcodes,)393 1661 y(MPI)p
468 1661 V 17 w(Request*)f(request\))75 1748 y(MPI)p
150 1748 V 17 w(SPAWN)p 287 1748 V 16 w(MULTIPLE)p 495
1748 V 16 w(INDEPENDENT)p 775 1748 V 16 w(NONMPI\(COUNT,)f(ARRAY)p
1245 1748 V 17 w(OF)p 1310 1748 V 17 w(COMMAND)p 1495
1748 V 16 w(LINES,)393 1804 y(ARRAY)p 516 1804 V 17 w(OF)p
581 1804 V 17 w(MINPROCS,)g(ARRAY)p 956 1804 V 17 w(OF)p
1021 1804 V 17 w(MAXPROCS,)g(ARRAY)p 1396 1804 V 17 w(OF)p
1461 1804 V 17 w(INFO,)h(ROOT,)393 1860 y(COMM,)g(GROUP,)g(ARRAY)p
826 1860 V 17 w(OF)p 891 1860 V 17 w(ERRCODES,)f(REQUEST,)h(IERR\))170
1917 y(CHARACTER*\(*\))g(ARRAY)p 628 1917 V 16 w(OF)p
692 1917 V 17 w(COMMAND)p 877 1917 V 16 w(LINES\(*\),)g(ARRAY)p
1252 1917 V 16 w(OF)p 1316 1917 V 17 w(INFO)170 1973
y(INTEGER)g(COUNT,)g(ARRAY)p 651 1973 V 17 w(OF)p 716
1973 V 17 w(MINPROCS,)f(ARRAY)p 1091 1973 V 17 w(OF)p
1156 1973 V 17 w(MAXPROCS,)g(ROOT,)i(COMM,)f(GROUP,)170
2030 y(ARRAY)p 293 2030 V 17 w(OF)p 358 2030 V 17 w(ERRCODES\(*\),)f
(REQUEST,)h(IERR)166 2116 y Fl(F)l(or)c(all)i(of)e(the)h(routines)g(in)
h(this)f(section,)h(the)f(argumen)o(ts)f(are)g(iden)o(tical)j(to)d
(their)i(blo)q(c)o(king)75 2173 y(coun)o(terparts)14
b(except)h(that)g(there)g(is)g(an)g(additional)h Fi(request)h
Fl(argumen)o(t.)i(The)c(request)g(can)g(b)q(e)g(used)75
2229 y(as)c(input)i(for)e Fi(MPI)p 396 2229 14 2 v 16
w(W)l(AIT)p Fl(,)g Fi(MPI)p 631 2229 V 16 w(TEST)p Fl(,)g(etc.)19
b(In)12 b(all)h(cases,)f(the)f(output)h Fi(group)f Fl(or)g
Fi(intercomm)p Fl(,)g(and)h(the)75 2286 y Fi(a)o(rra)o(y)p
173 2286 V 15 w(of)p 225 2286 V 16 w(errco)q(des)i Fl(are)g(up)q(dated)
h(async)o(hronously)f(and)h(are)f(not)f(v)m(alid)j(un)o(til)f(the)g
(request)f(completes.)166 2342 y(The)g(status)f(ob)s(ject)h(returned)g
(b)o(y)g Fi(MPI)p 858 2342 V 16 w(W)l(AIT)g Fl(con)o(tains)g(an)g
(error)f(co)q(de)h(indicating)i(whether)e(or)75 2399
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 2455 y Fi(a)o(rra)o(y)p 173 2455 V
15 w(of)p 225 2455 V 16 w(errco)q(des)p Fl(.)k(The)16
b(errorco)q(de)g(can)f(b)q(e)i(retriev)o(ed)f(as)f(the)h
Fi(MPI)p 1280 2455 V 15 w(ERROR)i Fl(elemen)o(t)e(of)f(the)h(status)75
2511 y(ob)s(ject)f(returned)g(b)o(y)g Fi(MPI)p 545 2511
V 16 w(W)l(AIT)p Fl(,)g Fi(MPI)p 784 2511 V 16 w(TEST)p
Fl(,)g(etc.)166 2568 y(All)22 b(of)f(the)g(non-blo)q(c)o(king)h
(routines)g(in)f(this)h(section)f(are)g(collectiv)o(e)h(\(o)o(v)o(er)e
(the)h(same)g(set)f(of)75 2624 y(pro)q(cesses)c(as)e(their)i(blo)q(c)o
(king)h(coun)o(terparts\),)c(and)j(ob)q(ey)f(the)h(the)f(follo)o(wing)h
(rules:)1967 46 y Fe(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: 11 12
11 11 bop 1830 -100 a Fl(11)143 49 y Fb(\017)23 b Fl(A)c(non-blo)q(c)o
(king)i(collectiv)o(e)g(routine)f(m)o(ust)e(b)q(e)i(called)h(in)f(ev)o
(ery)f(pro)q(cess)h(of)e(the)i(asso)q(ciated)189 106
y(comm)o(unicator)14 b(b)q(efore)i Fi(MPI)p 707 106 14
2 v 16 w(FINALIZE)e Fl(is)i(called.)143 200 y Fb(\017)23
b Fl(The)13 b(op)q(eration)g(is)h(lo)q(cal.)20 b(A)14
b(non-blo)q(c)o(king)h(collectiv)o(e)g(op)q(eration)e(will)i(return)e
(ev)o(en)h(if)f(it)h(is)f(not)189 256 y(called)j(immediately)h(on)e
(all)i(pro)q(cesses.)143 350 y Fb(\017)23 b Fl(Multiple)17
b(outstanding)f(non-blo)q(c)o(king)h(op)q(erations)e(of)h(the)f(same)g
(t)o(yp)q(e)h(on)f(the)h(same)f(comm)o(u-)189 406 y(nicator)f(are)g
(allo)o(w)o(ed,)h(and)g(matc)o(h)f(up)h(in)g(the)f(order)h(they)f(w)o
(ere)h(called)h(\(since)f(there)g(is)g(no)f Fi(tag)189
463 y Fl(argumen)o(t\).)20 b(Op)q(erations)d(of)e(di\013eren)o(t)i(t)o
(yp)q(es)e(and/or)h(on)g(di\013eren)o(t)g(comm)o(unicators)f(ma)o(y)g
(b)q(e)189 519 y(in)o(terlea)o(v)o(ed.)143 613 y Fb(\017)23
b Fl(Requests)17 b(cannot)g(b)q(e)h(cancelled.)28 b(An)18
b(attempt)e(to)h(cancel)h(a)f(collectiv)o(e)i(request)e(will)i(return)
189 669 y(an)c(error)f(of)h(error)g(class)g Fi(MPI)p
718 669 V 16 w(ERR)p 819 669 V 17 w(REQUEST)p Fl(.)75
791 y Fk(2.3.3)49 b(Pro)q(cess)15 b(Utilities)75 877
y Fl(It)g(is)h(not)e(p)q(ossible)j(to)d(comm)o(unicate,)h(using)h
(messages,)e(with)i(a)e(pro)q(cess)i(represen)o(ted)f(b)o(y)g(a)g
(\(group,)75 933 y(rank\))g(pair,)h(except)h(through)e(a)g(comm)o
(unicator)h(asso)q(ciated)g(with)g(that)f(group.)22 b(F)l(or)15
b(instance,)h(it)g(is)75 990 y(not)f(p)q(ossible)i(to)d(send)i(a)f
(message)g(to)f(an)h(MPI)h(pro)q(cess)f(spa)o(wned)g(b)o(y)75
1046 y Fi(MPI)p 160 1046 V 16 w(SP)l(A)-5 b(WN)p 326
1046 V 17 w(INDEPENDENT)p 659 1046 V 17 w(MPI)p Fl(,)14
b(since)i(no)f(comm)o(unicator)g(is)h(a)o(v)m(ailable.)166
1103 y(Ho)o(w)o(ev)o(er,)e(MPI)h(pro)o(vides)h(simple)g(mec)o(hanisms)g
(to)f(manage)f(suc)o(h)i(pro)q(cesses.)75 1159 y Fi(MPI)p
160 1159 V 16 w(PROCESS)p 373 1159 V 18 w(SIGNAL)c Fl(sends)g(a)g
(signal)h(to)e(a)h(pro)q(cess,)g(and)g Fi(MPI)p 1259
1159 V 16 w(PROCESS)p 1472 1159 V 18 w(MONITOR)g Fl(pro)o(vides)75
1216 y(a)j(mec)o(hanism)h(to)e(detect)i(when)f(a)g(pro)q(cess)h(dies)g
(or)f(c)o(hanges)g(state.)75 1367 y Fi(MPI)p 160 1367
V 16 w(PROCESS)p 373 1367 V 18 w(SIGNAL\(group,)f(rank,)h(signal\))117
1444 y Fg(IN)155 b Fi(group)479 b Fg(group)14 b(con)o(taining)f(pro)q
(cess)i(to)f(signal)f(\(handle\))117 1519 y(IN)155 b
Fi(rank)504 b Fg(rank)14 b(of)f(pro)q(cess)j(to)e(signal)f(\(in)o
(teger\))117 1594 y(IN)155 b Fi(signal)480 b Fg(signal)13
b(t)o(yp)q(e)h(\(in)o(teger\))75 1719 y Ff(int)23 b(MPI)p
245 1719 15 2 v 17 w(Process)p 430 1719 V 16 w(signal\(MPI)p
686 1719 V 16 w(Group)g(group,)g(int)h(rank,)f(int)h(signal\))75
1805 y(MPI)p 150 1805 V 17 w(PROCESS)p 335 1805 V 16
w(SIGNAL\(GROUP,)e(RANK,)h(SIGNAL,)g(IERR\))170 1861
y(INTEGER)g(GROUP,)g(RANK,)h(SIGNAL,)e(IERR)166 1948
y Fi(MPI)p 251 1948 14 2 v 16 w(PROCESS)p 464 1948 V
18 w(SIGNAL)g Fl(sends)g(a)g(signal)h(to)e(a)h(pro)q(cess)g(represen)o
(ted)g(b)o(y)g(a)g(\(group,)h(rank\))75 2004 y(pair.)30
b(Where)18 b(POSIX)i(signals)f(are)f(supp)q(orted,)h
Fi(signal)g Fl(is)f(a)g(signal)i(de\014ned)f(b)o(y)g(POSIX.)g(It)f(is)h
(the)75 2061 y(resp)q(onsibilit)o(y)f(of)d(an)h(implemen)o(tation)g(to)
f(translate)h(b)q(et)o(w)o(een)f(signals;)i(in)f(other)f(w)o(ords,)g(a)
g Ff(SIGINT)75 2117 y Fl(that)e(has)h(v)m(alue)i Ff(3)e
Fl(on)g(system)g(A)g(m)o(ust)f(b)q(e)i(deliv)o(ered)h(as)e(a)g
Ff(SIGINT)f Fl(on)h(system)g(B,)g(ev)o(en)g(if)h(system)f(B)75
2174 y(uses)j(the)f(v)m(alue)i Ff(5)f Fl(for)f Ff(SIGINT)p
Fl(.)f(If)i(there)f(is)h(no)g(corresp)q(onding)g(signal,)h(the)e
(results)h(are)f(unde\014ned,)75 2230 y(though)g(not)h(erroneous,)f(so)
g(that)g(the)h(signal)g(is)h(silen)o(tly)g(con)o(v)o(erted)e(to)g(a)g
(signal)i(with)f(meaning)g(on)75 2287 y(the)e(target)f(mac)o(hine,)i
(or)f(is)g(dropp)q(ed)h(completely)l(.)166 2343 y(An)f(MPI)h(implemen)o
(tation)g(m)o(ust)f(also)g(supp)q(ort)g(the)g(MPI-de\014ned)i(signal)f
(t)o(yp)q(e)75 2400 y Fi(MPI)p 160 2400 V 16 w(SIGNAL)p
331 2400 V 16 w(KILL)p Fl(.)21 b(Sending)j(this)f(\\signal")f(will)i
(reliably)g(kill)h(a)d(pro)q(cess)g(and)h(attempt)e(to)h(do)75
2456 y(the)f(necessary)h(system-lev)o(el)g(clean)o(up.)39
b(In)22 b(order)e(to)h(allo)o(w)g(appropriate)g(clean)o(up)i(to)d(o)q
(ccur,)j(an)75 2512 y(implemen)o(tation)d(could,)g(for)e(instance,)i
(send)f(a)f(catc)o(hable)h(signal)g(\(e.g.,)f(SIGINT\))h(follo)o(w)o
(ed)g(b)o(y)f(a)75 2569 y(noncatc)o(hable)i(signal)g(\(SIGKILL\))g(if)g
(the)f(pro)q(cess)g(had)h(not)e(exited)i(after)f(a)f(short)h(time)g(in)
o(terv)m(al.)75 2625 y(MPI)g(requires)h(only)f(that)f(the)h(pro)q(cess)
h(b)q(e)f(reliably)i(killed.)33 b(Applications)21 b(should)f(not)f
(rely)g(on)g(a)75 2682 y(sp)q(eci\014c)e(implemen)o(tation.)-32
46 y Fe(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: 12 13
12 12 bop 75 -100 a Fl(12)166 49 y(Signals)15 b(are)e(deliv)o(ered)i
(async)o(hronously)l(.)20 b(That)13 b(is,)h(when)h(the)e
Fi(MPI)p 1362 49 14 2 v 16 w(SIGNAL)h Fl(function)g(returns,)75
106 y(the)k(signal)g(ma)o(y)g(not)f(y)o(et)g(ha)o(v)o(e)h(b)q(een)h
(deliv)o(ered.)29 b(If)18 b(a)g(signal)g(is)g(undeliv)o(erable)j
(\(e.g.,)c(the)h(pro)q(cess)75 162 y(has)d(already)h(exited\),)f(the)g
(signal)h(is)g(silen)o(tly)h(dropp)q(ed.)166 301 y Fh(Discussion:)34
b Fg(In)14 b(man)o(y)e(cases)k(when)e(a)g(signal)f(is)h(undeliv)o
(erable,)f(MPI)h(ma)o(y)e(kno)o(w)i(when)g(the)h(routine)75
358 y(is)k(called)f(that)h(it)f(is)g(undeliv)o(erable)h(\(e.g.,)g(the)g
(pro)q(cess)i(has)d(already)h(b)q(een)g(mark)o(ed)f(dead\).)33
b(It)18 b(w)o(ould)g(b)q(e)75 414 y(p)q(ossible)e(to)f(return)i(an)f
(error)g(in)f(this)h(case,)h(though)e(error)i(rep)q(orting)f(w)o(ould)f
(b)q(e)h(unreliable,)f(and)h(w)o(ould)e(b)q(e)75 471
y(an)k(exception)i(to)e(the)h(usual)g(MPI)g(rule)f(that)h(all)e(errors)
j(are)f(fatal)f(b)o(y)g(default.)32 b(Alternativ)o(ely)m(,)18
b(w)o(e)h(could)75 527 y(require)c(that)f(signals)f(b)q(e)i(sen)o(t)g
(sync)o(hronously)m(,)e(and)h(return)h(a)f(status)h(indicating)d
(whether)k(it)d(w)o(as)h(successful)75 584 y(or)g(not)g(\(though)g(the)
h(return)h(v)n(alue)d(of)h(the)g(function)g(w)o(ould)g(b)q(e)g
Fd(MPI)p 1201 584 13 2 v 15 w(SUCCESS)e Fg(unless)j(there)h(w)o(ere)f
(an)f(error)75 640 y(in)f(argumen)o(ts\).)75 874 y Fi(MPI)p
160 874 14 2 v 16 w(GROUP)p 328 874 V 18 w(SIGNAL\(group,)h(signal\))
117 951 y Fg(IN)155 b Fi(group)479 b Fg(group)14 b(of)f(pro)q(cesses)k
(to)c(signal)g(\(handle\))117 1026 y(IN)155 b Fi(signal)480
b Fg(signal)13 b(t)o(yp)q(e)h(\(in)o(teger\))75 1150
y Ff(int)23 b(MPI)p 245 1150 15 2 v 17 w(Group)p 382
1150 V 17 w(signal\(MPI)p 639 1150 V 16 w(Group)g(group,)g(int)g
(signal\))75 1237 y(MPI)p 150 1237 V 17 w(GROUP)p 287
1237 V 16 w(SIGNAL\(GROUP,)f(SIGNAL,)h(IERR\))170 1293
y(INTEGER)g(GROUP,)g(SIGNAL,)g(IERR)166 1380 y Fl(The)15
b(con)o(v)o(enience)i(function)f Fi(MPI)p 771 1380 14
2 v 16 w(GROUP)p 939 1380 V 18 w(SIGNAL)f Fl(is)h(equiv)m(alen)o(t)h
(to)d(calling)75 1436 y Fi(MPI)p 160 1436 V 16 w(PROCESS)p
373 1436 V 18 w(SIGNAL)h Fl(once)h(for)e(eac)o(h)i(rank)e(in)j(the)e
(group.)189 1543 y Fj(A)n(dvic)n(e)e(to)i(users.)39 b
Fl(Signals)15 b(do)e(not)g(pro)o(vide)h(an)o(y)g(of)f(the)g(reliabilit)
o(y)j(or)d(guaran)o(tees)g(of)g(regular)189 1599 y(MPI)j(comm)o
(unication.)23 b(A)16 b(high)h(qualit)o(y)g(implemen)o(tation)g(will)h
(deliv)o(er)f(signals)g(quic)o(kly)h(and)189 1655 y(reliably)l(,)23
b(but)d(applications)i(should)f(nev)o(er)f(dep)q(end)i(on)e(ordering.)
35 b(Since)21 b(signals)g(ma)o(y)e(not)189 1712 y(b)q(e)h(queued,)i
(when)e(m)o(ultiple)i(signals)f(are)e(sen)o(t,)i(only)f(one)g(ma)o(y)f
(get)h(through.)33 b(Some)20 b(MPI)189 1768 y(implemen)o(tations)e(ma)o
(y)f(use)h(signals)g(in)o(ternally)l(.)29 b(If)18 b(an)f(application)i
(attempts)e(to)g(use)h(these)189 1825 y(signals,)g(unexp)q(ected)i(b)q
(eha)o(vior)e(ma)o(y)f(result.)27 b(Finally)l(,)20 b(it)e(ma)o(y)f(not)
g(b)q(e)h(p)q(ossible)i(at)d(the)g(im-)189 1881 y(plemen)o(tation)g
(lev)o(el)i(to)d(restrict)h(the)g(e\013ects)g(of)f(a)h(signal)h(to)e(a)
h(single)h(MPI)f(pro)q(cess,)g(so)g(that)189 1938 y(a)d(side-e\013ect)i
(of)f(sending)h(a)e(signal)i(to)e(a)h(pro)q(cess)g(ma)o(y)f(b)q(e)i
(that)e(other)h(pro)q(cesses)g(receiv)o(e)h(that)189
1994 y(signal)g(or)e(are)h(killed.)22 b(\()p Fj(End)16
b(of)g(advic)n(e)g(to)h(users.)p Fl(\))75 2116 y Fk(2.3.4)49
b(Noti\014cation)18 b(of)e(change)g(in)h(state)e(of)i(a)g(p)o(ro)q
(cess)75 2202 y Fl(In)f(order)g(to)f(manage)g(pro)q(cesses)i(or)e(ha)o
(v)o(e)g(the)h(minim)o(um)h(in)g(fault)f(tolerance,)g(an)g(MPI)f
(application)75 2258 y(m)o(ust)g(b)q(e)g(able)h(to)f(b)q(e)h
(noti\014ed)g(when)g(a)f(pro)q(cess)g(exits.)1967 46
y Fe(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: 13 14
13 13 bop 1830 -100 a Fl(13)75 49 y Fi(MPI)p 160 49 14
2 v 16 w(PROCESS)p 373 49 V 18 w(MONITOR\(group,)15 b(rank,)g(event,)h
(request\))117 126 y Fg(IN)155 b Fi(group)479 b Fg(a)14
b(group)g(of)f(pro)q(cesses)j(\(handle\))117 202 y(IN)155
b Fi(rank)504 b Fg(rank)14 b(of)f(pro)q(cess)j(to)e(b)q(e)g(monitored)f
(\(in)o(teger\))117 277 y(IN)155 b Fi(event)487 b Fg(a)15
b(\015ag)f(sp)q(ecifying)h(what)g(ev)o(en)o(t)h(to)f(b)q(e)g
(noti\014ed)h(ab)q(out)e(\(in-)905 333 y(teger\))117
408 y(OUT)108 b Fi(request)452 b Fg(a)14 b(request)h(ob)r(ject)g
(\(handle\))75 533 y Ff(int)23 b(MPI)p 245 533 15 2 v
17 w(Process)p 430 533 V 16 w(monitor\(MPI)p 710 533
V 16 w(Group)g(group,)g(int)h(rank,)f(int)g(event,)393
589 y(MPI)p 468 589 V 17 w(Request*)g(request\))75 676
y(MPI)p 150 676 V 17 w(PROCESS)p 335 676 V 16 w(MONITOR\(GROUP,)f
(RANK,)h(EVENT,)g(REQUEST,)g(IERR\))170 732 y(INTEGER)g(GROUP,)g(RANK,)
h(EVENT,)f(REQUEST,)f(IERR)166 819 y Fl(This)13 b(function)h(pro)o
(vides)f(a)f(general)i(metho)q(d)f(for)f(an)g(MPI)h(pro)q(cess)g(to)f
(detect)h(a)f(c)o(hange)h(in)h(state)75 875 y(of)h(another)h(pro)q
(cess.)21 b(The)16 b(request)g(completes)g(when)h(the)f(pro)q(cess)g(c)
o(hanges)f(state)g(as)h(indicated)h(b)o(y)75 932 y Fi(event)p
Fl(.)166 988 y Fi(event)i Fl(is)f(an)f(in)o(teger)h(sp)q(ecifying)h(a)e
(c)o(hange)h(of)f(state)f(that)h(the)g(calling)j(pro)q(cess)d(wishes)i
(to)d(de-)75 1044 y(tect.)j(The)d(most)e(imp)q(ortan)o(t)g(state-c)o
(hange)g(and)h(the)g(only)h(one)f(MPI)g(curren)o(tly)g(de\014nes)h(for)
e Fi(event)i Fl(is)75 1101 y Fi(MPI)p 160 1101 14 2 v
16 w(PROCESS)p 373 1101 V 18 w(DIED)p Fl(.)f(F)l(or)h(this)h(case,)g
Fi(request)h Fl(completes)f(when)g(the)g(pro)q(cess)g(terminates)f(or)g
(b)q(e-)75 1157 y(comes)d(unreac)o(hable.)20 b(If)14
b(a)f(pro)q(cess)g(has)g(already)g(terminated)h(or)f(b)q(ecome)g
(unreac)o(hable,)i(the)e(request)75 1214 y(completes)j(immediately)l(.)
22 b(If)16 b(an)f(application)i(w)o(an)o(ts)d(to)h(b)q(e)h(noti\014ed)g
(of)f(sev)o(eral)g(di\013eren)o(t)h(ev)o(en)o(ts,)f(it)75
1270 y(m)o(ust)h(call)i Fi(MPI)p 359 1270 V 16 w(PROCESS)p
572 1270 V 18 w(MONITOR)f Fl(once)g(for)g(eac)o(h)f(ev)o(en)o(t.)25
b(If)17 b(a)f(m)o(ultiple)j(requests)d(are)h(activ)o(e)75
1327 y(for)e(a)f(single)j(t)o(yp)q(e)e(of)g(ev)o(en)o(t,)g(all)h
(requests)f(will)i(complete)f(when)f(the)h(ev)o(en)o(t)f(o)q(ccurs.)166
1459 y Fh(Discussion:)42 b Fd(MPI)p 519 1459 13 2 v 14
w(PROCESS)p 716 1459 V 13 w(DIED)15 b Fg(do)q(es)i(not)f(ha)o(v)o(e)f
(an)o(y)h(race)g(conditions)g(asso)q(ciated)h(with)e(it)g(b)q(e-)75
1509 y(cause)i(it)e(is)g(p)q(ossible)h(to)g(determine)f(whether)i(a)f
(pro)q(cess)h(is)f(dead)g(b)o(y)f(examining)e(it.)23
b(A)16 b(h)o(yp)q(othetical)f(ev)o(en)o(t)75 1559 y Fd(MPI)p
152 1559 V 14 w(PROCESS)p 349 1559 V 14 w(MIGRA)m(TED)p
Fg(,)e(on)j(the)h(other)f(hand,)g(is)g(m)o(uc)o(h)e(more)h(complicated)
g(to)g(handle,)h(since)h(once)f(a)75 1609 y(pro)q(cess)e(has)d
(migrated,)f(it)i(app)q(ears)g(the)h(same)d(as)i(an)o(y)f(other)i(pro)q
(cess.)19 b(This)11 b(means)g(there)i(is)f(a)f(race)i(condition)75
1658 y(b)q(et)o(w)o(een)j(the)f(call)f(to)g Fd(MPI)p
513 1658 V 14 w(PROCESS)p 710 1658 V 13 w(MONITOR)g Fg(and)g(the)h
(actual)g(migration,)c(so)j(that)h(it)f(is)g(imp)q(ossible)f(to)75
1708 y(guaran)o(tee)h(that)g(ev)o(en)o(ts)h(w)o(on't)e(b)q(e)i(lost.)
166 1758 y(One)h(w)o(a)o(y)f(to)g(handle)g(this)h(is)f(to)g(ha)o(v)o(e)
h(\\stic)o(ky")f(ev)o(en)o(ts)h(that)f(MPI)h(remem)o(b)q(ers)f(and)g
(can)h(giv)o(e)f(bac)o(k)g(to)75 1808 y(the)k(user)g(in)e(the)i(order)f
(receiv)o(ed.)32 b(Since)18 b(w)o(e)h(do)e(not)h(in)g(general)g(w)o(an)
o(t)f(for)h(ev)o(ery)h(pro)q(cess)h(to)d(b)q(e)i(noti\014ed)75
1858 y(ab)q(out)13 b(ev)o(ery)h(ev)o(en)o(t)g(in)f(ev)o(ery)h(other)g
(pro)q(cess)h(it)e(kno)o(ws)h(ab)q(out,)f(it)f(m)o(ust)h(b)q(e)h(p)q
(ossible)f(to)h(turn)f(on)g(and)h(o\013)f(this)75 1908
y(stic)o(kiness,)j(and)f(there)i(is)e(a)g(new)h(race)g(condition,)e
(admittedly)f(sligh)o(tly)h(more)h(di\016cult)f(to)h(trigger,)h(b)q(et)
o(w)o(een)75 1957 y(\\early")d(ev)o(en)o(ts)i(and)f(turning)g(on)f
(stic)o(kiness.)166 2007 y(A)h(h)o(yp)q(othetical)h(\\ev)o(en)o(t")f
Fd(MPI)p 679 2007 V 15 w(PROCESS)p 877 2007 V 13 w(SLEEPING)g
Fg(falls)f(somewhere)i(in)f(the)h(middle.)j(Whether)d(or)75
2057 y(not)f(a)f(pro)q(cess)j(is)e(sleeping)f(can)i(b)q(e)f(determined)
g(b)o(y)f(examining)f(the)i(curren)o(t)h(state)g(of)e(the)i(pro)q
(cess,)g(it)e(is)h(still)75 2107 y(p)q(ossible)g(to)g(miss)f(a)g
(sleep/w)o(ak)o(eup)i(pair.)166 2157 y(The)k(requiremen)o(t)g(that)g
(all)f(requests)j(complete)d(for)h(a)f(single)h(ev)o(en)o(t)g(rather)h
(than)f(one)g(at)g(a)g(time)e(is)75 2206 y(motiv)n(ated)9
b(b)o(y)j(the)g(observ)n(ation)f(that)g(sp)q(ecifying)h(one)f(request)i
(completion)d(p)q(er)i(ev)o(en)o(t)g(w)o(ould)f(not)g(completely)75
2256 y(solv)o(e)16 b(the)i(race)f(condition)f(it)g(tries)h(to)g
(address.)27 b(Moreo)o(v)o(er,)17 b(it)g(encourages)g(writing)f(hairy)g
(co)q(de)i(to)e(alw)o(a)o(ys)75 2306 y(k)o(eep)i(m)o(ultiple)d
(requests)20 b(outstanding.)28 b(Finally)m(,)16 b(there)j(is)e(curren)o
(tly)i(no)e Fd(event)i Fg(for)e(whic)o(h)h(it)f(w)o(ould)f(mak)o(e)75
2356 y(sense.)166 2495 y Fl(F)l(uture)c(v)o(ersions)h(of)f(the)h(MPI)f
(standard)h(ma)o(y)e(sp)q(ecify)j(new)f(t)o(yp)q(es)g(of)f(ev)o(en)o
(ts,)g(and)h(implemen)o(ta-)75 2551 y(tions)h(ma)o(y)f(de\014ne)i(new)f
(ones)g(as)f(w)o(ell.)21 b(If)14 b(an)g(application)h(w)o(an)o(ts)e(to)
g(b)q(e)i(noti\014ed)f(of)g(sev)o(eral)g(di\013eren)o(t)75
2608 y(ev)o(en)o(ts,)h(it)g(m)o(ust)g(call)h Fi(MPI)p
552 2608 14 2 v 16 w(PROCESS)p 765 2608 V 18 w(MONITOR)g
Fl(once)f(for)g(eac)o(h)g(ev)o(en)o(t.)-32 46 y Fe(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: 14 15
14 14 bop 75 -100 a Fl(14)166 49 y(F)l(or)11 b(a)h(request)h(generated)
f(b)o(y)g Fi(MPI)p 784 49 14 2 v 16 w(PROCESS)p 997 49
V 18 w(MONITOR)p Fl(,)g Fi(MPI)p 1333 49 V 16 w(W)l(AIT)g
Fl(returns)g(a)g(status)g(that)75 106 y(con)o(tains)j(no)g(useful)i
(information)e(\(i.e.,)g(the)g(status)f(is)i(unde\014ned\).)166
245 y Fh(Discussion:)47 b Fg(One)18 b(p)q(ossibilit)o(y)e(w)o(ould)h(b)
q(e)g(to)h(get)f(the)h(exit)f(co)q(de)h(from)e(the)h(status.)29
b(Ho)o(w)o(ev)o(er,)18 b(the)75 301 y(pro)q(cess)f(ma)o(y)c(not)i(ha)o
(v)o(e)f(exited)i(-)f(it)f(ma)o(y)f(ha)o(v)o(e)i(b)q(ecome)g(unreac)o
(hable.)22 b(It)15 b(ma)o(y)e(also)h(ha)o(v)o(e)h(b)q(een)h(killed)e(b)
o(y)g(a)75 358 y(signal)c(and)g(what)h(w)o(e'd)g(w)o(an)o(t)f(to)h(kno)
o(w)f(is)h(what)f(signal)g(killed)g(it.)16 b(In)11 b(the)h(end,)f(w)o
(e)g(migh)o(t)e(ha)o(v)o(e)h(to)h(reimplemen)o(t)75 414
y(w)o(ait.)75 648 y Fi(MPI)p 160 648 V 16 w(GROUP)p 328
648 V 18 w(MONITOR\(group,)k(event,)h(a)o(rra)o(y)p 935
648 V 14 w(of)p 986 648 V 16 w(requests\))117 725 y Fg(IN)155
b Fi(event)487 b Fg(a)14 b(\015ag)f(sp)q(ecifying)h(what)g(ev)o(en)o(t)
g(to)g(b)q(e)h(noti\014ed)e(ab)q(out)117 800 y(IN)155
b Fi(group)479 b Fg(a)14 b(group)g(of)f(pro)q(cesses)117
875 y(OUT)108 b Fi(a)o(rra)o(y)p 416 875 V 15 w(of)p
468 875 V 16 w(requests)272 b Fd(MPI)p 982 875 13 2 v
15 w(Request)p Fg(s)15 b(to)f(b)q(e)g(tested)i(and/or)d(w)o(aited)h(on)
75 1000 y Ff(int)23 b(MPI)p 245 1000 15 2 v 17 w(Group)p
382 1000 V 17 w(monitor\(MPI)p 663 1000 V 15 w(Group)h(group,)f(int)g
(event,)393 1056 y(MPI)p 468 1056 V 17 w(Request*)g(array)p
820 1056 V 16 w(of)p 884 1056 V 17 w(requests\))75 1143
y(MPI)p 150 1143 V 17 w(GROUP)p 287 1143 V 16 w(MONITOR\(GROUP,)f
(EVENT,)h(ARRAY)p 948 1143 V 17 w(OF)p 1013 1143 V 17
w(REQUESTS,)f(IERR\))170 1199 y(INTEGER)h(GROUP,)g(EVENT,)g(ARRAY)p
818 1199 V 17 w(OF)p 883 1199 V 17 w(REQUESTS\(*\),)f(IERR)166
1286 y Fl(This)c(con)o(v)o(enience)h(function)f(is)g(equiv)m(alen)o(t)h
(to)e(calling)i Fi(MPI)p 1258 1286 14 2 v 16 w(PROCESS)p
1471 1286 V 18 w(MONITOR)f Fl(once)g(for)75 1342 y(eac)o(h)c(pro)q
(cess)h(in)g Fi(group)p Fl(.)k(The)c Fa(i)p Fl(th)f(elemen)o(t)h(\(n)o
(um)o(b)q(ered)f(from)g(0\))f(of)h Fi(a)o(rra)o(y)p 1396
1342 V 15 w(of)p 1448 1342 V 16 w(requests)i Fl(is)f(asso)q(ciated)75
1398 y(with)h(rank)e Fa(i)h Fl(in)h(the)g(group.)166
1455 y Fi(a)o(rra)o(y-of-requests)c Fl(m)o(ust)e(ha)o(v)o(e)h(at)g
(least)h(as)f(man)o(y)g(elemen)o(ts)h(as)f(the)g(size)i(of)e(the)g
(group.)18 b(A)12 b(request)75 1511 y(completes)18 b(when)f(the)g
(corresp)q(onding)h(mem)o(b)q(er)f(of)g(the)g(group)f(c)o(hanges)h(to)g
(the)g(state)f(sp)q(eci\014ed)j(b)o(y)75 1568 y Fi(event)p
Fl(.)1967 46 y Fe(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
%%Trailer
end
userdict /end-hook known{end-hook}if
%%EOF