c a n f p g a s c o m p e t e w i t h g p u s
play

C a n F P G A s c o m p e t e w i t h G P U s - PowerPoint PPT Presentation

G P U T e c h n o l o g y C o n f e r e n c e ( G T C 1 9 ) M a r c h 1 8 - 2 1 , 2 0 1 9 C a n F P G A s c o m p e t e w i t h G P U s ? J o h n R o m e i n , B r


  1. G P U T e c h n o l o g y C o n f e r e n c e ( G T C ’ 1 9 ) M a r c h 1 8 - 2 1 , 2 0 1 9 C a n F P G A s c o m p e t e w i t h G P U s ? J o h n R o m e i n , B r a m V e e n b o e r

  2. O u t l i n e ● e x p l a i n F P G A – h a r d w a r e ● F P G A v s . G P U – p r o g r a m m i n g m o d e l s ( O p e n C L ) – c a s e s t u d i e s ● m a t r i x m u l t i p l i c a t i o n a n a l y z e p e r f o r m a n c e & e n e r g y e fg i c i e n c y ● r a d i o - a s t r o n o m i c a l i m a g i n g – l e s s o n s l e a r n e d ● a n s w e r t h e q u e s t i o n i n t h e t i t l e 2

  3. W h a t i s a F i e l d - P r o g r a m m a b l e G a t e A r r a y ( F P G A ) ? ● c o n f i g u r a b l e p r o c e s s o r ● c o l l e c t i o n o f – m u l t i p l i e r s / a d d e r s – r e g i s t e r s – m e m o r i e s – l o g i c – t r a n s c e i v e r s – c l o c k s – i n t e r c o n n e c t 3

  4. W h a t i s a n F P G A p r o g r a m ? ● c o n n e c t e l e m e n t s – p e r f o r m s f i x e d f u n c t i o n ● d a t a - f l o w e n g i n e ● H a r d w a r e D e s c r i p t i o n L a n g u a g e ( H D L ) – V e r i l o g , V H D L – d i fg i c u l t 4

  5. F P G A v s G P U • F • G P G A a d v a n t a g e s P U a d v a n t a g e s – h – e i g h e n e r g y e fg i c i e n c y a s i e r t o p r o g r a m • n – m o i n s t r u c t i o n d e c o d i n g e t c . o r e f l e x i b l e • u s e / m o v e a s f e w b i t s a s p o s s i b l e – s h o r t c o m p i l a t i o n t i m e s – c o n f i g u r a b l e I / O • h i g h b a n d w i d t h • e . g . , m a n y t i m e s 1 0 0 G b E 5

  6. N e w I n t e l ( A l t e r a ) F P G A t e c h n o l o g i e s 1 )h i g h - l e v e l p r o g r a m m i n g l a n g u a g e ( O p e n C L ) 2 )h a r d F l o a t i n g - P o i n t U n i t s 3 )t i g h t i n t e g r a t i o n w i t h C P U c o r e s ➔ s i m p l e t a s k s : l e s s p r o g r a m m i n g e fg o r t t h a n H D L ➔ a l l o w s c o m p l e x H P C a p p l i c a t i o n s 6

  7. F P G A ≠ G P U • h a r d w a r e – G P U : u s e h a r d w a r e – F P G A : c r e a t e h a r d w a r e • e x e c u t i o n m o d e l – G P U : i n s t r u c t i o n s – F P G A : d a t a f l o w 7

  8. C o m m o n l a n g u a g e : O p e n C L • O p e n C L – s i m i l a r t o C U D A – C + e x p l i c i t p a r a l l e l i s m + s y n c h r o n i z a t i o n + s o fu w a r e - m a n a g e d c a c h e – o fg l o a d t o G P U / F P G A • G P U p r o g r a m s n o t s u i t a b l e f o r F P G A s – F P G A : d a t a - f l o w e n g i n e 8

  9. F P G A : d a t a - f l o w p i p e l i n e e x a m p l e C A B A B C r r r i i i • c r e a t e h a r d w a r e f o r c o m p l e x m u l t i p l y - a d d C.real += A.real * B.real; C.real += -A.imag * B.imag; F P U F P U C.imag += A.real * B.imag; C.imag += A.imag * B.real; • n e e d s f o u r F P U s • n e w i n p u t e n t e r s e v e r y c y c l e F P U F P U C C r i 9

  10. L o c a l m e m o r y • G P U : u s e m e m o r y , F P G A : c r e a t e m e m o r y f l o a t t m p [ 1 2 8 ] _ _ a t t r i b u t e _ _ ( ( …) ) ; • p r o p e r t i e s : – r e g i s t e r s o r m e m o r y b l o c k s – # b a n k s – b a n k w i d t h – b a n k a d d r e s s s e l e c t i o n b i t s a t t r i b u t e s – # r e a d p o r t s – # w r i t e p o r t s – s i n g l e / d o u b l e p u m p e d – w i t h / w i t h o u t a r b i t e r – r e p l i c a t i o n f a c t o r • w e l l d e s i g n e d p r o g r a m : f e w r e s o u r c e s , s t a l l - f r e e 1 0

  11. R u n n i n g m u l t i p l e k e r n e l s G P U : k e r n e l _ 1 d e v i c e me mo r y k e r n e l _ 2 F P G A : k e r n e l _ 1 c h a n n e l k e r n e l _ 2 • G P U : c o n s e c u t i v e l y • F P G A : c o n c u r r e n t l y – c h a n n e l s ( O p e n C L e x t e n s i o n ) c h a n n e l f l o a t 2 m y _ c h a n n e l _ _ a t t r i b u t e _ _ ( ( d e p t h ( 2 5 6 ) ) ) ; – r e q u i r e s l e s s m e m o r y b a n d w i d t h – a l l k e r n e l s r e s i d e n t → m u s t f i t 1 1

  12. P a r a l l e l c o n s t r u c t s i n O p e n C L C A B A B C r r r i i i • w o r k g r o u p s , w o r k i t e m s ( C U D A : t h r e a d b l o c k s , t h r e a d s ) – G P U : p a r a l l e l F P U F P U – F P G A : d e f a u l t : o n e w o r k i t e m / c y c l e ; n o t u s e f u l • F P G A : – c o m p i l e r a u t o - p a r a l l e l i z e s w h o l e k e r n e l F P U F P U – # p r a g m a u n r o l l • c r e a t e h a r d w a r e f o r c o n c u r r e n t l o o p i t e r a t i o n s C C r i – r e p l i c a t e k e r n e l s # p r a g ma u n r o l l f o r ( i n t i = 0 ; i < 3 ; i + + ) a [ i ] = i ; 0 1 2 1 2

  13. M o r e G P U / F P G A d i fg e r e n c e s • c o d e o u t s i d e c r i t i c a l l o o p : – G init_once(); P U : n o t a n i s s u e for (int i = 0; i < 100000; i ++) – F P G A : c a n u s e m a n y r e s o u r c e s do_many_times(); • S h i fu r e g i s t e r s for (int i = 256; i > 0; i --) a[i] = a[i – 1]; – F P G A : s i n g l e c y c l e – G P U : e x p e n s i v e 1 3

  14. R e s o u r c e o p t i m i z a t i o n s • c o m p i l e r f e e d b a c k – a fu e r m i n u t e s , n o t h o u r s – H T M L - b a s e d r e p o r t s • i n d i s p e n s i b l e t o o l 1 4

  15. F r e q u e n c y o p t i m i z a t i o n ● C o m p i l e r ( p l a c e & r o u t e ) d e t e r m i n e s F m a x – U n l i k e G P U s ● F u l l F P G A : l o n g e s t p a t h l i m i t s F m a x ● H D L : f i n e - g r a i n e d c o n t r o l ● O p e n C L : o n e c l o c k f o r f u l l d e s i g n ● F P G A : 4 5 0 M H z ; B S P : 4 0 0 M h z ; 1 D S P : 3 5 0 M h z ● L i t t l e c o m p i l e r f e e d b a c k ● R e c o m p i l e w i t h r a n d o m s e e d s ● C o m p i l e k e r n e l s i n i s o l a t i o n t o f i n d f r e q u e n c y l i m i t e r s – T e d i o u s , b u t u s e f u l 1 5

  16. A p p l i c a t i o n s ● d e n s e m a t r i x m u l t i p l i c a t i o n ● r a d i o - a s t r o n o m i c a l i m a g e r ● S i g n a l p r o c e s s i n g ( F I R f i l t e r , F F T , c o r r e l a t i o n s , b e a m f o r m i n g ) 1 6

  17. D e n s e m a t r i x m u l t i p l i c a t i o n • c o m p l e x < f l o a t > • h o r i z o n t a l & v e r t i c a l m e m o r y a c c e s s e s ( → c o a l e s c e ) • r e u s e o f d a t a ( → c a c h e ) 1 7

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend