matrix multiplication paper
TRANSCRIPT
8/3/2019 Matrix Multiplication Paper
http://slidepdf.com/reader/full/matrix-multiplication-paper 1/18
A N e w P a r a l l e l M a t r i x M u l t i p l i c a t i o n A l g o r i t h m
o n D i s t r i b u t e d - M e m o r y C o n c u r r e n t C o m p u t e r s
J a e y o u n g C h o i
S c h o o l o f C o m p u t i n g
S o o n g s i l U n i v e r s i t y
1 - 1 , S a n g d o - D o n g , D o n g j a k - K u
S e o u l 1 5 6 - 7 4 3 , K O R E A
A b s t r a c t
W e p r e s e n t a n e w f a s t a n d s c a l a b l e m a t r i x m u l t i p l i c a t i o n a l g o r i t h m , c a l l e d D I M M A
D i s t r i b u t i o n - I n d e p e n d e n t M a t r i x M u l t i p l i c a t i o n A l g o r i t h m , f o r b l o c k c y c l i c d a t a d i s t r i b u -
t i o n o n d i s t r i b u t e d - m e m o r y c o n c u r r e n t c o m p u t e r s . T h e a l g o r i t h m i s b a s e d o n t w o n e w i d e a s ;
i t u s e s a m o d i e d p i p e l i n e d c o m m u n i c a t i o n s c h e m e t o o v e r l a p c o m p u t a t i o n a n d c o m m u n i -
c a t i o n e e c t i v e l y , a n d e x p l o i t s t h e L C M b l o c k c o n c e p t t o o b t a i n t h e m a x i m u m p e r f o r m a n c e
o f t h e s e q u e n t i a l B L A S r o u t i n e i n e a c h p r o c e s s o r e v e n w h e n t h e b l o c k s i z e i s v e r y s m a l l a s
w e l l a s v e r y l a r g e . T h e a l g o r i t h m i s i m p l e m e n t e d a n d c o m p a r e d w i t h S U M M A o n t h e I n t e l
P a r a g o n c o m p u t e r .
8/3/2019 Matrix Multiplication Paper
http://slidepdf.com/reader/full/matrix-multiplication-paper 2/18
1 . I n t r o d u c t i o n
A n u m b e r o f a l g o r i t h m s a r e c u r r e n t l y a v a i l a b l e f o r m u l t i p l y i n g t w o m a t r i c e s A a n d B t o
y i e l d t h e p r o d u c t m a t r i x C = A B o n d i s t r i b u t e d - m e m o r y c o n c u r r e n t c o m p u t e r s 1 2 , 1 6 .
T w o c l a s s i c a l g o r i t h m s a r e C a n n o n ' s a l g o r i t h m 4 a n d F o x ' s a l g o r i t h m 1 1 . T h e y a r e b a s e d
o n a P P s q u a r e p r o c e s s o r g r i d w i t h a b l o c k d a t a d i s t r i b u t i o n i n w h i c h e a c h p r o c e s s o r
h o l d s a l a r g e c o n s e c u t i v e b l o c k o f d a t a .
T w o e o r t s t o i m p l e m e n t F o x ' s a l g o r i t h m o n g e n e r a l 2 - D g r i d s h a v e b e e n m a d e : C h o i ,
D o n g a r r a a n d W a l k e r d e v e l o p e d ` P U M M A ' 7 f o r b l o c k c y c l i c d a t a d e c o m p o s i t i o n s , a n d
H u s s - L e d e r m a n , J a c o b s o n , T s a o a n d Z h a n g d e v e l o p e d ` B i M M e R ' 1 5 f o r t h e v i r t u a l 2 - D
t o r u s w r a p d a t a l a y o u t . T h e d i e r e n c e s i n t h e s e d a t a l a y o u t s r e s u l t s i n d i e r e n t a l g o r i t h m s .
T h e s e t w o a l g o r i t h m s h a v e b e e n c o m p a r e d o n t h e I n t e l T o u c h s t o n e D e l t a 1 4 .
R e c e n t e o r t s t o i m p l e m e n t n u m e r i c a l a l g o r i t h m s f o r d e n s e m a t r i c e s o n d i s t r i b u t e d -
m e m o r y c o n c u r r e n t c o m p u t e r s a r e b a s e d o n a b l o c k c y c l i c d a t a d i s t r i b u t i o n 6 , i n w h i c h
a n M N m a t r i x A c o n s i s t s o f m
b
n
b
b l o c k s o f d a t a , a n d t h e b l o c k s a r e d i s t r i b u t e d b y
w r a p p i n g a r o u n d b o t h r o w a n d c o l u m n d i r e c t i o n s o n a n a r b i t r a r y P Q p r o c e s s o r g r i d . T h e
d i s t r i b u t i o n c a n r e p r o d u c e m o s t d a t a d i s t r i b u t i o n s u s e d i n l i n e a r a l g e b r a c o m p u t a t i o n s . F o r
d e t a i l s , s e e S e c t i o n 2 . 2 . W e l i m i t t h e d i s t r i b u t i o n o f d a t a m a t r i c e s t o t h e b l o c k c y c l i c d a t a
d i s t r i b u t i o n .
T h e P U M M A r e q u i r e s a m i n i m u m n u m b e r o f c o m m u n i c a t i o n s a n d c o m p u t a t i o n s . I t
c o n s i s t s o f o n l y Q , 1 s h i f t s f o r A , L C M P ; Q b r o a d c a s t s f o r B , a n d L C M P ; Q l o c a l
m u l t i p l i c a t i o n s , w h e r e L C M P ; Q i s t h e l e a s t c o m m o n m u l t i p l e o f P a n d Q . I t m u l t i p l i e s
t h e l a r g e s t p o s s i b l e m a t r i c e s o f A a n d B f o r e a c h c o m p u t a t i o n s t e p , s o t h a t p e r f o r m a n c e o f
t h e r o u t i n e d e p e n d s v e r y w e a k l y o n t h e b l o c k s i z e o f t h e m a t r i x . H o w e v e r , P U M M A m a k e s
i t d i c u l t t o o v e r l a p c o m p u t a t i o n w i t h c o m m u n i c a t i o n s i n c e i t a l w a y s d e a l s w i t h t h e l a r g e s t
p o s s i b l e m a t r i c e s f o r b o t h c o m p u t a t i o n a n d c o m m u n i c a t i o n , a n d i t r e q u i r e s l a r g e m e m o r y
s p a c e t o s t o r e t h e m t e m p o r a r i l y , w h i c h m a k e s i t i m p r a c t i c a l i n r e a l a p p l i c a t i o n s .
A g r a w a l , G u s t a v s o n a n d Z u b a i r 1 p r o p o s e d a n o t h e r m a t r i x m u l t i p l i c a t i o n a l g o r i t h m b y
e c i e n t l y o v e r l a p p i n g c o m p u t a t i o n w i t h c o m m u n i c a t i o n o n t h e I n t e l i P S C 8 6 0 a n d D e l t a
s y s t e m . V a n d e G e i j n a n d W a t t s 1 8 i n d e p e n d e n t l y d e v e l o p e d t h e s a m e a l g o r i t h m o n t h e I n -
t e l p a r a g o n a n d c a l l e d i t S U M M A . A l s o i n d e p e n d e n t l y , P B L A S 5 , w h i c h i s a m a j o r b u i l d i n g
b l o c k o f S c a L A P A C K 3 , u s e s t h e s a m e s c h e m e i n i m p l e m e n t i n g t h e m a t r i x m u l t i p l i c a t i o n
r o u t i n e , P D G E M M
I n t h i s p a p e r , w e p r e s e n t a n e w f a s t a n d s c a l a b l e m a t r i x m u l t i p l i c a t i o n a l g o r i t h m , c a l l e d
D I M M A D i s t r i b u t i o n - I n d e p e n d e n t M a t r i x M u l t i p l i c a t i o n A l g o r i t h m f o r b l o c k c y c l i c d a t a
d i s t r i b u t i o n o n d i s t r i b u t e d - m e m o r y c o n c u r r e n t c o m p u t e r s . T h e a l g o r i t h m i n c o r p o r a t e s S U M M A
w i t h t w o n e w i d e a s . I t u s e s ` a m o d i e d p i p e l i n e d c o m m u n i c a t i o n s c h e m e ' , w h i c h m a k e s t h e
a l g o r i t h m t h e m o s t e c i e n t b y o v e r l a p p i n g c o m p u t a t i o n a n d c o m m u n i c a t i o n e e c t i v e l y . I t
a l s o e x p l o i t s ` t h e L C M c o n c e p t ' , w h i c h m a i n t a i n s t h e m a x i m u m p e r f o r m a n c e o f t h e s e q u e n -
t i a l B L A S r o u t i n e , D G E M M , i n e a c h p r o c e s s o r , e v e n w h e n t h e b l o c k s i z e i s v e r y s m a l l a s w e l l
a s v e r y l a r g e . T h e d e t a i l s o f t h e L C M c o n c e p t i s e x p l a i n e d i n S e c t i o n 2 . 2 .
D I M M A a n d S U M M A a r e i m p l e m e n t e d a n d c o m p a r e d o n t h e I n t e l P a r a g o n c o m p u t e r .
8/3/2019 Matrix Multiplication Paper
http://slidepdf.com/reader/full/matrix-multiplication-paper 3/18
T h e p a r a l l e l m a t r i x m u l t i p l i c a t i o n r e q u i r e s O N
3
o p s a n d O N
2
c o m m u n i c a t i o n s , i . e . , i t
i s c o m p u t a t i o n i n t e n s i v e . F o r a l a r g e m a t r i x , t h e p e r f o r m a n c e d i e r e n c e b e t w e e n S U M M A
a n d D I M M A m a y b e m a r g i n a l a n d n e g l i g i b l e . B u t f o r s m a l l m a t r i x o f N = 1 0 0 0 o n a 1 6 1 6
p r o c e s s o r g r i d , t h e p e r f o r m a n c e d i e r e n c e i s a p p r o x i m a t e l y 1 0 .
2 . D e s i g n P r i n c i p l e s
2 . 1 . L e v e l 3 B L A S
C u r r e n t a d v a n c e d a r c h i t e c t u r e c o m p u t e r s p o s s e s s h i e r a r c h i c a l m e m o r i e s i n w h i c h a c c e s s t o
d a t a i n t h e u p p e r l e v e l s o f t h e m e m o r y h i e r a r c h y r e g i s t e r s , c a c h e , a n d o r l o c a l m e m o r y i s
f a s t e r t h a n t o d a t a i n l o w e r l e v e l s s h a r e d o r o - p r o c e s s o r m e m o r y . O n e t e c h n i q u e t o e x p l o i t
t h e p o w e r o f s u c h m a c h i n e s m o r e e c i e n t l y i s t o d e v e l o p a l g o r i t h m s t h a t m a x i m i z e r e u s e
o f d a t a h e l d i n t h e u p p e r l e v e l s . T h i s c a n b e d o n e b y p a r t i t i o n i n g t h e m a t r i x o r m a t r i c e s
i n t o b l o c k s a n d b y p e r f o r m i n g t h e c o m p u t a t i o n w i t h m a t r i x - m a t r i x o p e r a t i o n s o n t h e b l o c k s .
T h e L e v e l 3 B L A S 9 p e r f o r m a n u m b e r o f c o m m o n l y u s e d m a t r i x - m a t r i x o p e r a t i o n s , a n d
a r e a v a i l a b l e i n o p t i m i z e d f o r m o n m o s t c o m p u t i n g p l a t f o r m s r a n g i n g f r o m w o r k s t a t i o n s u p
t o s u p e r c o m p u t e r s .
T h e L e v e l 3 B L A S h a v e b e e n s u c c e s s f u l l y u s e d a s t h e b u i l d i n g b l o c k s o f a n u m b e r o f a p -
p l i c a t i o n s , i n c l u d i n g L A P A C K 2 , a s o f t w a r e l i b r a r y t h a t u s e s b l o c k - p a r t i t i o n e d a l g o r i t h m s
f o r p e r f o r m i n g d e n s e l i n e a r a l g e b r a c o m p u t a t i o n s o n v e c t o r a n d s h a r e d m e m o r y c o m p u t e r s .
O n s h a r e d m e m o r y m a c h i n e s , b l o c k - p a r t i t i o n e d a l g o r i t h m s r e d u c e t h e n u m b e r o f t i m e s
t h a t d a t a m u s t b e f e t c h e d f r o m s h a r e d m e m o r y , w h i l e o n 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 , t h e y
r e d u c e t h e n u m b e r o f m e s s a g e s r e q u i r e d t o g e t t h e d a t a f r o m o t h e r p r o c e s s o r s . T h u s , t h e r e
h a s b e e n m u c h i n t e r e s t i n d e v e l o p i n g v e r s i o n s o f t h e L e v e l 3 B L A S f o r d i s t r i b u t e d - m e m o r y
c o n c u r r e n t c o m p u t e r s 5 , 8 , 1 0 .
T h e m o s t i m p o r t a n t r o u t i n e i n t h e L e v e l 3 B L A S i s D G E M M f o r p e r f o r m i n g m a t r i x - m a t r i x
m u l t i p l i c a t i o n . T h e g e n e r a l p u r p o s e r o u t i n e p e r f o r m s t h e f o l l o w i n g o p e r a t i o n :
C o p A o p B + C
w h e r e o p X = X ; X
T
o r X
H
. A n d " d e n o t e s m a t r i x - m a t r i x m u l t i p l i c a t i o n . A , B a n d C
a r e m a t r i c e s , a n d a n d a r e s c a l a r s . T h i s p a p e r f o c u s e s o n t h e d e s i g n a n d i m p l e m e n t a t i o n
o f t h e n o n - t r a n s p o s e d m a t r i x m u l t i p l i c a t i o n r o u t i n e o f C A B + C , b u t t h e i d e a c a n
b e e a s i l y e x t e n d e d t o t h e t r a n s p o s e d m u l t i p l i c a t i o n r o u t i n e s o f C A B
T
+ C a n d
C A
T
B + C
2 . 2 . B l o c k C y c l i c D a t a D i s t r i b u t i o n
F o r p e r f o r m i n g t h e m a t r i x m u l t i p l i c a t i o n C = A B , w e a s s u m e t h a t A , B a n d C a r e M K ,
K N , a n d M N , r e s p e c t i v e l y . T h e d i s t r i b u t e d r o u t i n e a l s o r e q u i r e s a c o n d i t i o n o n t h e
b l o c k s i z e t o e n s u r e c o m p a t i b i l i t y . T h a t i s , i f t h e b l o c k s i z e o f A i s m
b
k
b
, t h e n t h a t o f
B a n d C m u s t b e k
b
n
b
a n d m
b
n
b
, r e s p e c t i v e l y . S o t h e n u m b e r o f b l o c k s o f m a t r i c e s
8/3/2019 Matrix Multiplication Paper
http://slidepdf.com/reader/full/matrix-multiplication-paper 4/18
0
1
2
3
4
5
6
7
8
9
10
11
0 1 2 3 4 5 6 7 8 9 10 11
(a) matrix point-of-view
0 1 2
3 4 5
0 1 2
3 4 5
0 1 2
3 4 5
0 1 2
3 4 5
0 1 2
3 4 5
0 1 2
3 4 5
0 1 2
3 4 5
0 1 2
3 4 5
0 1 2
3 4 5
0 1 2
3 4 5
0 1 2
3 4 5
0 1 2
3 4 5
0 1 2
3 4 5
0 1 2
3 4 5
0 1 2
3 4 5
0 1 2
3 4 5
0 1 2
3 4 5
0 1 2
3 4 5
0 1 2
3 4 5
0 1 2
3 4 5
0 1 2
3 4 5
0 1 2
3 4 5
0 1 2
3 4 5
0 1 2
3 4 5
P0
P3
P1
P4
P2
P5
0
2
4
6
8
10
1
3
5
7
9
11
0 3 6 9 1 4 7 10 2 5 8 11
(b) processor point-of-view
F i g u r e 1 : B l o c k c y c l i c d a t a d i s t r i b u t i o n . A m a t r i x w i t h 1 2 1 2 b l o c k s i s d i s t r i b u t e d o v e r
a 2 3 p r o c e s s o r g r i d . a T h e s h a d e d a n d u n s h a d e d a r e a s r e p r e s e n t d i e r e n t g r i d s . b I t
i s e a s i e r t o s e e t h e d i s t r i b u t i o n f r o m t h e p r o c e s s o r p o i n t - o f - v i e w t o i m p l e m e n t a l g o r i t h m s .
E a c h p r o c e s s o r h a s 6 4 b l o c k s .
A , B , a n d C a r e M
g
K
g
, K
g
N
g
, a n d M
g
N
g
, r e s p e c t i v e l y , w h e r e M
g
= d M = m
b
e ,
N
g
= d N = n
b
e , a n d K
g
= d K = k
b
e
T h e w a y i n w h i c h a m a t r i x i s d i s t r i b u t e d o v e r t h e p r o c e s s o r s h a s a m a j o r i m p a c t o n
t h e l o a d b a l a n c e a n d c o m m u n i c a t i o n c h a r a c t e r i s t i c s o f t h e c o n c u r r e n t a l g o r i t h m , h e n c e ,
l a r g e l y d e t e r m i n e s i t s p e r f o r m a n c e a n d s c a l a b i l i t y . T h e b l o c k c y c l i c d i s t r i b u t i o n p r o v i d e s
a s i m p l e , g e n e r a l - p u r p o s e w a y o f d i s t r i b u t i n g a b l o c k - p a r t i t i o n e d m a t r i x o n d i s t r i b u t e d -
m e m o r y c o n c u r r e n t c o m p u t e r s .
F i g u r e 1 a s h o w s a n e x a m p l e o f t h e b l o c k c y c l i c d a t a d i s t r i b u t i o n , w h e r e a m a t r i x w i t h
1 2 1 2 b l o c k s i s d i s t r i b u t e d o v e r a 2 3 g r i d . T h e n u m b e r e d s q u a r e s r e p r e s e n t b l o c k s o f
e l e m e n t s , a n d t h e n u m b e r i n d i c a t e s t h e l o c a t i o n i n t h e p r o c e s s o r g r i d a l l b l o c k s l a b e l e d
w i t h t h e s a m e n u m b e r a r e s t o r e d i n t h e s a m e p r o c e s s o r . T h e s l a n t e d n u m b e r s , o n t h e l e f t
a n d o n t h e t o p o f t h e m a t r i x , r e p r e s e n t i n d i c e s o f a r o w o f b l o c k s a n d o f a c o l u m n o f b l o c k s ,
r e s p e c t i v e l y . F i g u r e 1 b r e e c t s t h e d i s t r i b u t i o n f r o m a p r o c e s s o r p o i n t - o f - v i e w , w h e r e e a c h
p r o c e s s o r h a s 6 4 b l o c k s .
D e n o t i n g t h e l e a s t c o m m o n m u l t i p l e o f P a n d Q b y L C M , w e r e f e r t o a s q u a r e o f L C M
L C M b l o c k s a s a n L C M b l o c k . T h u s , t h e m a t r i x i n F i g u r e 1 m a y b e v i e w e d a s a 2 2
a r r a y o f L C M b l o c k s . B l o c k s b e l o n g t o t h e s a m e p r o c e s s o r i f t h e i r r e l a t i v e l o c a t i o n s a r e
t h e s a m e i n e a c h L C M b l o c k . A p a r a l l e l a l g o r i t h m , i n w h i c h t h e o r d e r o f e x e c u t i o n c a n b e
i n t e r m i x e d s u c h a s m a t r i x m u l t i p l i c a t i o n a n d m a t r i x t r a n s p o s i t i o n , m a y b e d e v e l o p e d f o r
t h e r s t L C M b l o c k . T h e n i t c a n b e d i r e c t l y a p p l i e d t o t h e o t h e r L C M b l o c k s , w h i c h h a v e
t h e s a m e s t r u c t u r e a n d t h e s a m e d a t a d i s t r i b u t i o n a s t h e r s t L C M b l o c k , t h a t i s , w h e n a n
o p e r a t i o n i s e x e c u t e d o n t h e r s t L C M b l o c k , t h e s a m e o p e r a t i o n c a n b e d o n e s i m u l t a n e o u s l y
o n o t h e r L C M b l o c k s . A n d t h e L C M c o n c e p t i s a p p l i e d t o d e s i g n s o f t w a r e l i b r a r i e s f o r d e n s e
l i n e a r a l g e b r a c o m p u t a t i o n s w i t h a l g o r i t h m i c b l o c k i n g 1 7 , 1 9 .
8/3/2019 Matrix Multiplication Paper
http://slidepdf.com/reader/full/matrix-multiplication-paper 5/18
A
0
2
4
6
8
10
1
3
5
7
9
11
0 3 6 9 1 4 7 10 2 5 8 11
B
0
2
4
6
8
10
1
3
5
7
9
11
0 3 6 9 1 4 7 10 2 5 8 11
F i g u r e 2 : A s n a p s h o t o f S U M M A . T h e d a r k e s t b l o c k s a r e b r o a d c a s t r s t , a n d l i g h t e s t b l o c k s
a r e b r o a d c a s t l a t e r .
3 . A l g o r i t h m s
3 . 1 . S U M M A
S U M M A i s b a s i c a l l y a s e q u e n c e o f r a n k - k
b
u p d a t e s . I n S U M M A , A a n d B a r e d i v i d e d
i n t o s e v e r a l c o l u m n s a n d r o w s o f b l o c k s , r e s p e c t i v e l y , w h o s e b l o c k s i z e s a r e k
b
. P r o c e s s o r s
m u l t i p l y t h e r s t c o l u m n o f b l o c k s o f A w i t h t h e r s t r o w o f b l o c k s o f B . T h e n p r o c e s s o r s
m u l t i p l y t h e n e x t c o l u m n o f b l o c k s o f A a n d t h e n e x t r o w o f b l o c k s o f B s u c c e s s i v e l y .
A s t h e s n a p s h o t o f F i g u r e 2 s h o w s , t h e r s t c o l u m n o f p r o c e s s o r s P
0
a n d P
3
b e g i n s
b r o a d c a s t i n g t h e r s t c o l u m n o f b l o c k s o f A A : ; 0 a l o n g e a c h r o w o f p r o c e s s o r s h e r e w e
u s e M A T L A B n o t a t i o n t o s i m p l y r e p r e s e n t a p o r t i o n o f a m a t r i x . A t t h e s a m e t i m e , t h e
r s t r o w o f p r o c e s s o r s , P
0
, P
1
, a n d P
2
b r o a d c a s t s t h e r s t r o w o f b l o c k s o f B B 0 ; : a l o n g
e a c h c o l u m n o f p r o c e s s o r s . A f t e r t h e l o c a l m u l t i p l i c a t i o n , t h e s e c o n d c o l u m n o f p r o c e s s o r s ,
P
1
a n d P
4
, b r o a d c a s t s A : ; 1 r o w w i s e , a n d t h e s e c o n d r o w o f p r o c e s s o r s , P
3
, P
4
, a n d P
5
,
b r o a d c a s t s B 1 ; : c o l u m n w i s e . T h i s p r o c e d u r e c o n t i n u e s u n t i l t h e l a s t c o l u m n o f b l o c k s o f
A a n d t h e l a s t r o w o f b l o c k s o f B
A g r a w a l , G u s t a v s o n a n d Z u b a i r 1 , a n d v a n d e G e i j n a n d W a t t s 1 8 o b t a i n e d h i g h
e c i e n c y o n t h e I n t e l D e l t a a n d P a r a g o n , r e s p e c t i v e l y , b y e x p l o i t i n g t h e p i p e l i n e d c o m m u -
n i c a t i o n s c h e m e , w h e r e b r o a d c a s t i n g i s i m p l e m e n t e d a s p a s s i n g a c o l u m n o r r o w o f b l o c k s
a r o u n d t h e l o g i c a l r i n g t h a t f o r m s t h e r o w o r c o l u m n .
3 . 2 . D I M M A
W e s h o w a s i m p l e s i m u l a t i o n i n F i g u r e 3 . I t i s a s s u m e d t h a t t h e r e a r e 4 p r o c e s s o r s , e a c h
h a s 2 s e t s o f d a t a t o b r o a d c a s t , a n d t h e y u s e b l o c k i n g s e n d a n d n o n - b l o c k i n g r e c e i v e . I n
t h e g u r e , t h e t i m e t o s e n d a d a t a s e t i s a s s u m e d t o b e 0 . 2 s e c o n d s , a n d t h e t i m e f o r l o c a l
c o m p u t a t i o n i s 0 . 6 s e c o n d s . T h e n t h e p i p e l i n e d b r o a d c a s t i n g s c h e m e t a k e s 8 . 2 s e c o n d s a s i n
F i g u r e 3 a .
8/3/2019 Matrix Multiplication Paper
http://slidepdf.com/reader/full/matrix-multiplication-paper 6/18
Time
Proc 0
Proc 1
Proc 2
Proc 3
0
0
0
0
0
1
1
1
1 2 3
2 3
3
2
2
3
0
0
0
0
1
1
1
1 2 3
2 3
3
2
2
3
: time for a local computation: time to send a message
0 1 2 3 4 5 6 7 8 9
a S U M M A
Proc 0
Proc 1
Proc 2
Proc 3
Time
0
0
0
0
1 2
3
2
3
0
1
3
2 3
0 1 2 3 4 5 6 7 8 9
0
0
0
1
1
1 1
1 1
2
2
2 2
3 3
3 3
2
b D I M M A
F i g u r e 3 : C o m m u n i c a t i o n c h a r a c t e r i s t i c s o f S U M M A a n d D I M M A . I t i s a s s u m e d t h a t b l o c k -
i n g s e n d a n d n o n - b l o c k i n g r e c e i v e a r e u s e d .
A c a r e f u l i n v e s t i g a t i o n o f t h e p i p e l i n e d c o m m u n i c a t i o n s h o w s t h e r e i s a n e x t r a w a i t i n g
t i m e b e t w e e n t w o c o m m u n i c a t i o n p r o c e d u r e s . I f t h e r s t p r o c e s s o r b r o a d c a s t s e v e r y t h i n g
i t c o n t a i n s t o o t h e r p r o c e s s o r s b e f o r e t h e n e x t p r o c e s s o r s t a r t s t o b r o a d c a s t i t s d a t a , i t i s
p o s s i b l e t o e l i m i n a t e t h e u n n e c e s s a r y w a i t i n g t i m e . T h e m o d i e d c o m m u n i c a t i o n s c h e m e i n
F i g u r e 3 b t a k e s 7 . 4 s e c o n d s . T h a t i s , t h e n e w c o m m u n i c a t i o n s c h e m e s a v e s 4 c o m m u n i -
c a t i o n t i m e s 8 2 , 7 4 = 0 8 = 4 0 2 . F i g u r e s 4 a n d 5 s h o w a P a r a g r a p h v i s u a l i z a t i o n
1 3 o f S U M M A a n d D I M M A o n t h e I n t e l P a r a g o n c o m p u t e r , r e s p e c t i v e l y . P a r a g r a p h i s a
p a r a l l e l p r o g r a m m i n g t o o l t h a t g r a p h i c a l l y d i s p l a y s t h e e x e c u t i o n o f a d i s t r i b u t e d - m e m o r y
p r o g r a m . T h e s e g u r e s i n c l u d e s p a c e t i m e d i a g r a m s , w h i c h s h o w t h e c o m m u n i c a t i o n p a t t e r n
b e t w e e n t h e p r o c e s s e s , a n d u t i l i z a t i o n G a n t t c h a r t s , w h i c h s h o w w h e n e a c h p r o c e s s i s b u s y
o r i d l e . T h e d a r k g r a y c o l o r s i g n i e s i d l e t i m e f o r a g i v e n p r o c e s s , a n d t h e l i g h t g r a y c o l o r
s i g n a l s b u s y t i m e . D I M M A i s m o r e e c i e n t i n c o m m u n i c a t i o n t h a n S U M M A a s s h o w n i n
t h e s e g u r e s . T h e d e t a i l s o f a n a l y s i s o f t h e a l g o r i t h m s i s s h o w n i n S e c t i o n 4 .
W i t h t h i s m o d i e d c o m m u n i c a t i o n s c h e m e , D I M M A i s i m p l e m e n t e d a s f o l l o w s . A f t e r t h e
r s t p r o c e d u r e , t h a t i s , b r o a d c a s t i n g a n d m u l t i p l y i n g A : ; 0 a n d B 0 ; : , t h e r s t c o l u m n
8/3/2019 Matrix Multiplication Paper
http://slidepdf.com/reader/full/matrix-multiplication-paper 7/18
F i g u r e 4 : P a r a g r a p h v i s u a l i z a t i o n o f S U M M A
F i g u r e 5 : P a r a g r a p h v i s u a l i z a t i o n o f D I M M A
8/3/2019 Matrix Multiplication Paper
http://slidepdf.com/reader/full/matrix-multiplication-paper 8/18
o f p r o c e s s o r s , P
0
a n d P
3
, b r o a d c a s t s A : ; 6 a l o n g e a c h r o w o f p r o c e s s o r s , a n d t h e r s t r o w
o f p r o c e s s o r s , P
0
, P
1
, a n d P
2
s e n d s B 6 ; : a l o n g e a c h c o l u m n o f p r o c e s s o r s , a s s h o w n i n
F i g u r e 6 . T h e v a l u e 6 a p p e a r s s i n c e t h e L C M o f P = 2 a n d Q = 3 i s 6 .
F o r t h e t h i r d a n d f o u r t h p r o c e d u r e s , t h e r s t c o l u m n o f p r o c e s s o r s , P
0
a n d P
3
, b r o a d c a s t s
r o w w i s e A : ; 3 a n d A : ; 9 , a n d t h e s e c o n d r o w o f p r o c e s s o r s , P
3
, P
4
, a n d P
5
, b r o a d c a s t s
c o l u m n w i s e B 3 ; : a n d B 9 ; : , r e s p e c t i v e l y . A f t e r t h e r s t c o l u m n o f p r o c e s s o r s , P
0
a n d
P
3
, b r o a d c a s t s a l l o f t h e i r c o l u m n s o f b l o c k s o f A a l o n g e a c h r o w o f p r o c e s s o r s , t h e s e c o n d
c o l u m n o f p r o c e s s o r s , P
1
a n d P
4
, b r o a d c a s t s t h e i r c o l u m n s o f A
T h e b a s i c c o m p u t a t i o n o f S U M M A a n d D I M M A i n e a c h p r o c e s s o r i s a s e q u e n c e o f r a n k -
k
b
u p d a t e s o f t h e m a t r i x . T h e v a l u e o f k
b
s h o u l d b e a t l e a s t 2 0 L e t k
o p t
b e t h e o p t i m a l b l o c k
s i z e f o r t h e c o m p u t a t i o n , t h e n k
o p t
= 2 0 t o o p t i m i z e p e r f o r m a n c e o f t h e s e q u e n t i a l B L A S
r o u t i n e , D G E M M , i n t h e I n t e l P a r a g o n , w h i c h c o r r e s p o n d s t o a b o u t 4 4 M o p s o n a s i n g l e n o d e .
T h e v e c t o r s o f b l o c k s t o b e m u l t i p l i e d s h o u l d b e c o n g l o m e r a t e d t o f o r m l a r g e r m a t r i c e s t o
o p t i m i z e p e r f o r m a n c e i f k
b
i s s m a l l .
D I M M A i s m o d i e d w i t h t h e L C M c o n c e p t . T h e b a s i c i d e a o f t h e L C M c o n c e p t i s t o
h a n d l e s i m u l t a n e o u s l y s e v e r a l t h i n c o l u m n s o f b l o c k s o f A , a n d t h e s a m e n u m b e r o f t h i n
r o w s o f b l o c k s o f B s o t h a t e a c h p r o c e s s o r m u l t i p l i e s s e v e r a l t h i n m a t r i c e s o f A a n d B
s i m u l t a n e o u s l y i n o r d e r t o o b t a i n t h e m a x i m u m p e r f o r m a n c e o f t h e m a c h i n e . I n s t e a d o f
b r o a d c a s t i n g a s i n g l e c o l u m n o f A a n d a s i n g l e r o w o f B , a c o l u m n o f p r o c e s s o r s b r o a d c a s t s
s e v e r a l M
X
= d k
o p t
= k
b
e c o l u m n s o f b l o c k s o f A a l o n g e a c h r o w o f p r o c e s s o r s , w h o s e d i s t a n c e
i s L C M b l o c k s i n t h e c o l u m n d i r e c t i o n . A t t h e s a m e t i m e , a r o w o f p r o c e s s o r s b r o a d c a s t s t h e
s a m e n u m b e r o f b l o c k s o f B a l o n g e a c h c o l u m n o f p r o c e s s o r s , w h o s e d i s t a n c e i s L C M b l o c k s i n
t h e r o w d i r e c t i o n a s s h o w n i n F i g u r e 7 . T h e n e a c h p r o c e s s o r e x e c u t e s i t s o w n m u l t i p l i c a t i o n .
T h e m u l t i p l i c a t i o n o p e r a t i o n i s c h a n g e d f r o m ` a s e q u e n c e = K
g
o f r a n k - k
b
u p d a t e s ' t o ` a
s e q u e n c e = d K
g
= M
X
e o f r a n k - k
b
M
X
u p d a t e s ' t o m a x i m i z e t h e p e r f o r m a n c e .
A
0
2
4
6
8
10
1
3
5
7
9
11
0 3 6 9 1 4 7 10 2 5 8 11
B
0
2
4
6
8
10
1
3
5
7
9
11
0 3 6 9 1 4 7 10 2 5 8 11
F i g u r e 6 : S n a p s h o t o f a s i m p l e v e r s i o n o f D I M M A . T h e d a r k e s t b l o c k s a r e b r o a d c a s t r s t .
F o r e x a m p l e , i f P = 2 ; Q = 3 ; k
b
= 1 0 a n d k
o p t
= 2 0 , t h e p r o c e s s o r s d e a l w i t h 2 c o l u m n s
o f b l o c k s o f A a n d 2 r o w s o f b l o c k s o f B a t a t i m e M
X
= d k
b
= k
o p t
e = 2 . T h e r s t c o l u m n
o f p r o c e s s o r s , P
0
a n d P
3
, c o p i e s t w o c o l u m n s o f A : ; 0 ; 6 t h a t i s , A : ; 0 a n d A : ; 6 t o T
A
,
8/3/2019 Matrix Multiplication Paper
http://slidepdf.com/reader/full/matrix-multiplication-paper 9/18
A
0
2
4
6
8
10
1
3
5
7
9
11
0 3 6 9 1 4 7 10 2 5 8 11
B
0
2
4
6
8
10
1
3
5
7
9
11
0 3 6 9 1 4 7 10 2 5 8 11
F i g u r e 7 : A s n a p s h o t o f D I M M A
a n d b r o a d c a s t s t h e m a l o n g e a c h r o w o f p r o c e s s o r s . T h e r s t r o w o f p r o c e s s o r s , P
0
, P
1
a n d
P
2
, c o p i e s t w o r o w s o f B 0 ; 6 ; : t h a t i s , B 0 ; : a n d B 6 ; : t o T
B
a n d b r o a d c a s t s t h e m
a l o n g e a c h c o l u m n o f p r o c e s s o r s . T h e n a l l p r o c e s s o r s m u l t i p l y T
A
w i t h T
B
t o p r o d u c e C
N e x t , t h e s e c o n d c o l u m n o f p r o c e s s o r s , P
1
a n d P
4
, c o p i e s t h e n e x t t w o c o l u m n s o f A : ; 1 ; 7
t o T
A
a n d b r o a d c a s t s t h e m a g a i n r o w w i s e , a n d t h e s e c o n d r o w o f p r o c e s s o r s , P
3
, P
4
a n d P
5
,
c o p i e s t h e n e x t t w o r o w s o f B 1 ; 7 ; : t o T
B
a n d b r o a d c a s t s t h e m c o l u m n w i s e . T h e p r o d u c t
o f T
A
a n d T
B
i s a d d e d t o C i n e a c h p r o c e s s o r .
T h e v a l u e o f M
X
c a n b e d e t e r m i n e d b y t h e b l o c k s i z e , a v a i l a b l e m e m o r y s p a c e , a n d
m a c h i n e c h a r a c t e r i s t i c s s u c h a s p r o c e s s o r p e r f o r m a n c e a n d c o m m u n i c a t i o n s p e e d . I f i t i s
a s s u m e d t h a t k
o p t
= 2 0 , t h e v a l u e o f M
X
s h o u l d b e 4 i f t h e b l o c k s i z e i s 5 , a n d t h e v a l u e o f
M
X
s h o u l d b e 2 i f t h e b l o c k s i z e i s 1 0 .
I f k
b
i s m u c h l a r g e r t h a n t h e o p t i m a l v a l u e f o r e x a m p l e , k
b
= 1 0 0 , i t m a y b e d i c u l t
t o o b t a i n g o o d p e r f o r m a n c e s i n c e i t i s d i c u l t t o o v e r l a p t h e c o m m u n i c a t i o n w i t h t h e c o m -
p u t a t i o n . I n a d d i t i o n , t h e m u l t i p l i c a t i o n r o u t i n e r e q u i r e s a l a r g e a m o u n t o f m e m o r y t o s e n d
a n d r e c e i v e A a n d B . I t i s p o s s i b l e t o d i v i d e k
b
i n t o s m a l l e r p i e c e s . F o r e x a m p l e , i f k
b
= 1 0 0 ,
p r o c e s s o r s d i v i d e a c o l u m n o f b l o c k s o f A i n t o v e t h i n c o l u m n s o f b l o c k s , a n d d i v i d e a r o w
o f b l o c k s o f B i n t o v e t h i n r o w s o f b l o c k s . T h e n t h e y m u l t i p l y e a c h t h i n c o l u m n o f b l o c k s
o f A w i t h t h e c o r r e s p o n d i n g t h i n r o w o f b l o c k s o f B s u c c e s s i v e l y . T h e t w o c a s e s , i n w h i c h k
b
i s s m a l l e r a n d l a r g e r t h a n k
o p t
, a r e c o m b i n e d , a n d t h e p s e u d o c o d e o f t h e D I M M A i s s h o w n
i n F i g u r e 8 .
4 . A n a l y s i s o f M u l t i p l i c a t i o n A l g o r i t h m s
W e a n a l y z e t h e e l a p s e d t i m e o f S U M M A a n d D I M M A b a s e d o n F i g u r e 3 . I t i s a s s u m e d
t h a t k
b
= k
o p t
t h r o u g h o u t t h e c o m p u t a t i o n . T h e n , f o r t h e m u l t i p l i c a t i o n C
M N
C
M N
+
A
M K
B
K N
, t h e r e a r e K
g
= d K = k
b
e c o l u m n s o f b l o c k s o f A a n d K
g
r o w s o f b l o c k s o f B
A t r s t , i t i s a s s u m e d t h a t t h e r e a r e P l i n e a r l y c o n n e c t e d p r o c e s s o r s , i n w h i c h a c o l u m n
8/3/2019 Matrix Multiplication Paper
http://slidepdf.com/reader/full/matrix-multiplication-paper 10/18
C = 0 C : ; : = 0
M
X
= d k
o p t
= k
b
e
D O L 1 = 0 ; Q , 1
D O L 2 = 0 ; L C M = Q , 1
L
X
= L C M M
X
D O L 3 = 0 ; d K
g
= L
X
e , 1
D O L 4 = 0 ; d k
b
= k
o p t
e , 1
L
m
= L 1 + L 2 Q + L 3 L
X
+ L 4 : L C M : L 3 + 1 L
X
, 1
C o p y A : ; L
m
t o T
A
a n d b r o a d c a s t i t a l o n g e a c h r o w o f p r o c e s s o r s
C o p y B L
m
; : t o T
B
a n d b r o a d c a s t i t a l o n g e a c h c o l u m n o f p r o c e s s o r s
C : ; : = C : ; : + T
A
T
B
E N D D O
E N D D O
E N D D O
E N D D O
F i g u r e 8 : T h e p s e u d o c o d e o f D I M M A . T h e D O l o o p o f L 3 i s u s e d i f k
b
i s s m a l l e r t h a n k
o p t
,
w h e r e t h e r o u t i n e h a n d l e s M
X
c o l u m n s o f b l o c k s o f A a n d M
X
r o w s o f b l o c k s o f B , w h o s e
b l o c k d i s t a n c e a r e L C M , s i m u l t a n e o u s l y , L
m
i s u s e d t o s e l e c t t h e m c o r r e c t l y . T h e i n n e r m o s t
D O l o o p o f L 4 i s u s e d i f k
b
i s l a r g e r t h a n k
o p t
, a n d t h e b r a c k e t i n L
4
r e p r e s e n t s t h e L
4
- t h
t h i n v e c t o r .
o f b l o c k s o f A = T
A
i s b r o a d c a s t a l o n g P p r o c e s s o r s a t e a c h s t e p a n d a r o w o f b l o c k s o f
B = T
B
a l w a y s s t a y s i n e a c h p r o c e s s o r . I t i s a l s o a s s u m e d t h a t t h e t i m e f o r s e n d i n g a
c o l u m n T
A
t o t h e n e x t p r o c e s s o r i s t
c
, a n d t h e t i m e f o r m u l t i p l y i n g T
A
w i t h T
B
a n d a d d i n g
t h e p r o d u c t t o C i s t
p
. A c t u a l l y t
c
= + M k
b
a n d t
p
= 2 M
N
P
k
b
, w h e r e i s a
c o m m u n i c a t i o n s t a r t - u p t i m e , i s a d a t a t r a n s f e r t i m e , a n d i s a t i m e f o r m u l t i p l i c a t i o n
o r a d d i t i o n .
F o r S U M M A , t h e t i m e d i e r e n c e b e t w e e n s u c c e s s i v e t w o p i p e l i n e d b r o a d c a s t s o f T
A
i s
2 t
c
+ t
p
. T h e t o t a l e l a p s e d t i m e o f S U M M A w i t h K
g
c o l u m n s o f b l o c k s o n a n 1 - d i m e n s i o n a l
p r o c e s s o r g r i d , t
1 D
s u m m a
, i s
t
1 D
s u m m a
= K
g
2 t
c
+ t
p
, t
c
+ P , 2 t
c
= K
g
2 t
c
+ t
p
+ P , 3 t
c
F o r D I M M A , t h e t i m e d i e r e n c e b e t w e e n t h e t w o p i p e l i n e d b r o a d c a s t s i s t
c
+ t
p
i f t h e
T
A
s a r e b r o a d c a s t f r o m t h e s a m e p r o c e s s o r . H o w e v e r , t h e t i m e d i e r e n c e s i s 2 t
c
+ t
p
i f t h e y
a r e i n d i e r e n t p r o c e s s o r s . T h e t o t a l e l a p s e d t i m e o f D I M M A , t
1 D
d i m m a
, i s
t
1 D
d i m m a
= K
g
t
c
+ t
p
+ P , 1 t
c
+ P , 2 t
c
= K
g
t
c
+ t
p
+ 2 P , 3 t
c
8/3/2019 Matrix Multiplication Paper
http://slidepdf.com/reader/full/matrix-multiplication-paper 11/18
O n a 2 - d i m e n s i o n a l P Q p r o c e s s o r g r i d , t h e c o m m u n i c a t i o n t i m e o f S U M M A i s d o u b l e d
i n o r d e r t o b r o a d c a s t T
B
a s w e l l a s T
A
. A s s u m e a g a i n t h a t t h e t i m e f o r s e n d i n g a c o l u m n T
A
a n d a r o w T
B
t o t h e n e x t p r o c e s s o r a r e t
c a
a n d t
c b
, r e s p e c t i v e l y , a n d t h e t i m e f o r m u l t i p l y i n g
T
A
w i t h T
B
a n d a d d i n g t h e p r o d u c t t o C i s t
p
. A c t u a l l y t
c a
= +
M
P
k
b
, t
c b
= +
N
Q
k
b
,
a n d t
p
= 2
M
P
N
Q
k
b
. S o ,
t
2 D
s u m m a
= K
g
2 t
c a
+ 2 t
c b
+ t
p
+ Q , 3 t
c a
+ P , 3 t
c b
1
F o r D I M M A , e a c h c o l u m n o f p r o c e s s o r s b r o a d c a s t s T
A
u n t i l e v e r y t h i n g i s s e n t . M e a n -
w h i l e , r o w s o f p r o c e s s o r s b r o a d c a s t T
B
i f t h e y h a v e t h e c o r r e s p o n d i n g T
B
w i t h t h e T
A
. F o r
a c o l u m n o f p r o c e s s o r s , w h i c h c u r r e n t l y b r o a d c a s t s A , P = G C D r o w s o f p r o c e s s o r s , w h o s e
d i s t a n c e i s G C D , h a v e r o w s o f b l o c k s o f B t o b r o a d c a s t a l o n g w i t h t h e T
A
, w h e r e G C D i s
t h e g r e a t e s t c o m m o n d i v i s o r o f P a n d Q . T h e e x t r a i d l e w a i t , c a u s e d b y b r o a d c a s t i n g t w o
T
B
s w h e n t h e y a r e i n d i e r e n t p r o c e s s o r s , i s G C D t
c b
. T h e n t h e t o t a l e x t r a w a i t i n g t i m e t o
b r o a d c a s t T
B
s i s Q P = G C D G C D t
c b
= P Q t
c b
H o w e v e r , i f G C D = P , o n l y o n e r o w o f p r o c e s s o r s h a s T
B
t o b r o a d c a s t c o r r e s p o n d i n g t o
t h e c o l u m n o f p r o c e s s o r s , a n d t h e t o t a l e x t r a w a i t i n g t i m e i s P t
c b
. S o ,
t
2 D
d i m m a
= K
g
t
c a
+ t
c b
+ t
p
+ 2 Q , 3 t
c a
+ P + Q , 3 t
c b
i f G C D = P
= K
g
t
c a
+ t
c b
+ t
p
+ 2 Q , 3 t
c a
+ P Q + P , 3 t
c b
o t h e r w i s e 2
T h e t i m e d i e r e n c e b e t w e e n S U M M A a n d D I M M A i s
t
2 D
s u m m a
, t
2 D
d i m m a
= K
g
, Q t
c a
+ K
g
, P t
c b
i f G C D = P ;
= K
g
, Q t
c a
+ K
g
, P Q t
c b
o t h e r w i s e 3
5 . I m p l e m e n t a t i o n a n d R e s u l t s
W e i m p l e m e n t e d t h r e e a l g o r i t h m s , c a l l e d t h e m S U M M A 0 , S U M M A a n d D I M M A , a n d c o m -
p a r e d t h e i r p e r f o r m a n c e o n t h e 5 1 2 n o d e I n t e l P a r a g o n a t t h e 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 , O a k R i d g e , U . S . A . , a n d t h e 2 5 6 n o d e I n t e l P a r a g o n a t S a m s u n g A d v a n c e d I n s t i t u t e
o f T e c h n o l o g y , S u w o n , K o r e a . S U M M A 0 i s t h e o r i g i n a l v e r s i o n o f S U M M A , w h i c h h a s t h e
p i p e l i n e d b r o a d c a s t i n g s c h e m e a n d t h e x e d b l o c k s i z e , k
b
. T h e l o c a l m a t r i x m u l t i p l i c a t i o n
i n S U M M A 0 i s t h e r a n k - k
b
u p d a t e . S U M M A i s a r e v i s e d v e r s i o n o f S U M M A 0 w i t h t h e L C M
b l o c k c o n c e p t f o r t h e o p t i m i z e d p e r f o r m a n c e o f D G E M M , s o t h a t t h e l o c a l m a t r i x m u l t i p l i c a t i o n
i s a r a n k - k
a p p r o x
u p d a t e , w h e r e k
a p p r o x
i s c o m p u t e d i n t h e i m p l e m e n t a t i o n a s f o l l o w s :
k
a p p r o x
= b k
o p t
= k
b
c k
b
i f k
o p t
k
b
;
= b k
b
= d k
b
= k
o p t
e c o t h e r w i s e
F i r s t o f a l l , w e c h a n g e d t h e b l o c k s i z e , k
b
, a n d o b s e r v e d h o w t h e b l o c k s i z e a e c t s t h e
8/3/2019 Matrix Multiplication Paper
http://slidepdf.com/reader/full/matrix-multiplication-paper 12/18
P Q M a t r i x S i z e B l o c k S i z e S U M M A 0 S U M M A D I M M A
1 1 1 1 3 5 2 6 7 8 2 7 3 5
5 5 2 4 8 8 2 7 3 0 2 7 3 5
8 8 2 0 0 0 2 0 0 0 2 0 2 0 2 5 0 5 2 5 0 4 2 5 5 3
5 0 5 0 2 6 3 3 2 6 9 8 2 7 3 3
1 0 0 1 0 0 1 4 4 4 1 9 4 5 1 9 4 8
1 1 1 2 9 6 2 8 0 1 2 8 4 2
5 5 2 6 1 4 2 8 0 1 2 8 4 2
8 8 4 0 0 0 4 0 0 0 2 0 2 0 2 8 0 1 2 8 0 1 2 8 4 2
5 0 5 0 2 6 7 4 2 8 2 2 2 8 4 4
1 0 0 1 0 0 2 5 5 6 2 8 3 3 2 8 4 2
1 1 1 8 4 2 3 6 6 0 3 7 3 1
5 5 3 2 8 0 3 8 3 6 3 9 1 7
1 2 8 4 0 0 0 4 0 0 0 2 0 2 0 3 9 2 8 3 9 3 1 4 0 0 6
5 0 5 0 3 5 3 6 3 8 8 7 3 8 9 7
1 0 0 1 0 0 2 8 3 3 3 4 3 0 3 4 3 5
T a b l e 1 : D e p e n d e n c e o f p e r f o r m a n c e o n b l o c k s i z e U n i t : G o p s
p e r f o r m a n c e o f t h e a l g o r i t h m s . T a b l e 1 s h o w s t h e p e r f o r m a n c e o f A = B = C = 2 0 0 0 2 0 0 0
a n d 4 0 0 0 4 0 0 0 o n 8 8 a n d 1 6 8 p r o c e s s o r g r i d s w i t h b l o c k s i z e s k
b
= 1 ; 5 ; 2 0 ; 5 0 , a n d 1 0 0 .
A t r s t S U M M A 0 a n d S U M M A a r e c o m p a r e d . W i t h t h e e x t r e m e c a s e o f k
b
= 1 , S U M M A
w i t h t h e m o d i e d b l o c k i n g s c h e m e p e r f o r m e d a t l e a s t 1 0 0 b e t t e r t h a n S U M M A 0 . W h e n
k
b
= 5 , S U M M A s h o w s 7 - 1 0 e n h a n c e d p e r f o r m a n c e . I f t h e b l o c k s i z e i s m u c h l a r g e r
t h a n t h e o p t i m a l b l o c k s i z e , t h a t i s , k
b
= 5 0 , o r 1 0 0 , S U M M A 0 b e c o m e s i n e c i e n t a g a i n
a n d i t h a s a d i c u l t y i n o v e r l a p p i n g t h e c o m m u n i c a t i o n s w i t h t h e c o m p u t a t i o n s . S U M M A
o u t p e r f o r m e d S U M M A 0 a b o u t 5 1 0 w h e n A = B = C = 4 0 0 0 4 0 0 0 a n d k
b
= 5 0 o r
1 0 0 o n 8 8 a n d 1 2 8 p r o c e s s o r g r i d s .
N o t e t h a t o n a n 8 8 p r o c e s s o r g r i d w i t h 2 0 0 0 2 0 0 0 m a t r i c e s , t h e p e r f o r m a n c e o f
k
b
= 2 0 o r 1 0 0 i s m u c h s l o w e r t h a n t h a t o f o t h e r c a s e s . W h e n k
b
= 1 0 0 , t h e p r o c e s s o r s i n
t h e t o p h a l f h a v e 3 0 0 r o w s o f m a t r i c e s , w h i l e t h o s e i n t h e b o t t o m h a l f h a v e j u s t 2 0 0 r o w s .
T h i s l e a d s t o l o a d i m b a l a n c e a m o n g p r o c e s s o r s , a n d t h e p r o c e s s o r s i n t h e t o p h a l f r e q u i r e
5 0 m o r e l o c a l c o m p u t a t i o n .
N o w S U M M A a n d D I M M A a r e c o m p a r e d . F i g u r e s 9 a n d 1 0 s h o w t h e p e r f o r m a n c e o f
S U M M A a n d D I M M A o n 1 6 1 6 a n d 1 6 1 2 p r o c e s s o r g r i d s , r e s p e c t i v e l y , w i t h t h e x e d
b l o c k s i z e , k
b
= k
o p t
= 2 0 . D I M M A a l w a y s p e r f o r m s b e t t e r t h a n S U M M A o n t h e 1 6 1 6
p r o c e s s o r g r i d . T h e s e m a t r i x m u l t i p l i c a t i o n a l g o r i t h m s r e q u i r e O N
3
o p s a n d O N
2
c o m m u n i c a t i o n s , t h a t i s , t h e a l g o r i t h m s a r e c o m p u t a t i o n i n t e n s i v e . F o r a s m a l l m a t r i x o f
N = 1 0 0 0 , t h e p e r f o r m a n c e d i e r e n c e b e t w e e n t h e t w o a l g o r i t h m s i s a b o u t 1 0 . B u t f o r
a l a r g e m a t r i x , t h e s e a l g o r i t h m s r e q u i r e m u c h m o r e c o m p u t a t i o n , s o t h a t t h e p e r f o r m a n c e
d i e r e n c e c a u s e d b y t h e d i e r e n t c o m m u n i c a t i o n s c h e m e s b e c o m e s n e g l i g i b l e . F o r N = 8 0 0 0 ,
t h e p e r f o r m a n c e d i e r e n c e i s o n l y a b o u t 2 3 . O n t h e 1 6 1 2 p r o c e s s o r g r i d , S U M M A
8/3/2019 Matrix Multiplication Paper
http://slidepdf.com/reader/full/matrix-multiplication-paper 13/18
0 1000 2000 3000 4000 5000 6000 7000 8000
0
2
4
6
8
10
12
DIMMA
SUMMA
Matrix Size, M
G f l o p s
F i g u r e 9 : P e r f o r m a n c e o f S U M M A a n d D I M M A o n a 1 6 1 6 p r o c e s s o r g r i d . k
o p t
= k
b
= 2 0 .
0 1000 2000 3000 4000 5000 6000 7000 80000
2
4
6
8
10
DIMMA
SUMMA
Matrix Size, M
G f l o p s
F i g u r e 1 0 : P e r f o r m a n c e o f S U M M A a n d D I M M A o n a 1 6 1 2 p r o c e s s o r g r i d .
8/3/2019 Matrix Multiplication Paper
http://slidepdf.com/reader/full/matrix-multiplication-paper 14/18
0 1000 2000 3000 4000 5000 6000 7000 8000
0
2
4
6
8
10
12
DIMMA
SUMMA
Matrix Size, M
G f l o p s
F i g u r e 1 1 : P r e d i c t e d P e r f o r m a n c e o f S U M M A a n d D I M M A o n a 1 6 1 6 p r o c e s s o r g r i d .
0 1000 2000 3000 4000 5000 6000 7000 80000
2
4
6
8
10
DIMMA
SUMMA
Matrix Size, M
G f l o p s
F i g u r e 1 2 : P r e d i c t e d P e r f o r m a n c e o f S U M M A a n d D I M M A o n a 1 6 1 2 p r o c e s s o r g r i d .
8/3/2019 Matrix Multiplication Paper
http://slidepdf.com/reader/full/matrix-multiplication-paper 15/18
p e r f o r m s s l i g h t l y b e t t e r t h a n D I M M A f o r s m a l l s i z e o f m a t r i c e s , s u c h a s N = 1 0 0 0 a n d 2 0 0 0 .
I f P = 1 6 a n d Q = 1 2 , G C D = 4 6= P . F o r t h e p r o b l e m o f M = N = K = 2 0 0 0 a n d
k
o p t
= k
b
= 2 0 , K
g
= K = k
b
= 1 0 0 . F r o m E q . 3 ,
t
2 D
s u m m a
, t
2 D
d i m m a
= 1 0 0 , 1 2 t
c a
+ 1 0 0 , 1 6 1 2 t
c b
= 8 8 t
c a
, 9 2 t
c b
F r o m t h e r e s u l t , i t i s e x p e c t e d t h a t t h e S U M M A i s f a s t e r t h a n D I M M A f o r t h e p r o b l e m i f
t
c a
= t
c b
W e p r e d i c t e d t h e p e r f o r m a n c e o n t h e I n t e l P a r a g o n u s i n g E q s 1 a n d 2 . F i g u r e s 1 1 a n d
1 2 s h o w t h e p r e d i c t e d p e r f o r m a n c e o f S U M M A a n d D I M M A c o r r e s p o n d i n g t o F i g u r e s 9 a n d
1 0 , r e s p e c t i v e l y . W e u s e d = 9 4 7 5 s e c , = 0 0 2 2 1 8 4 5 M b y t e s s e c , = 2 2 8 8 n s e c 4 3 . 7
M o p s p e r n o d e f o r t h e p r e d i c t e d p e r f o r m a n c e . T h o s e v a l u e s a r e o b s e r v e d i n p r a c t i c e .
I n E q . 2 , t h e i d l e w a i t , 2 Q , 3 t
c a
+ P Q + P , 3 t
c b
w h e n G C D 6= P , c a n b e r e d u c e d
b y a s l i g h t m o d i c a t i o n o f t h e c o m m u n i c a t i o n s c h e m e . F o r e x a m p l e , w h e n P = 4 ; Q = 8
t h a t i s , G C D = Q i f a c o l u m n o f p r o c e s s o r s s e n d s a l l c o l u m n s o f b l o c k s o f B i n s t e a d o f a
r o w o f p r o c e s s o r s s e n d a l l r o w s o f b l o c k s o f A a s i n F i g u r e 8 , t h e w a i t i n g t i m e i s r e d u c e d t o
P + Q , 3 t
c a
+ 2 P , 3 t
c b
T h e f o l l o w i n g e x a m p l e h a s a n o t h e r c o m m u n i c a t i o n c h a r a c t e r i s t i c . A f t e r t h e r s t c o l u m n
a n d t h e r s t r o w o f p r o c e s s o r s s e n d t h e i r o w n A a n d t h e c o r r e s p o n d i n g B , r e s p e c t i v e l y , t h e n ,
f o r t h e n e x t s t e p , t h e s e c o n d c o l u m n a n d t h e s e c o n d r o w o f p r o c e s s o r s s e n d t h e i r A a n d B ,
r e s p e c t i v e l y . T h e c o m m u n i c a t i o n r e s e m b l e s t h a t o f S U M M A , b u t t h e p r o c e s s o r s s e n d a l l
c o r r e s p o n d i n g b l o c k s o f A a n d B . T h e w a i t i n g t i m e i s L C M + Q , 3 t
c a
+ L C M + P , 3 t
c b
T h i s m o d i c a t i o n i s f a s t e r i f 2 G C D M I N P ; Q
T h e p e r f o r m a n c e p e r n o d e o f S U M M A a n d D I M M A i s s h o w n i n F i g u r e s 1 3 a n d 1 4 ,
r e s p e c t i v e l y , w h e n m e m o r y u s a g e p e r n o d e i s h e l d c o n s t a n t . B o t h a l g o r i t h m s s h o w g o o d
p e r f o r m a n c e a n d s c a l a b i l i t y , b u t D I M M A i s a l w a y s b e t t e r . I f e a c h p r o c e s s o r h a s a l o c a l
p r o b l e m s i z e o f m o r e t h a n 2 0 0 2 0 0 , t h e D I M M A a l w a y s r e a c h e s 4 0 M o p s p e r p r o c e s s o r ,
b u t t h e S U M M A o b t a i n e d a b o u t 3 8 M o p s p e r p r o c e s s o r .
C u r r e n t l y t h e m o d i e d b l o c k i n g s c h e m e i n D I M M A u s e s t h e r a n k - k
a p p r o x
u p d a t e . H o w -
e v e r i t i s p o s s i b l e t o m o d i f y t h e D I M M A w i t h t h e e x a c t r a n k - k
o p t
u p d a t e b y d i v i d i n g t h e
v i r t u a l l y c o n n e c t e d L C M b l o c k s i n e a c h p r o c e s s o r . T h e m o d i c a t i o n c o m p l i c a t e s t h e a l g o -
r i t h m i m p l e m e n t a t i o n , a n d s i n c e t h e p e r f o r m a n c e o f D G E M M i s n o t s e n s i t i v e t o t h e v a l u e o f
k
o p t
i f i t i s l a r g e r t h a n 2 0 , t h e r e w o u l d b e n o i m p r o v e m e n t i n p e r f o r m a n c e .
6 . C o n c l u s i o n s
W e p r e s e n t a n e w p a r a l l e l m a t r i x m u l t i p l i c a t i o n a l g o r i t h m , c a l l e d D I M M A , f o r b l o c k c y c l i c
d a t a d i s t r i b u t i o n o n d i s t r i b u t e d - m e m o r y c o n c u r r e n t c o m p u t e r s . D I M M A i s t h e m o s t e -
c i e n t a n d s c a l a b l e m a t r i x m u l t i p l i c a t i o n a l g o r i t h m . D I M M A u s e s t h e m o d i e d p i p e l i n e d
b r o a d c a s t i n g s c h e m e t o o v e r l a p c o m p u t a t i o n a n d c o m m u n i c a t i o n e e c t i v e l y , a n d e x p l o i t s
t h e L C M b l o c k c o n c e p t t o o b t a i n t h e m a x i m u m p e r f o r m a n c e o f t h e s e q u e n t i a l B L A S r o u t i n e
r e g a r d l e s s o f t h e b l o c k s i z e . D I M M A a l w a y s s h o w s t h e s a m e h i g h p e r f o r m a n c e e v e n w h e n
8/3/2019 Matrix Multiplication Paper
http://slidepdf.com/reader/full/matrix-multiplication-paper 16/18
0 4 8 12 16
0
10
20
30
40
50
Sqrt of number of nodes
M f l o p s
F i g u r e 1 3 : P e r f o r m a n c e p e r n o d e o f S U M M A w h e r e m e m o r y u s e p e r n o d e i s h e l d c o n s t a n t .
T h e v e c u r v e s r e p r e s e n t 1 0 0 1 0 0 , 2 0 0 2 0 0 , 3 0 0 3 0 0 , 4 0 0 4 0 0 , a n d 5 0 0 5 0 0 l o c a l
m a t r i c e s p e r n o d e f r o m t h e b o t t o m .
0 4 8 12 16
0
10
20
30
40
50
Sqrt of number of nodes
M f
l o p s
F i g u r e 1 4 : P e r f o r m a n c e p e r n o d e o f D I M M A .
8/3/2019 Matrix Multiplication Paper
http://slidepdf.com/reader/full/matrix-multiplication-paper 17/18
t h e b l o c k s i z e k
b
i s v e r y s m a l l a s w e l l a s v e r y l a r g e i f t h e m a t r i c e s a r e e v e n l y d i s t r i b u t e d
a m o n g p r o c e s s o r s .
A c k n o w l e d g e m e n t
T h e a u t h o r a p p r e c i a t e s t h e a n o n y m o u s r e v i e w e r s f o r t h e i r h e l p f u l c o m m e n t s t o i m p r o v e t h e
q u a l i t y o f t h e p a p e r T h e a u t h o r a p p r e c i a t e s D r . J a c k D o n g a r r a a t U n i v . o f T e n n e s s e e a t
K n o x v i l l e a n d O a k R i d e N a t i o n a l L a b o r a t o r y f o r p r o v i d i n g c o m p u t i n g f a c i l i t i e s t o p e r f o r m
t h i s w o r k . A n d h e a p p r e c i a t e s t h e a n o n y m o u s r e v i e w e r s f o r t h e i r h e l p f u l c o m m e n t s t o
i m p r o v e t h e q u a l i t y o f t h e p a p e r . T h i s r e s e a r c h w a s p e r f o r m e d i n p a r t u s i n g t h e I n t e l
P a r a g o n c o m p u t e r s b o t h a t t h e 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 , O a k R i d g e , U . S . A . a n d a t
S a m s u n g A d v a n c e d I n s t i t u t e o f T e c h n o l o g y , S u w o n , K o r e a . A n d i t w a s s u p p o r t e d b y t h e
K o r e a n M i n i s t r y o f I n f o r m a t i o n a n d C o m m u n i c a t i o n u n d e r c o n t r a c t 9 6 0 8 7 - I T 1 - I 2 .
7 . R e f e r e n c e s
1 R . C . A g a r w a l , F . G . G u s t a v s o n , a n d M . Z u b a i r . A H i g h - P e r f o r m a n c e M a t r i x -
M u l t i p l i c a t i o n A l g o r i t h m o n a D i s t r i b u t e d - M e m o r y P a r a l l e l C o m p u t e r U s i n g O v e r -
l a p p e d C o m m u n i c a t i o n . I B M J o u r n a l o f R e s e a r c h a n d D e v e l o p m e n t , 3 8 6 : 6 7 3 6 8 1 ,
1 9 9 4 .
2 E . A n d e r s o n , Z . B a i , C . B i s c h o f , J . D e m m e l , J . D o n g a r r a , J . D u C r o z , A . G r e e n b a u m ,
S . H a m m a r l i n g , A . M c K e n n e y , a n d D . S o r e n s e n . L A P A C K : A P o r t a b l e L i n e a r A l g e b r a
L i b r a r y f o r H i g h - P e r f o r m a n c e C o m p u t e r s . I n P r o c e e d i n g s o f S u p e r c o m p u t i n g ' 9 0 , p a g e s
1 1 0 . I E E E P r e s s , 1 9 9 0 .
3 L . B l a c k f o r d , J . C h o i , A . C l e a r y , J . D e m m e l , I . D h i l l o n , J . D o n g a r r a , S . H a m -
m a r l i n g , G . H e n r y , A . P e t i t e t , K . S t a n l e y , D . W a l k e r , a n d R . W h a l e y . S c a L A -
P A C K : A P o r t a b l e L i n e a r A l g e b r a L i b r a r y f o r D i s t r i b u t e d M e m o r y C o m p u t e r s
- D e s i g n I s s u e s a n d P e r f o r m a n c e . I n P r o c e e d i n g s o f S u p e r c o m p u t i n g ' 9 6 , 1 9 9 6 .
h t t p : w w w . s u p e r c o m p . o r g s c 9 6 p r o c e e d i n g s .
4 L . E . C a n n o n . A C e l l u l a r C o m p u t e r t o I m p l e m e n t t h e K a l m a n F i l t e r A l g o r i t h m . 1 9 6 9 .
P h . D . T h e s i s , M o n t a n a S t a t e U n i v e r s i t y .
5 J . C h o i , J . J . D o n g a r r a , S . O s t r o u c h o v , A . P . P e t i t e t , D . W . W a l k e r , a n d R . C . W h a l e y .
A P r o p o s a l f o r a S e t o f P a r a l l e l B a s i c L i n e a r A l g e b r a S u b p r o g r a m s . L A P A C K W o r k i n g
N o t e 1 0 0 , T e c h n i c a l R e p o r t C S - 9 5 - 2 9 2 , U n i v e r s i t y o f T e n n e s s e e , 1 9 9 5 .
6 J . C h o i , J . J . D o n g a r r a , R . P o z o , D . C . S o r e n s e n , a n d D . W . W a l k e r . C R P C R e s e a r c h
i n t o L i n e a r A l g e b r a S o f t w a r e f o r H i g h P e r f o r m a n c e C o m p u t e r s . I n t e r n a t i o n a l J o u r n a l
o f S u p e r c o m p u t i n g A p p l i c a t i o n s , 8 2 : 9 9 1 1 8 , S u m m e r 1 9 9 4 .
8/3/2019 Matrix Multiplication Paper
http://slidepdf.com/reader/full/matrix-multiplication-paper 18/18
7 J . C h o i , J . J . D o n g a r r a , a n d D . W . W a l k e r . P U M M A : P a r a l l e l U n i v e r s a l M a t r i x M u l -
t i p l i c a t i o n A l g o r i t h m s o n D i s t r i b u t e d M e m o r y C o n c u r r e n t C o m p u t e r s . C o n c u r r e n c y :
P r a c t i c e a n d E x p e r i e n c e , 6 : 5 4 3 5 7 0 , 1 9 9 4 .
8 J . C h o i , J . J . D o n g a r r a , a n d D . W . W a l k e r . P B - B L A S : A S e t o f P a r a l l e l B l o c k B a s i c
L i n e a r A l g e b r a S u b p r o g r a m s . C o n c u r r e n c y : P r a c t i c e a n d E x p e r i e n c e , 8 : 5 1 7 5 3 5 , 1 9 9 6 .
9 J . J . D o n g a r r a , J . D u C r o z , S . H a m m a r l i n g , a n d I . D u . A S e t o f L e v e l 3 B a s i c L i n e a r
A l g e b r a S u b p r o g r a m s . A C M T r a n s a c t i o n s o n M a t h e m a t i c a l S o f t w a r e , 1 8 1 : 1 1 7 , 1 9 9 0 .
1 0 R . D . F a l g o u t , A . S k j e l l u m , S . G . S m i t h , a n d C . H . S t i l l . T h e M u l t i c o m p u t e r T o o l b o x
A p p r o a c h t o C o n c u r r e n t B L A S a n d L A C S . I n P r o c e e d i n g s o f t h e 1 9 9 2 S c a l a b l e H i g h
P e r f o r m a n c e C o m p u t i n g C o n f e r e n c e , p a g e s 1 2 1 1 2 8 . I E E E P r e s s , 1 9 9 2 .
1 1 G . C . F o x , S . W . O t t o , a n d A . J . G . H e y . M a t r i x A l g o r i t h m s o n a H y p e r c u b e I : M a t r i x
M u l t i p l i c a t i o n . P a r a l l e l C o m p u t i n g , 4 : 1 7 3 1 , 1 9 8 7 .
1 2 G . H . G o l u b a n d C . V . V a n L o a n . M a t r i x C o m p u t a t i o n s . T h e J o h n s H o p k i n s U n i v e r s i t y
P r e s s , B a l t i m o r e , M D , 1 9 8 9 . S e c o n d E d i t i o n .
1 3 M . T . H e a t h a n d J . A . E t h e r i d g e . V i s u a l i z i n g t h e P e r f o r m a n c e o f P a r a l l e l P r o g r a m s .
I E E E S o f t w a r e , 8 5 : 2 9 3 9 , S e p t e m b e r 1 9 9 1 .
1 4 S . H u s s - L e d e r m a n , E . M . J a c o b s o n , a n d A . T s a o . C o m p a r i s o n o f S c a l a b l e P a r a l l e l
M u l t i p l i c a t i o n L i b r a r i e s . I n T h e S c a l a b l e P a r a l l e l L i b r a r i e s C o n f e r e n c e , S t a r k s v i l l e ,
M S , p a g e s 1 4 2 1 4 9 . I E E E C o m p u t e r S o c i e t y P r e s s , O c t o b e r 6 - 8 , 1 9 9 3 .
1 5 S . H u s s - L e d e r m a n , E . M . J a c o b s o n , A . T s a o , a n d G . Z h a n g . M a t r i x M u l t i p l i c a t i o n o n
t h e I n t e l T o u c h s t o n e D e l t a . C o n c u r r e n c y : P r a c t i c e a n d E x p e r i e n c e , 6 : 5 7 1 5 9 4 , 1 9 9 4 .
1 6 V . K u m a r , A . G r a m a , A . G u p t a , a n d G . K a r y p i s . I n t r o d u c t i o n t o P a r a l l e l C o m p u t i n g
T h e B e n j a m i n C u m m i n g s P u b l i s h i n g C o m p a n y , I n c . , R e d w o o d C i t y , C A , 1 9 9 4 .
1 7 A . P e t i t e t . A l g o r i t h m i c R e d i s t r i b u t i o n M e t h o d s f o r B l o c k C y c l i c D e c o m p o s i t i o n s . 1 9 9 6 .
P h . D . T h e s i s , U n i v e r s i t y o f T e n n e s s e e , K n o x v i l l e .
1 8 R . v a n d e G e i j n a n d J . W a t t s . S U M M A S c a l a b l e U n i v e r s a l M a t r i x M u l t i p l i c a t i o n A l -
g o r i t h m . L A P A C K W o r k i n g N o t e 9 9 , T e c h n i c a l R e p o r t C S - 9 5 - 2 8 6 , U n i v e r s i t y o f T e n -
n e s s e e , 1 9 9 5 .
1 9 R . A . v a n d e G e i j n . U s i n g P L A P A C K . T h e M I T P r e s s , C a m b r i d g e , 1 9 9 7 .