Download - PVM and MPI
-
7/27/2019 PVM and MPI
1/35
1
O v e r v i e w o f P V M a n d M P I
J a c k D o n g a r r a
C o m p u t e r S c i e n c e D e p a r t m e n t
U n i v e r s i t y o f T e n n e s s e e
a n d
M a t h e m a t i c a l S c i e n c e s S e c t i o n
O a k R i d g e N a t i o n a l L a b o r a t o r y
h t t p : w w w . n e t l i b . o r g u t k p e o p l e J a c k D o n g a r r a . h t m l
2
O u t l i n e
M o t i v a t i o n f o r M P I
T h e p r o c e s s t h a t p r o d u c e d M P I
W h a t i s d i e r e n t a b o u t M P I ?
t h e u s u a l " s e n d r e c e i v e
t h e M P I s e n d r e c e i v e
s i m p l e c o l l e c t i v e o p e r a t i o n s
N e w i n M P I : N o t i n M P I
S o m e s i m p l e c o m p l e t e e x a m p l e s , i n F o r t r a n a n d C
C o m m u n i c a t i o n m o d e s , m o r e o n c o l l e c t i v e o p e r a t i o n s
I m p l e m e n t a t i o n s t a t u s
M P I C H - a f r e e , p o r t a b l e i m p l e m e n t a t i o n
M P I r e s o u r c e s o n t h e N e t
M P I - 2
3
W h a t i s S P M D ?
2 S i n g l e P r o g r a m , M u l t i p l e D a t a
2 S a m e p r o g r a m r u n s e v e r y w h e r e .
2 R e s t r i c t i o n o n t h e g e n e r a l m e s s a g e - p a s s i n g m o d e l .
2 S o m e v e n d o r s o n l y s u p p o r t S P M D p a r a l l e l p r o g r a m s .
2 G e n e r a l m e s s a g e - p a s s i n g m o d e l c a n b e e m u l a t e d .
4
M e s s a g e s
2 M e s s a g e s a r e p a c k e t s o f d a t a m o v i n g b e t w e e n s u b - p r o g r a m s .
2 T h e m e s s a g e p a s s i n g s y s t e m h a s t o b e t o l d t h e
f o l l o w i n g i n f o r m a t i o n :
S e n d i n g p r o c e s s o r
S o u r c e l o c a t i o n
D a t a t y p e
D a t a l e n g t h
R e c e i v i n g p r o c e s s o r s
D e s t i n a t i o n l o c a t i o n
D e s t i n a t i o n s i z e
-
7/27/2019 PVM and MPI
2/35
5
A c c e s s
2 A s u b - p r o g r a m n e e d s t o b e c o n n e c t e d t o a m e s s a g e p a s s i n g
s y s t e m .
2 A m e s s a g e p a s s i n g s y s t e m i s s i m i l a r t o :
M a i l b o x
P h o n e l i n e
f a x m a c h i n e
e t c .
6
P o i n t - t o - P o i n t C o m m u n i c a t i o n
2 S i m p l e s t f o r m o f m e s s a g e p a s s i n g .
2 O n e p r o c e s s s e n d s a m e s s a g e t o a n o t h e r
2 D i e r e n t t y p e s o f p o i n t - t o p o i n t c o m m u n i c a t i o n
7
Synchronous Sends
Provide information about the completion of themessage.
"Beep"
8
Asynchronous Sends
Only know when the message has left.
?
-
7/27/2019 PVM and MPI
3/35
9
B l o c k i n g O p e r a t i o n s
2 R e l a t e t o w h e n t h e o p e r a t i o n h a s c o m p l e t e d .
2 O n l y r e t u r n f r o m t h e s u b r o u t i n e c a l l w h e n t h e
o p e r a t i o n h a s c o m p l e t e d .
1 0
NonBlocking OperationsReturn straight away and allow the subprogram tocontinue to perform other work. At some later timethe subprogram can TEST or WAIT for thecompletion of the nonblocking operation.
1 1
BarriersSynchronise processes.
Barrier
Barrier
Barrier
1 2
BroadcastA onetomany communication.
-
7/27/2019 PVM and MPI
4/35
1 3
Reduction Operations
Combine data from several processes to produce asingle result.
STRIKE
1 4
P a r a l l e l i z a t i o n G e t t i n g S t a r t e d
S t a r t i n g w i t h a l a r g e s e r i a l a p p l i c a t i o n
L o o k a t t h e P h y s i c s
I s p r o b l e m i n h e r e n t l y p a r a l l e l ?
E x a m i n e l o o p s t r u c t u r e s
A r e a n y i n d e p e n d e n t ? M o d e r a t e l y s o ?
T o o l s l i k e F o r g e 9 0 c a n b e h e l p f u l
L o o k f o r t h e c o r e l i n e a r a l g e b r a r o u t i n e s
R e p l a c e w i t h p a r a l l e l i z e d v e r s i o n s
A l r e a d y b e e n d o n e . c h e c k s u r v e y
1 5
P o p u l a r D i s t r i b u t e d P r o g r a m m i n g S c h e m e s
M a s t e r S l a v e
M a s t e r t a s k s t a r t s a l l s l a v e t a s k s a n d c o o r d i n a t e s t h e i r w o r k a n d I O
S P M D h o s t l e s s
S a m e p r o g r a m e x e c u t e s o n d i e r e n t p i e c e s o f t h e p r o b l e m
F u n c t i o n a l
S e v e r a l p r o g r a m s a r e w r i t t e n ; e a c h p e r f o r m s a d i e r e n t f u n c t i o n i n t h e
a p p l i c a t i o n .
1 6
P a r a l l e l P r o g r a m m i n g C o n s i d e r a t i o n s
G r a n u l a r i t y o f t a s k s
K e y m e a s u r e i s c o m m u n i c a t i o n c o m p u t a t i o n r a t i o o f t h e m a c h i n e : N u m -
b e r o f b y t e s s e n t d i v i d e d b y n u m b e r o f o p s p e r f o r m e d . L a r g e r g r a n u -
l a r i t y g i v e s h i g h e r s p e e d u p s b u t o f t e n l o w e r p a r a l l e l i s m .
N u m b e r o f m e s s a g e s
D e s i r a b l e t o k e e p t h e n u m b e r o f m e s s a g e s l o w b u t d e p e n d i n g o n t h e a l -
g o r i t h m i t c a n b e m o r e e c i e n t t o b r e a k l a r g e m e s s a g e s u p a n d p i p e l i n e
t h e d a t a w h e n t h i s i n c r e a s e s p a r a l l e l i s m .
F u n c t i o n a l v s . D a t a p a r a l l e l i s m
W h i c h b e t t e r s u i t s t h e a p p l i c a t i o n ? P V M a l l o w s e i t h e r o r b o t h t o b e
u s e d .
-
7/27/2019 PVM and MPI
5/35
1 7
N e t w o r k P r o g r a m m i n g C o n s i d e r a t i o n s
M e s s a g e l a t e n c y
N e t w o r k l a t e n c y c a n b e h i g h . A l g o r i t h m s s h o u l d b e d e s i g n e d t o a c c o u n t
f o r t h i s f . e . s e n d d a t a b e f o r e i t i s n e e d e d .
D i e r e n t M a c h i n e P o w e r s
V i r t u a l m a c h i n e s m a y b e c o m p o s e d o f c o m p u t e r s w h o s e p e r f o r m a n c e
v a r i e s o v e r o r d e r s o f m a g n i t u d e . A l g o r i t h m m u s t b e a b l e t o h a n d l e t h i s .
F l u c t u a t i n g m a c h i n e a n d n e t w o r k l o a d s
M u l t i p l e u s e r s a n d o t h e r c o m p e t i n g P V M t a s k s c a u s e t h e m a c h i n e a n d
n e t w o r k l o a d s t o c h a n g e d y n a m i c a l l y . L o a d b a l a n c i n g i s i m p o r t a n t .
1 8
L o a d B a l a n c i n g M e t h o d s
S t a t i c l o a d b a l a n c i n g
P r o b l e m i s d i v i d e d u p a n d t a s k s a r e a s s i g n e d t o p r o c e s s o r s o n l y o n c e .
T h e n u m b e r o r s i z e o f t a s k s m a y b e v a r i e d t o a c c o u n t f o r d i e r e n t
c o m p u t a t i o n a l p o w e r s o f m a c h i n e s .
D y n a m i c l o a d b a l a n c i n g b y p o o l o f t a s k s
T y p i c a l l y u s e d w i t h m a s t e r s l a v e s c h e m e . T h e m a s t e r k e e p s a q u e u e
o f t a s k s a n d s e n d s t h e m t o i d l e s l a v e s u n t i l t h e q u e u e i s e m p t y . F a s t e r
m a c h i n e s e n d u p g e t t i n g m o r e t a s k s n a t u r a l l y . s e e x e p e x a m p l e i n
P V M d i s t r i b u t i o n
D y n a m i c l o a d b a l a n c i n g b y c o o r d i n a t i o n
T y p i c a l l y u s e d i n S P M D s c h e m e . A l l t h e t a s k s s y n c h r o n i z e a n d r e d i s -
t r i b u t e t h e i r w o r k e i t h e r a t x e d t i m e s o r i f s o m e c o n d i t i o n o c c u r s f . e .
l o a d i m b a l a n c e e x c e e d s s o m e l i m i t
1 9
C o m m u n i c a t i o n T i p s
L i m i t s i z e , n u m b e r o f o u t s t a n d i n g m e s s a g e s
C a n l o a d i m b a l a n c e c a u s e t o o m a n y o u t s t a n d i n g m e s s a g e s ?
M a y h a v e t o s e n d v e r y l a r g e d a t a i n p a r t s
SendingTask
Pvmd
ReceivingTask
C o m p l e x c o m m u n i c a t i o n p a t t e r n s
N e t w o r k i s d e a d l o c k - f r e e , s h o u l d n ' t h a n g
S t i l l h a v e t o c o n s i d e r
C o r r e c t d a t a d i s t r i b u t i o n
B o t t l e n e c k s
C o n s i d e r u s i n g a l i b r a r y
S c a L A P A C K : L A P A C K f o r d i s t r i b u t e d - m e m o r y m a c h i n e s
B L A C S : C o m m u n i c a t i o n p r i m i t i v e s
O r i e n t e d t o w a r d s l i n e a r a l g e b r a
M a t r i x d i s t r i b u t i o n w n o s e n d - r e c v
U s e d b y S c a L A P A C K
2 0
B a g o f T a s k s
C o m p o n e n t s
J o b p o o l
W o r k e r p o o l
S c h e d u l e r
State of each job
Unstarted
Running
Finished
Idle
Busy
A
B
AB
State of each worker
F i g u r e 1 : B a g o f t a s k s s t a t e m a c h i n e s
P o s s i b l e i m p r o v e m e n t s
A d j u s t s i z e o f j o b s
T o s p e e d o f w o r k e r s
T o t u r n a r o u n d t i m e g r a n u l a r i t y
S t a r t b i g g e r j o b s b e f o r e s m a l l e r o n e s
A l l o w w o r k e r s t o c o m m u n i c a t e
m o r e c o m p l e x s c h e d u l i n g
-
7/27/2019 PVM and MPI
6/35
2 1
P V M I s
P V M i s a s o f t w a r e p a c k a g e t h a t a l l o w s a c o l l e c t i o n o f s e r i a l , p a r a l l e l a n d
v e c t o r c o m p u t e r s o n a n e t w o r k t o b e m a n a g e d a s o n e l a r g e c o m p u t i n g
r e s o u r c e .
P o o r m a n ' s s u p e r c o m p u t e r
H i g h p e r f o r m a n c e f r o m n e t w o r k o f w o r k s t a t i o n s
O - h o u r s c r u n c h i n g
M e t a c o m p u t e r l i n k i n g m u l t i p l e s u p e r c o m p u t e r s
V e r y h i g h p e r f o r m a n c e
C o m p u t i n g e l e m e n t s a d a p t e d t o s u b p r o b l e m s
V i s u a l i z a t i o n
E d u c a t i o n a l t o o l
S i m p l e t o i n s t a l l
S i m p l e t o l e a r n
A v a i l a b l e
C a n b e m o d i e d
2 2
P h y s i c a l a n d L o g i c a l V i e w s o f P V M
Pvmd (host)
Multiprocessorhost
Tasks
Console(s)
IP Network (routers, bridges, ...)
Host
Physical
Logical
2 3
P a r t s o f t h e P V M S y s t e m
P V M d a e m o n p v m d
O n e m a n a g e s e a c h h o s t o f v i r t u a l m a c h i n e
M a i n l y a m e s s a g e r o u t e r , a l s o h a s k e r n e l - l i k e f u n c t i o n s
H a s m e s s a g e e n t r y p o i n t s w h e r e t a s k s r e q u e s t s e r v i c e
I n t e r - h o s t p o i n t o f c o n t a c t
A u t h e n t i c a t i o n
C r e a t e s p r o c e s s e s
C o l l e c t s o u t p u t p r i n t e d b y p r o c e s s e s
F a u l t d e t e c t i o n o f p r o c e s s e s , n e t w o r k
M o r e r o b u s t t h a n a p p l i c a t i o n c o m p o n e n t s
I n t e r f a c e l i b r a r y l i b p v m
L i n k e d w i t h e a c h a p p l i c a t i o n c o m p o n e n t
1 . F u n c t i o n s t o c o m p o s e , s e n d , r e c e i v e m e s s a g e s
2 . P V M s y s c a l l s t h a t s e n d r e q u e s t s t o p v m d
M a c h i n e - d e p e n d e n t c o m m u n i c a t i o n p a r t c a n b e r e p l a c e d
K e p t a s s i m p l e a s p o s s i b l e
P V M C o n s o l e
I n t e r a c t i v e c o n t r o l o f v i r t u a l m a c h i n e
K i n d o f l i k e a s h e l l
N o r m a l P V M t a s k , s e v e r a l c a n b e a t t a c h e d , t o a n y h o s t
2 4
P r o g r a m m i n g i n P V M
A s i m p l e m e s s a g e - p a s s i n g e n v i r o n m e n t
H o s t s , T a s k s , M e s s a g e s
N o e n f o r c e d t o p o l o g y
V i r t u a l m a c h i n e c a n b e c o m p o s e d o f a n y m i x o f m a c h i n e t y p e s
P r o c e s s C o n t r o l
T a s k s c a n b e s p a w n e d k i l l e d a n y w h e r e i n t h e v i r t u a l m a c h i n e
C o m m u n i c a t i o n
A n y t a s k c a n c o m m u n i c a t e w i t h a n y o t h e r
D a t a c o n v e r s i o n i s h a n d l e d b y P V M
D y n a m i c P r o c e s s G r o u p s
T a s k s c a n j o i n l e a v e o n e o r m o r e g r o u p s a t a n y t i m e
F a u l t T o l e r a n c e
T a s k c a n r e q u e s t n o t i c a t i o n o f l o s t g a i n e d r e s o u r c e s
U n d e r l y i n g o p e r a t i n g s y s t e m u s u a l l y U n i x i s v i s i b l e
S u p p o r t s C , C + + a n d F o r t r a n
C a n u s e o t h e r l a n g u a g e s m u s t b e a b l e t o l i n k w i t h C
-
7/27/2019 PVM and MPI
7/35
2 5
H e l l o s W o r l d
P r o g r a m h e l l o 1 . c , t h e m a i n p r o g r a m :
i n c l u d e s t d i o . h
i n c l u d e " p v m 3 . h "
m a i n
i n t t i d ; * t i d o f c h i l d *
c h a r b u f 1 0 0 ;
p r i n t f " I ' m t x n " , p v m _ m y t i d ;
p v m _ s p a w n " h e l l o 2 " , c h a r * * 0 , 0 , " " , 1 , & t i d ;
p v m _ r e c v - 1 , - 1 ;
p v m _ b u f i n f o c c , i n t * 0 , i n t * 0 , & t i d ;
p v m _ u p k s t r b u f ;
p r i n t f " M e s s a g e f r o m t x : s n " , t i d , b u f ;
p v m _ e x i t ;
e x i t 0 ;
P r o g r a m h e l l o 2 . c , t h e s l a v e p r o g r a m :
i n c l u d e " p v m 3 . h "
m a i n
i n t p t i d ; * t i d o f p a r e n t *
c h a r b u f 1 0 0 ;
p t i d = p v m _ p a r e n t ;
s t r c p y b u f , " h e l l o , w o r l d f r o m " ;
g e t h o s t n a m e b u f + s t r l e n b u f , 6 4 ;
p v m _ i n i t s e n d P v m D a t a D e f a u l t ;
p v m _ p k s t r b u f ;
p v m _ s e n d p t i d , 1 ;
p v m _ e x i t ;
e x i t 0 ;
2 6
U n i q u e F e a t u r e s o f P V M
S o f t w a r e i s h i g h l y p o r t a b l e
A l l o w s f u l l y h e t e r o g e n e o u s v i r t u a l m a c h i n e h o s t s , n e t w o r k
D y n a m i c p r o c e s s , m a c h i n e c o n g u r a t i o n
S u p p o r t f o r f a u l t t o l e r a n t p r o g r a m s
S y s t e m c a n b e c u s t o m i z e d
L a r g e e x i s t i n g u s e r b a s e
S o m e c o m p a r a b l e s y s t e m s
P o r t a b l e m e s s a g e - p a s s i n g
M P I
p 4
E x p r e s s
P I C L
O n e - o f - a - k i n d
N X
C M M D
O t h e r t y p e s o f c o m m u n i c a t i o n
A M
L i n d a
A l s o D O S s , L a n g u a g e s , . . .
2 7
P o r t a b i l i t y
C o n g u r a t i o n s i n c l u d e
8 0 3 4 8 6 B S D I , N e t B S D , F r e e B S D A l l i a n t F X 8
8 0 3 4 8 6 L i n u x B B N B u t t e r y T C 2 0 0 0
D E C A l p h a O S F - 1 , M i p s , u V A X C o n v e x C 2 , C S P P
D G A v i i o n C r a y T - 3 D , Y M P , 2 , C 9 0 U n i c o s
H P 6 8 0 0 0 , P A - R i s c E n c o r e M u l t i m a x
I B M R S - 6 0 0 0 , R T F u j i t s u 7 8 0 U X P M
M i p s I B M P o w e r - 4
N e X T I n t e l P a r a g o n , i P S C 8 6 0 , i P S C 2
S i l i c o n G r a p h i c s K e n d a l l S q u a r e
S u n 3 , 4 x S u n O S , S o l a r i s M a s p a r
N E C S X - 3
S e q u e n t
S t a r d e n t T i t a n
T h i n k i n g M a c h i n e s C M - 2 , C M - 5
V e r y p o r t a b l e a c r o s s U n i x m a c h i n e s , u s u a l l y j u s t p i c k o p t i o n s
M u l t i p r o c e s s o r s :
D i s t r i b u t e d - m e m o r y : T - 3 D , i P S C 8 6 0 , P a r a g o n , C M - 5 , S P - 2 M P I
S h a r e d - m e m o r y : C o n v e x H P , S G I , A l p h a , S u n , K S R , S y m m e t r y
S o u r c e c o d e l a r g e l y s h a r e d w i t h g e n e r i c 8 0
P V M i s p o r t a b l e t o n o n - U n i x m a c h i n e s
V M S p o r t h a s b e e n d o n e
O S 2 p o r t h a s b e e n d o n e
W i n d o w s N T p o r t i n p r o g r e s s
P V M d i e r e n c e s a r e a l m o s t t r a n s p a r e n t t o p r o g r a m m e r
S o m e o p t i o n s m a y n o t b e s u p p o r t e d
P r o g r a m r u n s i n d i e r e n t e n v i r o n m e n t
2 8
H o w t o G e t P V M
P V M h o m e p a g e U R L O a k R i d g e i s
h t t p : w w w e p m o r n l g o v p v m p v m
h o m e . h t m l
P V M s o u r c e c o d e , u s e r ' s g u i d e , e x a m p l e s a n d r e l a t e d m a t e r i a l a r e p u b -
l i s h e d o n N e t l i b , a s o f t w a r e r e p o s i t o r y w i t h s e v e r a l s i t e s a r o u n d t h e
w o r l d .
T o g e t s t a r t e d , s e n d e m a i l t o n e t l i b :
m a i l n e t l i b @ o r n l . g o v
S u b j e c t : s e n d i n d e x f r o m p v m 3
A l i s t o f l e s a n d i n s t r u c t i o n s w i l l b e a u t o m a t i c a l l y m a i l e d b a c k
U s i n g x n e t l i b : s e l e c t d i r e c t o r y p v m 3
F T P : h o s t n e t l i b 2 . c s . u t k . e d u , l o g i n a n o n y m o u s , d i r e c t o r y p v m 3
U R L : h t t p : w w w . n e t l i b . o r g p v m 3 i n d e x . h t m l
B u g r e p o r t s , c o m m e n t s , q u e s t i o n s c a n b e m a i l e d t o :
p v m @ m s r . e p m . o r n l . g o v
U s e n e t n e w s g r o u p f o r d i s c u s s i o n a n d s u p p o r t :
c o m p . p a r a l l e l . p v m
B o o k :
P V M : P a r a l l e l V i r t u a l M a c h i n e
A U s e r s ' G u i d e a n d T u t o r i a l f o r N e t w o r k e d P a r a l l e l C o m p u t i n g
M I T p r e s s 1 9 9 4 .
-
7/27/2019 PVM and MPI
8/35
2 9
I n s t a l l i n g P V M
P a c k a g e r e q u i r e s a f e w M B o f d i s k + a f e w M B a r c h i t e c t u r e
D o n ' t n e e d r o o t p r i v e l e g e
L i b r a r i e s a n d e x e c u t a b l e s c a n b e s h a r e d b e t w e e n u s e r s
P V M c h o o s e s m a c h i n e a r c h i t e c t u r e n a m e f o r y o u
m o r e t h a n 6 0 c u r r e n t l y d e n e d
E n v i r o n m e n t v a r i a b l e P V M
R O O T p o i n t s t o i n s t a l l e d p a t h
E . g . u s r l o c a l p v m 3 . 3 . 4 o r $ H O M E p v m 3
I f y o u u s e c s h , a d d t o y o u r . c s h r c :
s e t e n v P V M R O O T u s r l o c a l p v m 3
I f y o u u s e s h o r k s h , a d d t o y o u r . p r o f i l e :
P V M R O O T = u s r l o c a l p v m 3
P V M
D P A T H = $ P V M R O O T l i b p v m d
e x p o r t P V M R O O T P V M D P A T H
I m p o r t a n t d i r e c t o r i e s b e l o w $ P V M R O O T
i n c l u d e H e a d e r l e s
m a n M a n u a l p a g e s
l i b S c r i p t s
l i b A R C H S y s t e m e x e c u t a b l e s
b i n A R C H S y s t e m t a s k s
3 0
B u i l d i n g P V M P a c k a g e
S o f t w a r e c o m e s w i t h c o n g u r a t i o n s f o r m o s t U n i x m a c h i n e s
I n s t a l l a t i o n i s e a s y
A f t e r p a c k a g e i s e x t r a c t e d
c d $ P V M
R O O T
m a k e
S o f t w a r e a u t o m a t i c a l l y
D e t e r m i n e s a r c h i t e c t u r e t y p e
C r e a t e s n e c e s s a r y s u b d i r e c t o r i e s
B u i l d s p v m d , c o n s o l e , l i b r a r i e s , g r o u p s e r v e r a n d l i b r a r y
I n s t a l l s e x e c u t a b l e s a n d l i b r a r i e s i n l i b a n d b i n
3 1
S t a r t i n g P V M
T h r e e w a y s t o s t a r t P V M
p v m - d d e b u g m a s k - n h o s t n a m e h o s t l e
P V M c o n s o l e s t a r t s p v m d , o r c o n n e c t s t o o n e a l r e a d y r u n n i n g
x p v m
G r a p h i c a l c o n s o l e , s a m e a s a b o v e
p v m d - d d e b u g m a s k - n h o s t n a m e h o s t l e
M a n u a l s t a r t , u s e d m a i n l y f o r d e b u g g i n g o r w h e n n e c e s s a r y t o e n t e r
p a s s w o r d s
S o m e c o m m o n e r r o r m e s s a g e s
C a n ' t s t a r t p v m d
C h e c k P V M
R O O T i s s e t , . r h o s t s c o r r e c t , n o g a r b a g e i n . c s h r c
C a n ' t c o n t a c t l o c a l d a e m o n
P V M c r a s h e d p r e v i o u s l y ; s o c k e t l e l e f t o v e r
V e r s i o n m i s m a t c h
M i x e d v e r s i o n s o f P V M i n s t a l l e d o r s t a l e e x e c u t a b l e s
N o s u c h h o s t
C a n ' t r e s o l v e I P a d d r e s s
D u p l i c a t e h o s t
H o s t a l r e a d y i n v i r t u a l m a c h i n e o r s h a r e d t m p d i r e c t o r y
f a i l e d t o s t a r t g r o u p s e r v e r
G r o u p o p t i o n n o t b u i l t o r e p = n o t c o r r e c t
s h m g e t : . . . N o s p a c e l e f t o n d e v i c e
S t a l e s e g m e n t s l e f t f r o m c r a s h o r n o t e n o u g h a r e c o n g u r e d
3 2
X P V M
G r a p h i c a l i n t e r f a c e f o r P V M
P e r f o r m s c o n s o l e - l i k e f u n c t i o n s
R e a l - t i m e g r a p h i c a l m o n i t o r w i t h
V i e w o f v i r t u a l m a c h i n e c o n g u r a t i o n , a c t i v i t y
S p a c e - t i m e p l o t o f t a s k s t a t u s
H o s t u t i l i z a t i o n p l o t
C a l l l e v e l d e b u g g e r , s h o w i n g l a s t l i b p v m c a l l b y e a c h t a s k
W r i t e s S D D F f o r m a t t r a c e l e s
C a n b e u s e d f o r p o s t - m o r t e m a n a l y s i s
B u i l t o n t o p o f P V M u s i n g
G r o u p l i b r a r y
L i b p v m t r a c e s y s t e m
O u t p u t c o l l e c t i o n s y s t e m
-
7/27/2019 PVM and MPI
9/35
3 3
P r o g r a m m i n g I n t e r f a c e
A b o u t 8 0 f u n c t i o n s
M e s s a g e b u e r m a n i p u l a t i o n C r e a t e , d e s t r o y b u e r s
P a c k , u n p a c k d a t a
M e s s a g e p a s s i n g S e n d , r e c e i v e
M u l t i c a s t
P r o c e s s c o n t r o l C r e a t e , d e s t r o y t a s k s
Q u e r y t a s k t a b l e s
F i n d o w n t i d , p a r e n t t i d
D y n a m i c p r o c e s s g r o u p s W i t h o p t i o n a l g r o u p l i b r a r y
J o i n , l e a v e g r o u p
M a p g r o u p m e m b e r s ! t i d s
B r o a d c a s t
G l o b a l r e d u c e
M a c h i n e c o n g u r a t i o n A d d , r e m o v e h o s t s
Q u e r y h o s t s t a t u s
S t a r t , h a l t v i r t u a l m a c h i n e
M i s c e l l a n e o u s G e t , s e t o p t i o n s
R e q u e s t n o t i c a t i o n
R e g i s t e r s p e c i a l t a s k s
G e t h o s t t i m e o f d a y c l o c k o s e t s
3 4
P r o c e s s C o n t r o l
p v m s p a w n f i l e , a r g v , f l a g s , w h e r e , n t a s k , t i d s
S t a r t n e w t a s k s
P l a c e m e n t o p t i o n s
P v m T a s k D e f a u l t R o u n d - r o b i n
P v m T a s k H o s t N a m e d h o s t " . " i s l o c a l
P v m T a s k A r c h N a m e d a r c h i t e c t u r e c l a s s
O t h e r a g s
P v m H o s t C o m p l C o m p l e m e n t s h o s t s e t
P v m M p p F r o n t S t a r t o n M P P s e r v i c e n o d e
P v m T a s k D e b u g E n a b l e d e b u g g i n g d b x
P v m T a s k T r a c e E n a b l e t r a c i n g
S p a w n c a n r e t u r n p a r t i a l s u c c e s s
p v m m y t i d
F i n d m y t a s k i d e n r o l l a s a t a s k
p v m p a r e n t
F i n d p a r e n t ' s t a s k i d
p v m e x i t
D i s c o n n e c t f r o m P V M
p v m k i l l t i d
T e r m i n a t e a n o t h e r P V M t a s k
p v m p s t a t t i d
Q u e r y s t a t u s o f a n o t h e r P V M t a s k
3 5
B a s i c P V M C o m m u n i c a t i o n
T h r e e - s t e p s e n d m e t h o d
p v m i n i t s e n d e n c o d i n g
I n i t i a l i z e s e n d b u e r , c l e a r i n g c u r r e n t o n e
E n c o d i n g c a n b e
P v m D a t a D e f a u l t
P v m D a t a R a w
P v m D a t a I n P l a c e
p v m p k t y p e d a t a , n u m i t e m s , s t r i d e
P a c k b u e r w i t h v a r i o u s d a t a
p v m s e n d d e s t , t a g
p v m m c a s t d e s t s , c o u n t , t a g
S e n d s b u e r t o o t h e r t a s k s , r e t u r n s w h e n s a f e t o c l e a r b u e r
T o r e c e i v e
p v m r e c v s o u r c e , t a g
p v m n r e c v s o u r c e , t a g
B l o c k i n g o r n o n - b l o c k i n g r e c e i v e
p v m
u p k t y p e d a t a , n u m i t e m s , s t r i d e
U n p a c k m e s s a g e i n t o u s e r v a r i a b l e s
C a n a l s o p v m
p r o b e s o u r c e , t a g f o r a m e s s a g e
A n o t h e r r e c e i v e p r i m i t i v e : p v m t r e c v s o u r c e , t a g , t i m e o u t
E q u i v a l e n t t o p v m n r e c v i f t i m e o u t s e t t o z e r o
E q u i v a l e n t t o p v m r e c v i f t i m e o u t s e t t o n u l l
3 6
H i g h e r P e r f o r m a n c e C o m m u n i c a t i o n
T w o m a t c h e d c a l l s f o r h i g h - s p e e d l o w - l a t e n c y m e s s a g e s
p v m
p s e n d d e s t , t a g , d a t a , n u m i t e m s , d a t a t y p e
p v m p r e c v s o u r c e , t a g , d a t a , n u m i t e m s , d a t a t y p e ,
a s o u r c e , a t a g , a l e n g t h
P a c k a n d s e n d a c o n t i g u o u s , s i n g l e - t y p e d d a t a b u e r
A s f a s t a s n a t i v e c a l l s o n m u l t i p r o c e s s o r m a c h i n e s
-
7/27/2019 PVM and MPI
10/35
3 7
C o l l e c t i v e C o m m u n i c a t i o n
C o l l e c t i v e f u n c t i o n s o p e r a t e a c r o s s a l l m e m b e r s o f a g r o u p
p v m
b a r r i e r g r o u p , c o u n t
S y n c h r o n i z e a l l t a s k s i n a g r o u p
p v m b c a s t g r o u p , t a g
B r o a d c a s t m e s s a g e t o a l l t a s k s i n a g r o u p
p v m
s c a t t e r r e s u l t , d a t a , n u m i t e m s , d a t a t y p e ,
m s g t a g , r o o t i n s t , g r o u p
p v m
g a t h e r r e s u l t , d a t a , n u m i t e m s , d a t a t y p e ,
m s g t a g , r o o t i n s t , g r o u p
D i s t r i b u t e a n d c o l l e c t a r r a y s a c r o s s t a s k g r o u p s
p v m r e d u c e * f u n c , d a t a , n u m i t e m s , d a t a t y p e ,
m s g t a g , g r o u p , r o o t i n s t
R e d u c e d i s t r i b u t e d a r r a y s . P r e d e n e d f u n c t i o n s a r e
P v m M a x
P v m M i n
P v m S u m
P v m P r o d u c t
3 8
V i r t u a l M a c h i n e C o n t r o l
p v m a d d h o s t s h o s t s , n u m h o s t s , t i d s
A d d h o s t s t o v i r t u a l m a c h i n e
p v m c o n f i g n h o s t s , n a r c h , h o s t s
G e t c u r r e n t V M c o n g u r a t i o n
p v m d e l h o s t s h o s t s , n u m h o s t s , r e s u l t s
R e m o v e h o s t s f r o m v i r t u a l m a c h i n e
p v m h a l t
S t o p a l l p v m d s a n d t a s k s s h u t d o w n
p v m m s t a t h o s t
Q u e r y s t a t u s o f h o s t
p v m s t a r t p v m d a r g c , a r g v , b l o c k
S t a r t n e w m a s t e r p v m d
3 9
P V M E x a m p l e s i n D i s t r i b u t i o n
E x a m p l e s i l l u s t r a t e u s a g e a n d s e r v e a s t e m p l a t e s
E x a m p l e s i n c l u d e
h e l l o , h e l l o o t h e r H e l l o w o r l d
m a s t e r , s l a v e M a s t e r s l a v e p r o g r a m
s p m d S P M D p r o g r a m
g e x a m p l e G r o u p a n d c o l l e c t i v e o p e r a t i o n s
t i m i n g , t i m i n g s l a v e T e s t s c o m m u n i c a t i o n p e r f o r m a n c e
h i t c , h i t c s l a v e D y n a m i c l o a d b a l a n c e e x a m p l e
x e p , m t i l e I n t e r a c t i v e X - W i n d o w e x a m p l e
E x a m p l e s c o m e w i t h M a k e l e . a i m k l e s
B o t h C a n d F o r t r a n s v e r s i o n s f o r s o m e e x a m p l e s
4 0
C o m p i l i n g A p p l i c a t i o n s
H e a d e r l e s
C p r o g r a m s s h o u l d i n c l u d e
p v m 3 . h A l w a y s
p v m t e v . h T o m a n i p u l a t e t r a c e m a s k s
p v m s d p r o . h F o r r e s o u r c e m a n a g e r i n t e r f a c e
S p e c i f y i n c l u d e d i r e c t o r y : c c - I $ P V M R O O T i n c l u d e . . .
F o r t r a n : I N C L U D E ' u s r l o c a l p v m 3 i n c l u d e f p v m 3 . h '
C o m p i l i n g a n d l i n k i n g
C p r o g r a m s m u s t b e l i n k e d w i t h
l i b p v m 3 . a A l w a y s
l i b g p v m 3 . a I f u s i n g g r o u p l i b r a r y f u n c t i o n s
p o s s i b l y o t h e r l i b r a r i e s f o r s o c k e t o r X D R f u n c t i o n s
F o r t r a n p r o g r a m s m u s t a d d i t i o n a l l y b e l i n k e d w i t h l i b f p v m 3 . a
-
7/27/2019 PVM and MPI
11/35
4 1
C o m p i l i n g A p p l i c a t i o n s , C o n t ' d
A i m k
S h a r e s s i n g l e m a k e l e b e t w e e n a r c h i t e c t u r e s
B u i l d s f o r d i e r e n t a r c h i t e c t u r e s i n s e p a r a t e d i r e c t o r i e s
D e t e r m i n e s P V M a r c h i t e c t u r e
R u n s m a k e , p a s s i n g i t P V M
A R C H
D o e s o n e o f t h r e e t h i n g s
I f $ P V M A R C H M m a k e f i l e e x i s t s :
R u n s m a k e i n s u b d i r e c t o r y , u s i n g m a k e l e
E l s e i f M a k e f i l e . a i m k e x i s t s :
C r e a t e s s u b d i r e c t o r y , r u n s m a k e u s i n g M a k e f i l e . a i m k
O t h e r w i s e :
R u n s m a k e i n c u r r e n t d i r e c t o r y
4 2
L o a d B a l a n c i n g
I m p o r t a n t f o r a p p l i c a t i o n p e r f o r m a n c e
N o t d o n e a u t o m a t i c a l l y y e t ?
S t a t i c A s s i g n m e n t o f w o r k o r p l a c e m e n t o f t a s k s
M u s t p r e d i c t a l g o r i t h m t i m e
M a y h a v e d i e r e n t p r o c e s s o r s p e e d s
E x t e r n a l l y i m p o s e d s t a t i c m a c h i n e l o a d s
D y n a m i c A d a p t i n g t o c h a n g i n g c o n d i t i o n s
M a k e s i m p l e s c h e d u l e r : E . g . B a g o f T a s k s
S i m p l e , o f t e n w o r k s w e l l
D i v i d e w o r k i n t o s m a l l j o b s
G i v e n t o p r o c e s s o r s a s t h e y b e c o m e i d l e
P V M c o m e s w i t h e x a m p l e s
C x e p
F o r t r a n h i t c
C a n i n c l u d e s o m e f a u l t t o l e r a n c e
W o r k m i g r a t i o n : C a n c e l f o r w a r d j o b
P o l l f o r c a n c e l m e s s a g e f r o m m a s t e r
C a n i n t e r r u p t w i t h p v m
s e n d s i g
K i l l w o r k e r e x p e n s i v e
T a s k m i g r a t i o n : N o t i n P V M y e t
E v e n w i t h l o a d b a l a n c i n g , e x p e c t p e r f o r m a n c e t o b e v a r i a b l e
4 3
S i x E x a m p l e s
C i r c u l a r m e s s a g i n g
I n n e r p r o d u c t
M a t r i x v e c t o r m u l t i p l y r o w d i s t r i b u t i o n
M a t r i x v e c t o r m u l t i p l y c o l u m n d i s t r i b u t i o n
I n t e g r a t i o n t o e v a l u a t e
S o l v e 1 - D h e a t e q u a t i o n
4 4
C i r c u l a r M e s s a g i n g
A v e c t o r c i r c u l a t e s a m o n g t h e p r o c e s s o r s
E a c h p r o c e s s o r l l s i n a p a r t o f t h e v e c t o r
P1
P2
P3 P4
P5
S o l u t i o n :
S P M D
U s e s t h e f o l l o w i n g P V M f e a t u r e s :
s p a w n
g r o u p
b a r r i e r
s e n d - r e c v
p a c k - u n p a c k
-
7/27/2019 PVM and MPI
12/35
4 5
p r o g r a m s p m d 1
i n c l u d e ' s r c i c l p v m p v m 3 i n c l u d e f p v m 3 . h '
P A R A M E T E R N P R O C = 4
i n t e g e r r a n k , l e f t , r i g h t , i , j , i e r r
i n t e g e r t i d s N P R O C - 1
i n t e g e r d a t a N P R O C
C G r o u p C r e a t i o n
c a l l p v m f j o i n g r o u p ' f o o ' , r a n k
i f r a n k . e q . 0 t h e n
c a l l p v m f s p a w n ' s p m d 1 ' , P V M D E F A U L T , ' * ' , N P R O C - 1 , t i d s 1 , i e r r
e n d i f
c a l l p v m f b a r r i e r ' f o o ' , N P R O C , i e r r
C c o m p u t e t h e n e i g h b o u r s I D s
c a l l p v m f g e t t i d ' f o o ' , M O D r a n k + N P R O C - 1 , N P R O C , l e f t
c a l l p v m f g e t t i d ' f o o ' , M O D r a n k + 1 , N P R O C , r i g h t
i f r a n k . e q . 0 t h e n
C I a m t h e f i r s t p r o c e s s
d o 1 0 i = 1 , N P R O C
1 0 d a t a i = 0
c a l l p v m f i n i t s e n d P V M D E F A U L T , i e r r
c a l l p v m f p a c k I N T E G E R 4 , d a t a , N P R O C , 1 , i e r r
c a l l p v m f s e n d r i g h t , 1 , i e r r
c a l l p v m f r e c v l e f t , 1 , i e r r
c a l l p v m f u n p a c k I N T E G E R 4 , d a t a , N P R O C , 1 , i e r r
w r i t e * , * ' R e s u l t s r e c e i v e d : '
w r i t e * , * d a t a j , j = 1 , N P R O C
e l s e
C I a m a n i n t e r m e d i a t e p r o c e s s
c a l l p v m f r e c v l e f t , 1 , i e r r
c a l l p v m f u n p a c k I N T E G E R 4 , d a t a , N P R O C , 1 , i e r r
d a t a r a n k + 1 = r a n k
c a l l p v m f i n i t s e n d P V M D E F A U L T , i e r r
c a l l p v m f p a c k I N T E G E R 4 , d a t a , N P R O C , 1 , i e r r
c a l l p v m f s e n d r i g h t , 1 , i e r r
e n d i f
c a l l p v m f l v g r o u p ' f o o ' , i e r r
c a l l p v m f e x i t i e r r
s t o p
e n d
4 6
I n n e r P r o d u c t
P r o b l e m : I n p a r a l l e l c o m p u t e
s =
n
X
i = 1
x
T
y
X
Y
DdotPartial
S o l u t i o n :
M a s t e r - S l a v e
U s e s t h e f o l l o w i n g P V M f e a t u r e s :
s p a w n
g r o u p
b a r r i e r
s e n d - r e c v
p a c k - u n p a c k
M a s t e r s e n d s o u t d a t a , c o l l e c t s t h e p a r t i a l s o l u t i o n s a n d c o m p u t e s t h e
s u m .
S l a v e s r e c e i v e d a t a , c o m p u t e p a r t i a l i n n e r p r o d u c t a n d s e n d t h e r e s u l t s
t o m a s t e r .
4 7
I n n e r P r o d u c t - P s e u d o c o d e
M a s t e r
D d o t = 0
f o r i = 1 t o n u m b e r o f s l a v e s
s e n d i t h p a r t o f X t o t h e i t h s l a v e
s e n d i t h p a r t o f Y t o t h e i t h s l a v e
e n d f o r
D d o t = D d o t + D d o t r e m a i n i n g p a r t o f X a n d Y
f o r i = 1 t o n u m b e r o f s l a v e s
r e c e i v e a p a r t i a l r e s u l t
D d o t = D d o t + p a r t i a l r e s u l t
e n d f o r
S l a v e
R e c e i v e a p a r t o f X
R e c e i v e a p a r t o f Y
p a r t i a l = D d o t p a r t o f X a n d p a r t o f Y
s e n d p a r t i a l t o t h e m a s t e r
4 8
p r o g r a m i n n e r
i n c l u d e ' s r c i c l p v m p v m 3 i n c l u d e f p v m 3 . h '
P A R A M E T E R N P R O C = 7
P A R A M E T E R N = 1 0 0
d o u b l e p r e c i s i o n d d o t
e x t e r n a l d d o t
i n t e g e r r e m a i n , n b
i n t e g e r r a n k , i , i e r r , b u f i d
i n t e g e r t i d s N P R O C - 1 , s l a v e , m a s t e r
d o u b l e p r e c i s i o n x N , y N
d o u b l e p r e c i s i o n r e s u l t , p a r t i a l
r e m a i n = M O D N , N P R O C - 1
n b = N - r e m a i n N P R O C - 1
c a l l p v m f j o i n g r o u p ' f o o ' , r a n k
i f r a n k . e q . 0 t h e n
c a l l p v m f s p a w n ' i n n e r ' , P V M D E F A U L T , ' * ' , N P R O C - 1 , t i d s , i e r r
e n d i f
c a l l p v m f b a r r i e r ' f o o ' , N P R O C , i e r r
c a l l p v m f g e t t i d ' f o o ' , 0 , m a s t e r
C M A S T E R
i f r a n k . e q . 0 t h e n
C S e t t h e v a l u e s
d o 1 0 i = 1 , N
x i = 1 . 0 d 0
1 0 y i = 1 . 0 d 0
C S e n d t h e d a t a
c o u n t = 1
d o 2 0 i = 1 , N P R O C - 1
c a l l p v m f i n i t s e n d P V M D E F A U L T , i e r r
c a l l p v m f p a c k R E A L 8 , x c o u n t , n b , 1 , i e r r
c a l l p v m f p a c k R E A L 8 , y c o u n t , n b , 1 , i e r r
c a l l p v m f g e t t i d ' f o o ' , i , s l a v e
c a l l p v m f s e n d s l a v e , 1 , i e r r
c o u n t = c o u n t + n b
2 0 c o n t i n u e
-
7/27/2019 PVM and MPI
13/35
4 9
r e s u l t = 0 . d 0
C A d d t h e r e m a i n d i n g p a r t
p a r t i a l = d d o t r e m a i n , x N - r e m a i n + 1 , 1 , y N - r e m a i n + 1 , 1
r e s u l t = r e s u l t + p a r t i a l
C G e t t h e r e s u l t
d o 3 0 i = 1 , N P R O C - 1
c a l l p v m f r e c v - 1 , 1 , b u f i d
c a l l p v m f u n p a c k R E A L 8 , p a r t i a l , 1 , 1 , i e r r
r e s u l t = r e s u l t + p a r t i a l
3 0 c o n t i n u e
p r i n t * , ' T h e d d o t = ' , r e s u l t
C S L A V E
e l s e
C R e c e i v e t h e d a t a
c a l l p v m f r e c v - 1 , 1 , b u f i d
c a l l p v m f u n p a c k R E A L 8 , x , n b , 1 , i e r r
c a l l p v m f u n p a c k R E A L 8 , y , n b , 1 , i e r r
C C o m p u t e t h e p a r t i a l p r o d u c t
p a r t i a l = d d o t n b , x 1 , 1 , y 1 , 1
C S e n d b a c k t h e r e s u l t
c a l l p v m f i n i t s e n d P V M D E F A U L T , i e r r
c a l l p v m f p a c k R E A L 8 , p a r t i a l , 1 , 1 , i e r r
c a l l p v m f s e n d m a s t e r , 1 , i e r r
e n d i f
c a l l p v m f l v g r o u p ' f o o ' , i e r r
c a l l p v m f e x i t i e r r
s t o p
e n d
5 0
M a t r i x - V e c t o r P r o d u c t
R o w D i s t r i b u t i o n
P r o b l e m : I n p a r a l l e l c o m p u t e y = y + A x , w h e r e y i s o f l e n g t h m , x i s o f
l e n g t h n a n d A i s a n m n m a t r i x .
S o l u t i o n :
M a s t e r - S l a v e
U s e s t h e f o l l o w i n g P V M f e a t u r e s :
s p a w n
g r o u p
b a r r i e r
s e n d - r e c v
p a c k - u n p a c k
m
n
A X Y
P1
P2
P3
P4
Y
5 1
M a t r i x - V e c t o r P r o d u c t
R o w D i s t r i b u t i o n
P s e u d o C o d e
M a s t e r
f o r i = 1 t o n u m b e r o f s l a v e s
s e n d X t o t h e i t h s l a v e
s e n d Y t o t h e i t h s l a v e
e n d f o r
f o r i = 1 t o n u m b e r o f s l a v e s
r e c e i v e a p a r t i a l r e s u l t f r o m a s l a v e
u p d a t e t h e c o r r e s p o n d i n g p a r t o f Y
e n d f o r
S l a v e
R e c e i v e X
R e c e i v e Y
C o m p u t e m y p a r t o f t h e p r o d u c t
a n d U p d a t e m y p a r t o f Y
S e n d b a c k m y p a r t o f Y
5 2
p r o g r a m m a t v e c _ r o w
i n c l u d e ' s r c i c l p v m p v m 3 i n c l u d e f p v m 3 . h '
C
C y - - - y + A * x
C
C A : M x N v i s i b l e o n l y o n t h e s l a v e s
C X : N
C Y : M
C
P A R A M E T E R N P R O C = 4
P A R A M E T E R M = 9 , N = 6
P A R A M E T E R N B Y = I N T M N P R O C + 1
d o u b l e p r e c i s i o n X N , Y M
i n t e g e r t i d s N P R O C
i n t e g e r m y t i d , r a n k , i , i e r r , f r o m
c a l l p v m f m y t i d m y t i d
c a l l p v m f j o i n g r o u p ' f o o ' , r a n k
i f r a n k . e q . 0 t h e n
c a l l p v m f s p a w n ' m a t v e c s l v _ r o w ' , P V M D E F A U L T , ' * ' , N P R O C , t i d s , i e r r
e n d i f
c a l l p v m f b a r r i e r ' f o o ' , N P R O C + 1 , i e r r
C D a t a i n i t i a l i z e f o r m y p a r t o f t h e d a t a
d o 1 0 i = 1 , N
x i = 1 . d 0
1 0 c o n t i n u e
d o 1 5 i = 1 , M
y i = 1 . d 0
1 5 c o n t i n u e
C S e n d X a n d Y t o t h e s l a v e s
c a l l p v m f i n i t s e n d P V M D E F A U L T , i e r r
c a l l p v m f p a c k R E A L 8 , X , N , 1 , i e r r
c a l l p v m f p a c k R E A L 8 , Y , M , 1 , i e r r
c a l l p v m f b c a s t ' f o o ' , 1 , i e r r
-
7/27/2019 PVM and MPI
14/35
5 3
C I g e t t h e r e s u l t s
d o 2 0 i = 1 , N P R O C
c a l l p v m f r e c v - 1 , 1 , i e r r
c a l l p v m f u n p a c k I N T E G E R 4 , f r o m , 1 , i e r r
i f f r o m . E Q . N P R O C t h e n
c a l l p v m f u n p a c k R E A L 8 , Y f r o m - 1 * N B Y + 1 ,
$ M - N B Y * N P R O C - 1 , 1 , i e r r
e l s e
c a l l p v m f u n p a c k R E A L 8 , Y f r o m - 1 * N B Y + 1 ,
$ N B Y , 1 , i e r r
e n d i f
2 0 c o n t i n u e
w r i t e * , * ' R e s u l t s r e c e i v e d '
d o 3 0 i = 1 , M
w r i t e * , * ' Y ' , i , ' = ' , Y i
3 0 c o n t i n u e
c a l l p v m f l v g r o u p ' f o o ' , i e r r
c a l l p v m f e x i t i e r r
s t o p
e n d
5 4
p r o g r a m m a t v e c s l v _ r o w
i n c l u d e ' s r c i c l p v m p v m 3 i n c l u d e f p v m 3 . h '
C
C y - - - y + A * x
C A : M x N v i s i b l e o n l y o n t h e s l a v e s
C X : N
C Y : M
C
P A R A M E T E R N P R O C = 4
P A R A M E T E R M = 9 , N = 6
P A R A M E T E R N B Y = I N T M N P R O C + 1
d o u b l e p r e c i s i o n A N B Y , N
d o u b l e p r e c i s i o n X N , Y M
i n t e g e r r a n k , i , i e r r , t o
e x t e r n a l d g e m v
c a l l p v m f j o i n g r o u p ' f o o ' , r a n k
c a l l p v m f b a r r i e r ' f o o ' , N P R O C + 1 , i e r r
C D a t a i n i t i a l i z e f o r m y p a r t o f t h e d a t a
d o 1 0 j = 1 , N
d o 2 0 i = 1 , N B Y
A i , j = 1 . d 0
2 0 c o n t i n u e
1 0 c o n t i n u e
C I r e c e i v e X a n d Y
c a l l p v m f r e c v - 1 , 1 , i e r r
c a l l p v m f u n p a c k R E A L 8 , X , N , 1 , i e r r
c a l l p v m f u n p a c k R E A L 8 , Y , M , 1 , i e r r
C I c o m p u t e m y p a r t
i f r a n k . N E . N P R O C t h e n
c a l l d g e m v ' N ' , N B Y , N , 1 . d 0 , A , N B Y ,
$ X , 1 , 1 . d 0 , Y r a n k - 1 * N B Y + 1 , 1
e l s e
c a l l d g e m v ' N ' , M - N B Y * N P R O C - 1 , N , 1 . d 0 , A , N B Y ,
$ X , 1 , 1 . d 0 , Y N P R O C - 1 * N B Y + 1 , 1
e n d i f
5 5
C I s e n d b a c k m y p a r t o f Y
c a l l p v m f i n i t s e n d P V M D E F A U L T , i e r r
c a l l p v m f p a c k I N T E G E R 4 , r a n k , 1 , 1 , i e r r
i f r a n k . N E . N P R O C t h e n
c a l l p v m f p a c k R E A L 8 , Y r a n k - 1 * N B Y + 1 , N B Y , 1 , i e r r
e l s e
c a l l p v m f p a c k R E A L 8 , Y r a n k - 1 * N B Y + 1 , M - N B Y * N P R O C - 1 , 1 , i e r r
e n d i f
c a l l p v m f g e t t i d ' f o o ' , 0 , t o
c a l l p v m f s e n d t o , 1 , i e r r
C d o n e
c a l l p v m f l v g r o u p ' f o o ' , i e r r
c a l l p v m f e x i t i e r r
s t o p
e n d
5 6
M a t r i x - V e c t o r P r o d u c t
C o l u m n D i s t r i b u t i o n
P r o b l e m : I n p a r a l l e l c o m p u t e y = y + A x , w h e r e y i s o f l e n g t h m , x i s o f
l e n g t h n a n d A i s a n m n m a t r i x .
S o l u t i o n :
M a s t e r - S l a v e
U s e s t h e f o l l o w i n g P V M f e a t u r e s :
s p a w n
g r o u p
b a r r i e r
r e d u c e
s e n d - r e c v
p a c k - u n p a c k
m
n
A X
P1 P2 P3 P4
Y
-
7/27/2019 PVM and MPI
15/35
5 7
M a t r i x - V e c t o r P r o d u c t
C o l u m n D i s t r i b u t i o n
P s e u d o C o d e
M a s t e r
f o r i = 1 t o n u m b e r o f s l a v e s
s e n d X t o t h e i t h s l a v e
e n d f o r
G l o b a l S u m o n Y r o o t
S l a v e
R e c e i v e X
C o m p u t e m y C o n t r i b u t i o n t o Y
G l o b a l S u m o n Y l e a f
5 8
p r o g r a m m a t v e c _ c o l
i n c l u d e ' s r c i c l p v m p v m 3 i n c l u d e f p v m 3 . h '
C
C y - - - y + A * x
C
C A : M x N v i s i b l e o n l y o n t h e s l a v e s
C X : N
C Y : M
C
P A R A M E T E R N P R O C = 4
P A R A M E T E R M = 9 , N = 6
d o u b l e p r e c i s i o n X N , Y M
e x t e r n a l P V M S U M
i n t e g e r t i d s N P R O C
i n t e g e r m y t i d , r a n k , i , i e r r
c a l l p v m f m y t i d m y t i d
c a l l p v m f j o i n g r o u p ' f o o ' , r a n k
i f r a n k . e q . 0 t h e n
c a l l p v m f s p a w n ' m a t v e c s l v _ c o l ' , P V M D E F A U L T , ' * ' , N P R O C , t i d s , i e r r
e n d i f
c a l l p v m f b a r r i e r ' f o o ' , N P R O C + 1 , i e r r
C D a t a i n i t i a l i z e f o r m y p a r t o f t h e d a t a
d o 1 0 i = 1 , N
x i = 1 . d 0
1 0 c o n t i n u e
d o 1 5 i = 1 , M
y i = 1 . d 0
1 5 c o n t i n u e
5 9
C S e n d X
c a l l p v m f i n i t s e n d P V M D E F A U L T , i e r r
c a l l p v m f p a c k R E A L 8 , X , N , 1 , i e r r
c a l l p v m f b c a s t ' f o o ' , 1 , i e r r
C I g e t t h e r e s u l t s
c a l l p v m f r e d u c e P V M S U M , Y , M , R E A L 8 , 1 , ' f o o ' , 0 , i e r r
w r i t e * , * ' R e s u l t s r e c e i v e d '
d o 3 0 i = 1 , M
w r i t e * , * ' Y ' , i , ' = ' , Y i
3 0 c o n t i n u e
c a l l p v m f l v g r o u p ' f o o ' , i e r r
c a l l p v m f e x i t i e r r
s t o p
e n d
6 0
p r o g r a m m a t v e c s l v _ c o l
i n c l u d e ' s r c i c l p v m p v m 3 i n c l u d e f p v m 3 . h '
C
C y - - - y + A * x
C A : M x N v i s i b l e o n l y o n t h e s l a v e s
C X : N
C Y : M
C
P A R A M E T E R N P R O C = 4
P A R A M E T E R M = 9 , N = 6
P A R A M E T E R N B X = I N T N N P R O C + 1
e x t e r n a l P V M S U M
d o u b l e p r e c i s i o n A M , N B X
d o u b l e p r e c i s i o n X N , Y M
i n t e g e r r a n k , i , i e r r
e x t e r n a l d g e m v
c a l l p v m f j o i n g r o u p ' f o o ' , r a n k
c a l l p v m f b a r r i e r ' f o o ' , N P R O C + 1 , i e r r
C D a t a i n i t i a l i z e f o r m y p a r t o f t h e d a t a
d o 1 0 j = 1 , N B X
d o 2 0 i = 1 , M
A i , j = 1 . d 0
2 0 c o n t i n u e
1 0 c o n t i n u e
C I r e c e i v e X
c a l l p v m f r e c v - 1 , 1 , i e r r
c a l l p v m f u n p a c k R E A L 8 , X , N , 1 , i e r r
-
7/27/2019 PVM and MPI
16/35
6 1
C I c o m p u t e m y p a r t
i f r a n k . N E . N P R O C t h e n
c a l l d g e m v ' N ' , M , N B X , 1 . d 0 , A , M ,
$ X r a n k - 1 * N B X + 1 , 1 , 1 . d 0 , Y , 1
e l s e
c a l l d g e m v ' N ' , M , N - N B X * N P R O C - 1 , 1 . d 0 , A , M ,
$ X N P R O C - 1 * N B X + 1 , 1 , 1 . d 0 , Y , 1
e n d i f
C I s e n d b a c k m y p a r t o f Y
c a l l p v m f r e d u c e P V M S U M , Y , M , R E A L 8 , 1 , ' f o o ' , 0 , i e r r
C d o n e
c a l l p v m f l v g r o u p ' f o o ' , i e r r
c a l l p v m f e x i t i e r r
s t o p
e n d
6 2
I n t e g r a t i o n t o e v a l u a t e
C o m p u t e r a p p r o x i m a t i o n s t o b y u s i n g n u m e r i c a l i n t e g r a t i o n
K n o w
t a n 4 5
0
= 1 ;
s a m e a s
t a n
4
= 1 ;
S o t h a t ;
4 t a n
, 1
1 =
F r o m t h e i n t e g r a l t a b l e s w e c a n n d
t a n
, 1
x =
Z
1
1 + x
2
d x
o r
t a n
, 1
1 =
Z
1
0
1
1 + x
2
d x
U s i n g t h e m i d - p o i n t r u l e w i t h p a n e l s o f
u n i f o r m l e n g t h h = 1 = n , f o r v a r i o u s v a l u e s o f n
E v a l u a t e t h e f u n c t i o n a t t h e m i d p o i n t s o f
e a c h s u b i n t e r v a l x
i , 1
, x
i
i h , h = 2 i s t h e m i d p o i n t .
F o r m u l a f o r t h e i n t e g r a l i s
x =
n
X
i = 1
f h i , 1 = 2
= h x
w h e r e
f x =
4
1 + x
2
6 3
I n t e g r a t i o n t o e v a l u a t e c o n t i n u e d
N u m b e r o f w a y s t o d i v i d e u p t h e p r o b l e m .
E a c h p a r t o f t h e s u m i s i n d e p e n d e n t .
D i v i d e t h e i n t e r v a l i n t o m o r e o r l e s s e q u a l p a r t s a n d g i v e e a c h p r o c e s s
a p a r t .
L e t e a c h p r o c e s s o r t a k e t h e p
t h
p a r t .
C o m p u t e p a r t o f i n t e g r a l .
S u m p i e c e s .
T h e e x a m p l e g i v e n l e t ' s e a c h p r o c e s s o r t a k e t h e p
t h
p a r t . U s e s t h e f o l l o w i n g
P V M f e a t u r e s :
s p a w n
g r o u p
b a r r i e r
b c a s t
r e d u c e
6 4
p r o g r a m s p m d 2
i n c l u d e ' s r c i c l p v m p v m 3 i n c l u d e f p v m 3 . h '
P A R A M E T E R N P R O C = 3
E X T E R N A L P V M S U M
i n t e g e r m y t i d , r a n k , i , i e r r
i n t e g e r t i d s 0 : N P R O C - 1
d o u b l e p r e c i s i o n P I 2 5 D T
p a r a m e t e r P I 2 5 D T = 3 . 1 4 1 5 9 2 6 5 3 5 8 9 7 9 3 2 3 8 4 6 2 6 4 3 d 0
d o u b l e p r e c i s i o n m y p i , p i , h , s u m , x , f , a
C f u n c t i o n t o i n t e g r a t e
f a = 4 . d 0 1 . d 0 + a * a
c a l l p v m f m y t i d m y t i d
c a l l p v m f j o i n g r o u p ' f o o ' , r a n k
1 0 i f r a n k . e q . 0 t h e n
c a l l p v m f s p a w n ' s p m d 2 ' , P V M D E F A U L T , ' * ' , N P R O C - 1 , t i d s 1 , i e r r
e n d i f
c a l l p v m f b a r r i e r ' f o o ' , N P R O C , i e r r
i f r a n k . e q . 0 t h e n
w r i t e 6 , 9 8
9 8 f o r m a t ' E n t e r t h e n u m b e r o f i n t e r v a l s : 0 q u i t s '
r e a d 5 , 9 9 n
9 9 f o r m a t i 1 0
i f n . G T . 1 0 0 0 0 0 t h e n
p r i n t * , ' T o o l a r g e v a l u e o f p i '
p r i n t * , ' U s i n g 1 0 0 0 0 0 i n s t e a d '
n = 1 0 0 0 0 0
e n d i f
c a l l p v m f i n i t s e n d P V M D E F A U L T , i e r r
c a l l p v m f p a c k I N T E G E R 4 , n , 1 , 1 , i e r r
c a l l p v m f b c a s t ' f o o ' , 0 , i e r r
e n d i f
i f r a n k . n e . 0 t h e n
c a l l p v m f r e c v - 1 , - 1 , i e r r
c a l l p v m f u n p a c k I N T E G E R 4 , n , 1 , 1 , i e r r
e n d i f
-
7/27/2019 PVM and MPI
17/35
6 5
C c h e c k f o r q u i t s i g n a l
i f n . l e . 0 g o t o 3 0
C c a l c u l a t e t h e i n t e r v a l s i z e
h = 1 . 0 d 0 n
s u m = 0 . 0 d 0
d o 2 0 i = r a n k + 1 , n , N P R O C
x = h * d b l e i - 0 . 5 d 0
s u m = s u m + f x
2 0 c o n t i n u e
m y p i = h * s u m
C c o l l e c t a l l t h e p a r t i a l s u m s
p r i n t * , ' r e d u c e '
c a l l p v m f r e d u c e P V M S U M , m y p i , 1 , R E A L 8 , 0 , ' f o o ' , 0 , i e r r
C n o d e 0 p r i n t s t h e n u m b e r
i f r a n k . e q . 0 t h e n
p i = m y p i
w r i t e 6 , 9 7 p i , a b s p i - P I 2 5 D T
9 7 f o r m a t ' p i i s a p p r o x i m a t i v e l y : ' , F 1 8 . 1 6 ,
+ ' E r r o r i s : ' , F 1 8 . 1 6
g o t o 1 0
e n d i f
3 0 c a l l p v m f l v g r o u p ' f o o ' , i e r r
c a l l p v m f e x i t i e r r
s t o p
e n d
6 6
1 - D H e a t E q u a t i o n
P r o b l e m : C a l c u l a t i n g h e a t d i u s i o n t h r o u g h a w i r e .
T h e o n e - d i m e n s i o n a l h e a t e q u a t i o n o n a t h i n w i r e i s :
@ A
@ t
=
@
2
A
@ x
2
a n d a d i s c r e t i z a t i o n o f t h e f o r m :
A
i + 1 j
, A
i j
t
=
A
i j + 1
, 2 A
i j
+ A
i j , 1
x
2
g i v i n g t h e e x p l i c i t f o r m u l a :
A
i + 1 j
= A
i j
+
t
x
2
A
i j + 1
, 2 A
i j
+ A
i j , 1
i n i t i a l a n d b o u n d a r y c o n d i t i o n s :
A t ; 0 = 0 ; A t ; 1 = 0 f o r a l l t
A 0 ; x = s i n x f o r 0 x 1
6 7
1 - D H e a t E q u a t i o n
C o n t i n u a t i o n
P1 P2 P4P3
Boundaries
S o l u t i o n :
M a s t e r S l a v e
S l a v e s c o m m u n i c a t e t h e i r b o u n d a r i e s v a l u e s
U s e s t h e f o l l o w i n g P V M f e a t u r e s :
s p a w n
g r o u p
b a r r i e r
s e n d - r e c v
p a c k - u n p a c k
6 8
1 - D H e a t E q u a t i o n
P s e u d o C o d e
M a s t e r
S e t t h e i n i t i a l t e m p e r a t u r e s
f o r i = 1 t o n u m b e r o f s l a v e s
s e n d t h e i t h p a r t o f t h e i n i t i a l
t e m p e r a t u r e s t o t h e i t h s l a v e
e n d f o r
f o r i = 1 t o n u m b e r o f s l a v e s
r e c e i v e r e s u l t s f r o m i t h s l a v e
u p d a t e m y d a t a
e n d f o r
S l a v e
R e c e i v e m y p a r t o f t h e i n i t i a l v a l u e s
f o r i = 1 t o n u m b e r o f t i m e i t e r a t i o n s
s e n d m y l e f t b o u n d t o m y l e f t n e i g h b o r
s e n d m y r i g h t b o u n d t o m y r i g h t n e i g h b o r
r e c e i v e m y l e f t n e i g h b o r ' s l e f t b o u n d
r e c e i v e m y r i g h t n e i g h b o r ' s r i g h t b o u n d
c o m p u t e t h e n e w t e m p e r a t u r e s
e n d f o r
s e n d b a c k m y r e s u l t t o t h e m a s t e r
-
7/27/2019 PVM and MPI
18/35
6 9
C
C U s e P V M t o s o l v e a s i m p l e h e a t d i f f u s i o n d i f f e r e n t i a l e q u a t i o n ,
C u s i n g 1 m a s t e r p r o g r a m a n d 5 s l a v e s .
C
C T h e m a s t e r p r o g r a m s e t s u p t h e d a t a , c o m m u n i c a t e s i t t o t h e s l a v e s
C a n d w a i t s f o r t h e r e s u l t s t o b e s e n t f r o m t h e s l a v e s .
C P r o d u c e s x g r a p h r e a d y f i l e s o f t h e r e s u l t s .
C
p r o g r a m h e a t
i n c l u d e ' s r c i c l p v m p v m 3 i n c l u d e f p v m 3 . h '
i n t e g e r N P R O C , T I M E S T E P , P L O T I N C , S I Z E
d o u b l e p r e c i s i o n P I
P A R A M E T E R P I = 3 . 1 4 1 5 9 2 6 5 3 5 8 9 7 9 3 2 3 8 4 6
P A R A M E T E R N P R O C = 3
P A R A M E T E R T I M E S T E P = 1 0
P A R A M E T E R P L O T I N C = 1
P A R A M E T E R S I Z E = 1 0 0
P A R A M E T E R S L A V E N A M E = ' h e a t s l v '
i n t e g e r n u m _ d a t a
i n t e g e r m y t i d , t a s k _ i d s N P R O C , i , j
i n t e g e r l e f t , r i g h t , k , l
i n t e g e r s t e p
i n t e g e r i e r r
e x t e r n a l w h
i n t e g e r w h
d o u b l e p r e c i s i o n i n i t S I Z E
d o u b l e p r e c i s i o n r e s u l t T I M E S T E P * S I Z E N P R O C
d o u b l e p r e c i s i o n s o l u t i o n T I M E S T E P , S I Z E
c h a r a c t e r * 2 0 f i l e n a m e 4
d o u b l e p r e c i s i o n d e l t a t 4 , d e l t a x 2
r e a l e t i m e
r e a l t 0 2
r e a l e l t i m e 4
s t e p = T I M E S T E P
n u m _ d a t a = I N T S I Z E N P R O C
f i l e n a m e 1 = ' g r a p h 1 '
f i l e n a m e 2 = ' g r a p h 2 '
f i l e n a m e 3 = ' g r a p h 3 '
f i l e n a m e 4 = ' g r a p h 4 '
d e l t a t 1 = 5 . 0 E - 1
d e l t a t 2 = 5 . 0 E - 3
d e l t a t 3 = 5 . 0 E - 6
d e l t a t 4 = 5 . 0 E - 9
7 0
C e n r o l l i n p v m
c a l l p v m f m y t i d m y t i d
C s p a w n t h e s l a v e t a s k s
c a l l p v m f s p a w n ' h e a t s l v ' , P V M D E F A U L T , ' * ' , N P R O C , t a s k _ i d s , i e r r
C c r e a t e t h e i n i t i a l d a t a s e t
d o 1 0 i = 1 , S I Z E
i n i t i = S I N P I * D B L E i - 1 D B L E S I Z E - 1
1 0 c o n t i n u e
i n i t 1 = 0 . d 0
i n i t S I Z E = 0 . d 0
C r u n t h e p r o b l e m 4 t i m e s f o r d i f f e r e n t v a l u e s o f d e l t a t
d o 2 0 l = 1 , 4
d e l t a x 2 = d e l t a t l 1 . 0 D B L E S I Z E * * 2 . 0
C s t a r t t i m i n g f o r t h i s r u n
e l t i m e l = e t i m e t 0
C s e n d t h e i n i t i a l d a t a t o t h e s l a v e s .
C i n c l u d e n e i g h b o r i n f o f o r e x c h a n g i n g b o u n d a r y d a t a
d o 3 0 i = 1 , N P R O C
c a l l p v m f i n i t s e n d P V M D E F A U L T , i e r r
I F i . E Q . 1 T H E N
l e f t = 0
E L S E
l e f t = t a s k _ i d s i - 1
E N D I F
c a l l p v m f p a c k I N T E G E R 4 , l e f t , 1 , 1 , i e r r
I F i . E Q . N P R O C T H E N
r i g h t = 0
E L S E
r i g h t = t a s k _ i d s i + 1
E N D I F
c a l l p v m f p a c k I N T E G E R 4 , r i g h t , 1 , 1 , i e r r
c a l l p v m f p a c k I N T E G E R 4 , I N T s t e p , 1 , 1 , i e r r
c a l l p v m f p a c k R E A L 8 , d e l t a x 2 , 1 , 1 , i e r r
c a l l p v m f p a c k I N T E G E R 4 , I N T n u m _ d a t a , 1 , 1 , i e r r
c a l l p v m f p a c k R E A L 8 , i n i t n u m _ d a t a * i - 1 + 1 , n u m _ d a t a , 1 , i e r r
c a l l p v m f s e n d t a s k _ i d s i , 4 , i e r r
3 0 c o n t i n u e
C w a i t f o r t h e r e s u l t s
d o 4 0 i = 1 , N P R O C
c a l l p v m f r e c v t a s k _ i d s i , 7 , i e r r
c a l l p v m f u n p a c k R E A L 8 , r e s u l t , n u m _ d a t a * T I M E S T E P , 1 , i e r r
7 1
C u p d a t e t h e s o l u t i o n
d o 5 0 j = 1 , T I M E S T E P
d o 6 0 k = 1 , n u m _ d a t a
s o l u t i o n j , n u m _ d a t a * i - 1 + 1 + k - 1 =
$ r e s u l t w h j - 1 , k - 1 , n u m _ d a t a + 1
6 0 c o n t i n u e
5 0 c o n t i n u e
4 0 c o n t i n u e
C s t o p t i m i n g
e l t i m e l = e t i m e t 0 - e l t i m e l
C p r o d u c e t h e o u t p u t
w r i t e * , * ' W r i t i n g o u t p u t t o f i l e ' , f i l e n a m e l
o p e n 2 3 , F I L E = f i l e n a m e l
w r i t e 2 3 , * ' T i t l e T e x t : W i r e H e a t o v e r D e l t a T i m e : ' , d e l t a t l
w r i t e 2 3 , * ' X U n i t T e x t : D i s t a n c e '
w r i t e 2 3 , * ' Y U n i t T e x t : H e a t '
d o 7 0 i = 1 , T I M E S T E P , P L O T I N C
w r i t e 2 3 , * ' " T i m e i n d e x : ' , i - 1
d o 8 0 j = 1 , S I Z E
w r i t e 2 3 , * j - 1 , R E A L s o l u t i o n i , j
8 1 F O R M A T I 5 , F 1 0 . 4
8 0 c o n t i n u e
w r i t e 2 3 , * ' '
7 0 c o n t i n u e
e n d f i l e 2 3
c l o s e U N I T = 2 3 , S T A T U S = ' K E E P '
2 0 c o n t i n u e
w r i t e * , * ' P r o b l e m s i z e : ' , S I Z E
d o 9 0 i = 1 , 4
w r i t e * , * ' T i m e f o r r u n ' , i - 1 , ' : ' , e l t i m e i , ' s e c . '
9 0 c o n t i n u e
C k i l l t h e s l a v e p r o c e s s e s
d o 1 0 0 i = 1 , N P R O C
c a l l p v m f k i l l t a s k _ i d s i , i e r r
1 0 0 c o n t i n u e
c a l l p v m f e x i t i e r r
E N D
i n t e g e r F U N C T I O N w h x , y , z
i n t e g e r x , y , z
w h = x * z + y
R E T U R N
E N D
7 2
C
C T h e s l a v e s r e c e i v e t h e i n i t i a l d a t a f r o m t h e h o s t ,
C e x c h a n g e b o u n d a r y i n f o r m a t i o n w i t h n e i g h b o r s ,
C a n d c a l c u l a t e t h e h e a t c h a n g e i n t h e w i r e .
C T h i s i s d o n e f o r a n u m b e r o f i t e r a t i o n s , s e n t b y t h e m a s t e r .
C
C
p r o g r a m h e a t s l v
i n c l u d e ' s r c i c l p v m p v m 3 i n c l u d e f p v m 3 . h '
P A R A M E T E R M A X 1 = 1 0 0 0
P A R A M E T E R M A X 2 = 1 0 0 0 0 0
i n t e g e r m y t i d , l e f t , r i g h t , i , j , m a s t e r
i n t e g e r t i m e s t e p
e x t e r n a l w h
i n t e g e r w h
d o u b l e p r e c i s i o n i n i t M A X 1 , A M A X 2
d o u b l e p r e c i s i o n l e f t d a t a , r i g h t d a t a
d o u b l e p r e c i s i o n d e l t a , l e f t s i d e , r i g h t s i d e
C e n r o l l i n p v m
c a l l p v m f m y t i d m y t i d
c a l l p v m f p a r e n t m a s t e r
C r e c e i v e m y d a t a f r o m t h e m a s t e r p r o g r a m
1 0 c o n t i n u e
c a l l p v m f r e c v m a s t e r , 4 , i e r r
c a l l p v m f u n p a c k I N T E G E R 4 , l e f t , 1 , 1 , i e r r
c a l l p v m f u n p a c k I N T E G E R 4 , r i g h t , 1 , 1 , i e r r
c a l l p v m f u n p a c k I N T E G E R 4 , t i m e s t e p , 1 , 1 , i e r r
c a l l p v m f u n p a c k R E A L 8 , d e l t a , 1 , 1 , i e r r
c a l l p v m f u n p a c k I N T E G E R 4 , n u m _ d a t a , 1 , 1 , i e r r
c a l l p v m f u n p a c k R E A L 8 , i n i t , n u m _ d a t a , 1 , i e r r
C c o p y t h e i n i t i a l d a t a i n t o m y w o r k i n g a r r a y
d o 2 0 i = 1 , n u m _ d a t a
A i = i n i t i
2 0 c o n t i n u e
d o 2 2 i = n u m _ d a t a + 1 , n u m _ d a t a * t i m e s t e p
A i = 0
2 2 c o n t i n u e
-
7/27/2019 PVM and MPI
19/35
7 3
C p e r f o r m t h e c a l c u l a t i o n
d o 3 0 i = 1 , t i m e s t e p - 1
C t r a d e b o u n d a r y i n f o w i t h m y n e i g h b o r s
C s e n d l e f t , r e c e i v e r i g h t
I F l e f t . N E . 0 T H E N
c a l l p v m f i n i t s e n d P V M D E F A U L T , i e r r
c a l l p v m f p a c k R E A L 8 , A w h i - 1 , 0 , n u m _ d a t a + 1 , 1 , 1 , i e r r
c a l l p v m f s e n d l e f t , 5 , i e r r
E N D I F
I F r i g h t . N E . 0 T H E N
c a l l p v m f r e c v r i g h t , 5 , i e r r
c a l l p v m f u n p a c k R E A L 8 , r i g h t d a t a , 1 , 1 , i e r r
c a l l p v m f i n i t s e n d P V M D E F A U L T , i e r r
c a l l p v m f p a c k R E A L 8 , A w h i - 1 , n u m _ d a t a - 1 , n u m _ d a t a + 1 ,
$ 1 , 1 , i e r r
c a l l p v m f s e n d r i g h t , 6 , i e r r
E N D I F
I F l e f t . N E . 0 T H E N
c a l l p v m f r e c v l e f t , 6 , i e r r
c a l l p v m f u n p a c k R E A L 8 , l e f t d a t a , 1 , 1 , i e r r
E N D I F
C d o t h e c a l c u l a t i o n s f o r t h i s i t e r a t i o n
d o 4 0 j = 1 , n u m _ d a t a
I F j . E Q . 1 T H E N
l e f t s i d e = l e f t d a t a
E L S E
l e f t s i d e = A w h i - 1 , j - 2 , n u m _ d a t a + 1
E N D I F
I F j . E Q . n u m _ d a t a T H E N
r i g h t s i d e = r i g h t d a t a
E L S E
r i g h t s i d e = A w h i - 1 , j , n u m _ d a t a + 1
E N D I F
I F j . E Q . 1 . A N D . l e f t . E Q . 0 T H E N
A w h i , j - 1 , n u m _ d a t a + 1 = 0 . d 0
E L S E I F j . E Q . n u m _ d a t a . A N D . r i g h t . E Q . 0 T H E N
A w h i , j - 1 , n u m _ d a t a + 1 = 0 . d 0
E L S E
A w h i , j - 1 , n u m _ d a t a + 1 = A w h i - 1 , j - 1 , n u m _ d a t a + 1 +
$ d e l t a * r i g h t s i d e - 2 * A w h i - 1 , j - 1 , n u m _ d a t a + 1 + l e f t s i d e
E N D I F
4 0 c o n t i n u e
3 0 c o n t i n u e
7 4
C s e n d t h e r e s u l t s b a c k t o t h e m a s t e r p r o g r a m
c a l l p v m f i n i t s e n d P V M D E F A U L T , i e r r
c a l l p v m f p a c k R E A L 8 , A , n u m _ d a t a * t i m e s t e p , 1 , i e r r
c a l l p v m f s e n d m a s t e r , 7 , i e r r
g o t o 1 0
C j u s t f o r g o o d m e a s u r e
c a l l p v m f e x i t i e r r
E N D
i n t e g e r F U N C T I O N w h x , y , z
i n t e g e r x , y , z
w h = x * z + y
R E T U R N
E N D
7 5
M o t i v a t i o n f o r a N e w D e s i g n
M e s s a g e P a s s i n g n o w m a t u r e a s p r o g r a m m i n g p a r a d i g m
w e l l u n d e r s t o o d
e c i e n t m a t c h t o h a r d w a r e
m a n y a p p l i c a t i o n s
V e n d o r s y s t e m s n o t p o r t a b l e
P o r t a b l e s y s t e m s a r e m o s t l y r e s e a r c h p r o j e c t s
i n c o m p l e t e
l a c k v e n d o r s u p p o r t
n o t a t m o s t e c i e n t l e v e l
7 6
M o t i v a t i o n c o n t .
F e w s y s t e m s o e r t h e f u l l r a n g e o f d e s i r e d f e a t u r e s .
m o d u l a r i t y f o r l i b r a r i e s
a c c e s s t o p e a k p e r f o r m a n c e
p o r t a b i l i t y
h e t e r o g e n e i t y
s u b g r o u p s
t o p o l o g i e s
p e r f o r m a n c e m e a s u r e m e n t t o o l s
-
7/27/2019 PVM and MPI
20/35
7 7
T h e M P I P r o c e s s
B e g a n a t W i l l i a m s b u r g W o r k s h o p i n A p r i l , 1 9 9 2
O r g a n i z e d a t S u p e r c o m p u t i n g ' 9 2 N o v e m b e r
F o l l o w e d H P F f o r m a t a n d p r o c e s s
M e t e v e r y s i x w e e k s f o r t w o d a y s
E x t e n s i v e , o p e n e m a i l d i s c u s s i o n s
D r a f t s , r e a d i n g s , v o t e s
P r e - n a l d r a f t d i s t r i b u t e d a t S u p e r c o m p u t i n g ' 9 3
T w o - m o n t h p u b l i c c o m m e n t p e r i o d
F i n a l v e r s i o n o f d r a f t i n M a y , 1 9 9 4
W i d e l y a v a i l a b l e n o w o n t h e W e b , f t p s i t e s , n e t l i b
h t t p : w w w . n e t l i b . o r g m p i i n d e x . h t m l
P u b l i c i m p l e m e n t a t i o n s a v a i l a b l e
V e n d o r i m p l e m e n t a t i o n s c o m i n g s o o n
7 8
M P I L a c k s . . .
M e c h a n i s m s f o r p r o c e s s c r e a t i o n
O n e s i d e d c o m m u n i c a t i o n p u t , g e t , a c t i v e m e s s a g e s
L a n g u a g e b i n d i n g f o r F o r t r a n 9 0 a n c C + +
T h e r e a r e a x e d n u m b e r o f p r o c e s s e s f r o m s t a r t t o n i s h o f a n a p p l i c a i t o n .
M a n y f e a t u r e s w e r e c o n s i d e r e d a n d n o t i n c l u d e d
T i m e c o n s t r a i n t
N o t e n o u g h e x p e r i e n c e
C o n c e r n t h a t a d d i t i o n a l f e a t u r e s w o u l d d e l a y t h e a p p e a r a n c e o f i m p l e -
m e n t a t i o n s
7 9
W h o D e s i g n e d M P I ?
B r o a d p a r t i c i p a t i o n
V e n d o r s
I B M , I n t e l , T M C , M e i k o , C r a y , C o n v e x , N c u b e
L i b r a r y w r i t e r s
P V M , p 4 , Z i p c o d e , T C G M S G , C h a m e l e o n , E x p r e s s , L i n d a
A p p l i c a t i o n s p e c i a l i s t s a n d c o n s u l t a n t s
C o m p a n i e s L a b o r a t o r i e s U n i v e r s i t i e s
A R C O A N L U C S a n t a B a r b a r a
C o n v e x G M D S y r a c u s e U
C r a y R e s L A N L M i c h i g a n S t a t e U
I B M L L N L O r e g o n G r a d I n s t
I n t e l N O A A U o f N e w M e x i c o
K A I N S F M i s s . S t a t e U .
M e i k o O R N L U o f S o u t h a m p t o n
N A G P N L U o f C o l o r a d o
n C U B E S a n d i a Y a l e U
P a r a S o f t S D S C U o f T e n n e s s e e
S h e l l S R C U o f M a r y l a n d
T M C W e s t e r n M i c h U
U o f E d i n b u r g h
C o r n e l l U .
R i c e U .
U o f S a n F r a n c i s c o
8 0
W h a t i s M P I ?
A m e s s a g e - p a s s i n g l i b r a r y s p e c i c a t i o n
m e s s a g e - p a s s i n g m o d e l
n o t a c o m p i l e r s p e c i c a t i o n
n o t a s p e c i c p r o d u c t
F o r p a r a l l e l c o m p u t e r s , c l u s t e r s , a n d h e t e r o g e n e o u s n e t w o r k s
F u l l - f e a t u r e d
D e s i g n e d t o p e r m i t u n l e a s h ? t h e d e v e l o p m e n t o f p a r a l l e l s o f t w a r e
l i b r a r i e s
D e s i g n e d t o p r o v i d e a c c e s s t o a d v a n c e d p a r a l l e l h a r d w a r e f o r
e n d u s e r s
l i b r a r y w r i t e r s
t o o l d e v e l o p e r s
-
7/27/2019 PVM and MPI
21/35
8 1
N e w F e a t u r e s o f M P I
G e n e r a l
C o m m u n i c a t o r s c o m b i n e c o n t e x t a n d g r o u p f o r m e s s a g e s e c u r i t y
T h r e a d s a f e t y
P o i n t - t o - p o i n t c o m m u n i c a t i o n
S t r u c t u r e d b u e r s a n d d e r i v e d d a t a t y p e s , h e t e r o g e n e i t y
M o d e s : n o r m a l b l o c k i n g a n d n o n - b l o c k i n g , s y n c h r o n o u s , r e a d y
t o a l l o w a c c e s s t o f a s t p r o t o c o l s , b u e r e d
C o l l e c t i v e
B o t h b u i l t - i n a n d u s e r - d e n e d c o l l e c t i v e o p e r a t i o n s
L a r g e n u m b e r o f d a t a m o v e m e n t r o u t i n e s
S u b g r o u p s d e n e d d i r e c t l y o r b y t o p o l o g y
8 2
N e w F e a t u r e s o f M P I c o n t .
A p p l i c a t i o n - o r i e n t e d p r o c e s s t o p o l o g i e s
B u i l t - i n s u p p o r t f o r g r i d s a n d g r a p h s u s e s g r o u p s
P r o l i n g
H o o k s a l l o w u s e r s t o i n t e r c e p t M P I c a l l s t o i n s t a l l t h e i r o w n t o o l s
E n v i r o n m e n t a l
i n q u i r y
e r r o r c o n t r o l
8 3
F e a t u r e s n o t i n M P I
N o n - m e s s a g e - p a s s i n g c o n c e p t s n o t i n c l u d e d :
p r o c e s s m a n a g e m e n t
r e m o t e m e m o r y t r a n s f e r s
a c t i v e m e s s a g e s
t h r e a d s
v i r t u a l s h a r e d m e m o r y
M P I d o e s n o t a d d r e s s t h e s e i s s u e s , b u t h a s t r i e d t o r e m a i n c o m p a t i b l e
w i t h t h e s e i d e a s e . g . t h r e a d s a f e t y a s a g o a l , i n t e r c o m m u n i c a t o r s
8 4
I s M P I L a r g e o r S m a l l ?
M P I i s l a r g e 1 2 5 f u n c t i o n s
M P I ' s e x t e n s i v e f u n c t i o n a l i t y r e q u i r e s m a n y f u n c t i o n s
N u m b e r o f f u n c t i o n s n o t n e c e s s a r i l y a m e a s u r e o f c o m p l e x i t y
M P I i s s m a l l 6 f u n c t i o n s
M a n y p a r a l l e l p r o g r a m s c a n b e w r i t t e n w i t h j u s t 6 b a s i c f u n c t i o n s .
M P I i s j u s t r i g h t
O n e c a n a c c e s s e x i b i l i t y w h e n i t i s r e q u i r e d .
O n e n e e d n o t m a s t e r a l l p a r t s o f M P I t o u s e i t .
-
7/27/2019 PVM and MPI
22/35
8 5
H e a d e r l e s
2 C
i n c l u d e m p i . h
2 F o r t r a n
i n c l u d e ` m p i f . h '
8 6
M P I F u n c t i o n F o r m a t
2 C :
e r r o r = M P I
x x x x x p a r a m e t e r , . . . ;
M P I x x x x x p a r a m e t e r , . . . ;
2 F o r t r a n :
C A L L M P I X X X X X p a r a m e t e r , . . . , I E R R O R
8 7
I n i t i a l i z i n g M P I
2 C
i n t M P I
I n i t i n t * a r g c , c h a r * * * a r g v
2 F o r t r a n
M P I
I N I T I E R R O R
I N T E G E R I E R R O R
2 M u s t b e r s t r o u t i n e c a l l e d .
8 8
MPI_COMM_WORLD
communicator
MPI_COMM_WORLD
10
2 3
4
5
6
-
7/27/2019 PVM and MPI
23/35
8 9
R a n k
2 H o w d o y o u i d e n t i f y d i e r e n t p r o c e s s e s ?
M P I
C o m m r a n k M P I C o m m c o m m , i n t * r a n k
M P I C O M M R A N K C O M M , R A N K , I E R R O R
I N T E G E R C O M M , R A N K , I E R R O R
9 0
S i z e
2 H o w m a n y p r o c e s s e s a r e c o n t a i n e d w i t h i n a
c o m m u n i c a t o r ?
M P I
C o m m s i z e M P I C o m m c o m m , i n t * s i z e
M P I
C O M M S I Z E C O M M , S I Z E , I E R R O R
I N T E G E R C O M M , S I Z E , I E R R O R
9 1
E x i t i n g M P I
2 C
i n t M P I
F i n a l i z e
2 F o r t r a n
M P I F I N A L I Z E I E R R O R
I N T E G E R I E R R O R
2 M u s t b e c a l l e d l a s t b y a l l p r o c e s s e s .
9 2
M e s s a g e s
2 A m e s s a g e c o n t a i n s a n u m b e r o f e l e m e n t s o f s o m e p a r t i c u l a r
d a t a t y p e .
2 M P I d a t a t y p e s :
B a s i c t y p e s .
D e r i v e d t y p e s .
2 D e r i v e d t y p e s c a n b e b u i l t u p f r o m b a s i c t y p e s .
2 C t y p e s a r e d i e r e n t f r o m F o r t r a n t y p e s .
-
7/27/2019 PVM and MPI
24/35
9 3
M P I B a s i c D a t a t y p e s - C
M P I D a t a t y p e C d a t a t y p e
M P I C H A R s i g n e d c h a r
M P I S H O R T s i g n e d s h o r t i n t
M P I I N T s i g n e d i n t
M P I L O N G s i g n e d l o n g i n t
M P I U N S I G N E D C H A R u n s i g n e d c h a r
M P I U N S I G N E D S H O R T u n s i g n e d s h o r t i n t
M P I U N S I G N E D u n s i g n e d i n t
M P I U N S I G N E D L O N G u n s i g n e d l o n g i n t
M P I F L O A T o a t
M P I D O U B L E d o u b l e
M P I L O N G D O U B L E l o n g d o u b l e
M P I B Y T E
M P I P A C K E D
9 4
M P I B a s i c D a t a t y p e s - F o r t r a n
M P I D a t a t y p e F o r t r a n D a t a t y p e
M P I I N T E G E R I N T E G E R
M P I R E A L R E A L
M P I D O U B L E P R E C I S I O N D O U B L E P R E C I S I O N
M P I C O M P L E X C O M P L E X
M P I L O G I C A L L O G I C A L
M P I C H A R A C T E R C H A R A C T E R 1
M P I B Y T E
M P I P A C K E D
9 5
PointtoPoint Communication
1
0
2
3
4
5
source
dest
communicator
Communication between two processes.
Source process sends message to destination process.
Communication takes place within a communicator.
Destination process is identified by its rank in thecommunicator.
9 6
S i m p l e F o r t r a n e x a m p l e
p r o g r a m m a i n
i n c l u d e ' m p i f . h '
i n t e g e r r a n k , s i z e , t o , f r o m , t a g , c o u n t , i , i e r r
i n t e g e r s r c , d e s t
i n t e g e r s t _ s o u r c e , s t _ t a g , s t _ c o u n t
i n t e g e r s t a t u s M P I _ S T A T U S _ S I Z E
d o u b l e p r e c i s i o n d a t a 1 0 0
c a l l M P I _ I N I T i e r r
c a l l M P I _ C O M M _ R A N K M P I _ C O M M _ W O R L D , r a n k , i e r r
c a l l M P I _ C O M M _ S I Z E M P I _ C O M M _ W O R L D , s i z e , i e r r
p r i n t * , ' P r o c e s s ' , r a n k , ' o f ' , s i z e , ' i s a l i v e '
d e s t = s i z e - 1
s r c = 0
C
i f r a n k . e q . s r c t h e n
t o = d e s t
c o u n t = 1 0
t a g = 2 0 0 1
d o 1 0 i = 1 , 1 0
1 0 d a t a i = i
c a l l M P I _ S E N D d a t a , c o u n t , M P I _ D O U B L E _ P R E C I S I O N , t o ,
+ t a g , M P I _ C O M M _ W O R L D , i e r r
e l s e i f r a n k . e q . d e s t t h e n
t a g = M P I _ A N Y _ T A G
c o u n t = 1 0
f r o m = M P I _ A N Y _ S O U R C E
c a l l M P I _ R E C V d a t a , c o u n t , M P I _ D O U B L E _ P R E C I S I O N , f r o m ,
+ t a g , M P I _ C O M M _ W O R L D , s t a t u s , i e r r
-
7/27/2019 PVM and MPI
25/35
9 7
S i m p l e F o r t r a n e x a m p l e c o n t .
c a l l M P I _ G E T _ C O U N T s t a t u s , M P I _ D O U B L E _ P R E C I S I O N ,
+ s t _ c o u n t , i e r r
s t _ s o u r c e = s t a t u s M P I _ S O U R C E
s t _ t a g = s t a t u s M P I _ T A G
C
p r i n t * , ' S t a t u s i n f o : s o u r c e = ' , s t _ s o u r c e ,
+ ' t a g = ' , s t _ t a g , ' c o u n t = ' , s t _ c o u n t
p r i n t * , r a n k , ' r e c e i v e d ' , d a t a i , i = 1 , 1 0
e n d i f
c a l l M P I _ F I N A L I Z E i e r r
e n d
9 8
F o r t r a n e x a m p l e
p r o g r a m m a i n
i n c l u d e " m p i f . h "
d o u b l e p r e c i s i o n P I 2 5 D T
p a r a m e t e r P I 2 5 D T = 3 . 1 4 1 5 9 2 6 5 3 5 8 9 7 9 3 2 3 8 4 6 2 6 4 3 d 0
d o u b l e p r e c i s i o n m y p i , p i , h , s u m , x , f , a
i n t e g e r n , m y i d , n u m p r o c s , i , r c
c f u n c t i o n t o i n t e g r a t e
f a = 4 . d 0 1 . d 0 + a * a
c a l l M P I _ I N I T i e r r
c a l l M P I _ C O M M _ R A N K M P I _ C O M M _ W O R L D , m y i d , i e r r
c a l l M P I _ C O M M _ S I Z E M P I _ C O M M _ W O R L D , n u m p r o c s , i e r r
1 0 i f m y i d . e q . 0 t h e n
w r i t e 6 , 9 8
9 8 f o r m a t ' E n t e r t h e n u m b e r o f i n t e r v a l s : 0 q u i t s '
r e a d 5 , 9 9 n
9 9 f o r m a t i 1 0
e n d i f
c a l l M P I _ B C A S T n , 1 , M P I _ I N T E G E R , 0 , M P I _ C O M M _ W O R L D , i e r r
9 9
F o r t r a n e x a m p l e c o n t .
c c h e c k f o r q u i t s i g n a l
i f n . l e . 0 g o t o 3 0
c c a l c u l a t e t h e i n t e r v a l s i z e
h = 1 . 0 d 0 n
s u m = 0 . 0 d 0
d o 2 0 i = m y i d + 1 , n , n u m p r o c s
x = h * d b l e i - 0 . 5 d 0
s u m = s u m + f x
2 0 c o n t i n u e
m y p i = h * s u m
c c o l l e c t a l l t h e p a r t i a l s u m s
c a l l M P I _ R E D U C E m y p i , p i , 1 , M P I _ D O U B L E _ P R E C I S I O N , M P I _ S U M , 0 ,
$ M P I _ C O M M _ W O R L D , i e r r
c n o d e 0 p r i n t s t h e a n s w e r .
i f m y i d . e q . 0 t h e n
w r i t e 6 , 9 7 p i , a b s p i - P I 2 5 D T
9 7 f o r m a t ' p i i s a p p r o x i m a t e l y : ' , F 1 8 . 1 6 ,
+ ' E r r o r i s : ' , F 1 8 . 1 6
e n d i f
g o t o 1 0
3 0 c a l l M P I _ F I N A L I Z E r c
s t o p
e n d
1 0 0
C e x a m p l e
i n c l u d e " m p i . h "
i n c l u d e m a t h . h
i n t m a i n a r g c , a r g v
i n t a r g c ;
c h a r * a r g v ;
i n t d o n e = 0 , n , m y i d , n u m p r o c s , i , r c ;
d o u b l e P I 2 5 D T = 3 . 1 4 1 5 9 2 6 5 3 5 8 9 7 9 3 2 3 8 4 6 2 6 4 3 ;
d o u b l e m y p i , p i , h , s u m , x , a ;
M P I _ I n i t & a r g c , & a r g v ;
M P I _ C o m m _ s i z e M P I _ C O M M _ W O R L D , & n u m p r o c s ;
M P I _ C o m m _ r a n k M P I _ C O M M _ W O R L D , & m y i d ;
-
7/27/2019 PVM and MPI
26/35
1 0 1
C e x a m p l e c o n t .
w h i l e ! d o n e
i f m y i d = = 0
p r i n t f " E n t e r t h e n u m b e r o f i n t e r v a l s : 0 q u i t s " ;
s c a n f " d " , & n ;
M P I _ B c a s t & n , 1 , M P I _ I N T , 0 , M P I _ C O M M _ W O R L D ;
i f n = = 0 b r e a k ;
h = 1 . 0 d o u b l e n ;
s u m = 0 . 0 ;
f o r i = m y i d + 1 ; i = n ; i + = n u m p r o c s
x = h * d o u b l e i - 0 . 5 ;
s u m + = 4 . 0 1 . 0 + x * x ;
m y p i = h * s u m ;
M P I _ R e d u c e & m y p i , & p i , 1 , M P I _ D O U B L E , M P I _ S U M , 0 ,
M P I _ C O M M _ W O R L D ;
i f m y i d = = 0
p r i n t f " p i i s a p p r o x i m a t e l y . 1 6 f , E r r o r i s . 1 6 f n " ,
p i , f a b s p i - P I 2 5 D T ;
M P I _ F i n a l i z e ;
1 0 2
C o m m u n i c a t i o n m o d e s
S e n d e r m o d e N o t e s
S y n c h r o n o u s s e n d O n l y c o m p l e t e s w h e n t h e r e c e i v e h a s
s t a r t e d .
B u e r e d s e n d A l w a y s c o m p l e t e s u n l e s s a n e r r o r
o c c u r s , i r r e s p e c t i v e o f r e c e i v e r .
S t a n d a r d s e n d E i t h e r s y n c h r o n o u s o r b u e r e d .
R e a d y s e n d A l w a y s c o m p l e t e s u n l e s s a n e r r o r
o c c u r s , i r r e s p e c t i v e o f w h e t h e r t h e
r e c e i v e h a s c o m p l e t e d .
R e c e i v e C o m p l e t e s w h e n a m e s s a g e h a s
a r r i v e d .
1 0 3
M P I S e n d e r M o d e s
O P E R A T I O N M P I C A L L
S t a n d a r d s e n d M P I S E N D
S y n c h r o n o u s s e n d M P I S S E N D
B u e r e d s e n d M P I B S E N D
R e a d y s e n d M P I R S E N D
R e c e i v e M P I R E C V
1 0 4
S e n d i n g a m e s s a g e
2 C :
i n t M P I
S s e n d v o i d * b u f , i n t c o u n t , M P I D a t a t y p e d a t a t y p e
i n t d e s t , i n t t a g , M P I C o m m c o m m
2 F o r t r a n :
M P I S S E N D B U F , C O U N T , D A T A T Y P E , D E S T , T A G ,
C O M M , I E R R O R
t y p e B U F *
I N T E G E R C O U N T , D A T A T Y P E , D E S T , T A G I N T E -
G E R C O M M , I E R R O R
-
7/27/2019 PVM and MPI
27/35
1 0 5
R e c e i v i n g a m e s s a g e
2 C :
i n t M P I
R e c v v o i d * b u f , i n t c o u n t , M P I D a t a t y p e d a t a t y p e ,
i n t s o u r c e , i n t t a g , M P I
C o m m c o m m , M P I S t a t u s * s t a -
t u s
2 F o r t r a n :
M P I
R E C V B U F , C O U N T , D A T A T Y P E ,
S O U R C E , T A G , C O M M , S T A T U S , I E R R O R
t y p e B U F * I N T E G E R C O U N T ,
D A T A T Y P E , S O U R C E , T A G , C O M M ,
S T A T U S M P I
S T A T U S S I Z E , I E R R O R
1 0 6
S y n c h r o n o u s B l o c k i n g
M e s s a g e - P a s s i n g
2 P r o c e s s e s s y n c h r o n i z e .
2 S e n d e r p r o c e s s s p e c i e s t h e s y n c h r o n o u s m o d e .
2 B l o c k i n g - b o t h p r o c e s s e s w a i t u n t i l t h e t r a n s a c t i o n h a s c o m -
p l e t e d .
1 0 7
F o r a c o m m u n i c a t i o n t o
s u c c e e d :
2 S e n d e r m u s t s p e c i f y a v a l i d d e s t i n a t i o