Parallelization of the Numerical Lyapunov Calculation for the ... - Lara

1 downloads 0 Views 764KB Size Report
defined by Banerjee [2], but has been extended to sets of fully permutable loops [12, 21, 31]. The basic idea of tiling ...... [2] Utpal Banerjee. An introduction to a ...
Laboratoire de l’Informatique du Parall´elisme ´ Ecole Normale Sup´erieure de Lyon Unit´e Mixte de Recherche CNRS-INRIA-ENS LYON no 8512

                  

  

 

    

´ Ecole Normale Sup´erieure de Lyon 46 All´ee d’Italie, 69364 Lyon Cedex 07, France T´el´ephone : +33(0)4.72.72.80.37 T´el´ecopieur : +33(0)4.72.72.80.80 Adresse e´ lectronique :   

 

                  

    



        Æ                          !"#$%& '         (  & '       

)            (          & ' (      !  *%        !  +%      +                  ,& -                                    )  &                    . (        & -       /  )   01   2  !012%               ) /  )         &

   3        (                              01  2 

  /              &



 4         5     Æ  5    4  6   64  64   4    !"#$%& /     4    4   4             4 5        

5 ) 4 & 7 4   4     +      )4    ,         4   & 7     4 5 64  )   /     89  01  2           89&

  1   8       4       4 

5 4     4   5      89 6    01 2  :   6  4  /  44  6      &

  '                            /  )   01  2  !012%  & '          ;          &

          -     

)                              & '  ( < =>  0 1   2   / :    ?    .           @                          & '     /   < ,>             (     ;        AB  C& '     ?  )      & 0     (                                 &             &          /              (       )                   

 ?&              /  )   01  2  !012%  & ' 012                            & /  D     D         012   );                                     E:.     (                      !  &  %& F       )           /  )    

          6                     & '                             &

!     '        (   (     

              & 3      !              %        !          %    & '                              & '                    )     G

  "  )   !G" %  :  #    !:#%  & .        )                                                        & 3  . /  : 6           )               & 2        ( )                   & '         0                ;       &   )      <  + H  , I>      ;      (     0 +& '     (      )    &             Æ ;               !  G  *& %& 3                ;        0 ,& -             Æ ;          ( !  0 =%& '          )                  G"        !(            %            & :       )      ( 

                    )  &          

       

             & '              & 0                        (       )   

   &                                                     & '         D   & '         1  & '               1  *& '              1  & '              ;       G  *&        (      G  *&& #         G  *&*     ?          G  *&& 0  G  *&+                  &



    

   (         / 1         /  )                  & '  D                    G   & &     Æ   (  ?  ?               & :                  )  /  )      &    

                                           & 3                           Æ     ?      01  2    )     ? & 

      

#  ! % !   ! %%    !     %     !  %            012     J K   ! % J K  L    L !   %  !   %  K       & -     ?)            )    & :                3             )       &                                 3        & -          . /  : 6      K   @                ) 

  !=  %& -        01  2   & < => &&                 & 3                                      K ! %  K  !%    & G                 3          3                     

























































 & '                                   ;          012   )& 3     )             !    %             & :     & < >                       < *>& /    B   ?   /  )                         /  ) !   %                    &

















  

/  )            3            & '                   D &       (   /  )          E       & '      /  )    F   < H>& '              )            ?          D  & '                    ? ;    J K        K   J L * ! L L * ! !*%   %    %      L * !   % L !   %       ! %   #    ! % K  ! %   $         D    L       /   ?  L    ! % !%  K     !% "   Æ                 )         B      & '          ?)          ! %      & '       ;

Æ

 



Æ





Æ



Æ



Æ



Æ

Æ

Æ

Æ



Æ



Æ



 









Æ



Æ





Æ









Æ



  

 ! "

Æ



  

         

< > K  K ;

 









      

 


< > K



Æ Æ



Æ   











 Æ  Æ 

Æ

 Æ



      

 < > L  

 

  K   





  

 

Æ



    



Æ Æ



          

*

 

Æ





  Æ

Æ







Æ     

  ?      (          < > K 







   

    ; !+%

 



2                                & '             M G        )              & 2            /  ) !  %   Æ    & :              !    %             &  '                                                   & '          M G          /  ) < H>&                      $ & ! %             /  ) & 0              ?  /   !! L %      % !,%           & 0                   M G  & /                        ( & 

   



 

 Æ Æ

 Æ  Æ

   























   



   

                      & 0     ?        & '   )            & 0                     & 

    

/                  &             ;       #  ?    !    %     &  #      !    %                       &  '    !    K %                /  )    & 





 



   



 







 ! #

   

     K   ;      

      K  *                                

K L K L >   Æ



Æ







 


& '        (                        & '        Æ                        & :               !           %    

   !          %& 3          0&          (           )                   !    *&%& '           ) &                     7   #       3O  7   0  < I>       )   & .    (                        

    !         %& "         ?                    ?  &       M G                      !   º +%    & 7    K                        & '              !  0& ,%& :    !    *&*&%     )              (& 3         !      %    (           & ' )              & 

 

 





  

&'&'#

  !   

0                 6        &   )       ! %  !  %        

H







processor i+1

space 1

processor i-1

processor i

communication

time

0 ; '                     & :    !   %               ) &                        & 











 



0 +; -                     & '             !    % )              0 ,&   

=

 0 H

  11111 00000

pr .3

11111 00000 00000 11111 00000 11111 00000 11111 00000 11111 00000 11111 00000 11111  00000 11111 00000 11111 00000 11111 00000 11111 00000 11111 00000 11111

es

so

r1

pr .2

 

r0

pr

oc



 

oc

es

so



pr

  

r2 so

r3 pr

oc

es

so es oc pr





Û

 

000 111  111 000 000 111 000 111 000 111 000 111 000 111 000 111 000 111 000 111 000 111 000 111 000 111

   

0 ,; '     ; '                 & '             & 3              (         & F            7           :      & 3     !        %  :          7             ?   F N 7        & $          F               &

I

     0 +& F                          & '          0 ,;       (                K & '             0 H  )      &      

                     &   



processor 1



processor 1

x x region A x x x x x x x x x xregion C x

region A

x x x x x x x x x x x x x x

region C

processor 0

processor 0

region B

region B

0 H; 1     (    ? ,    (      & '             7                  ! N %        ! N %& 







Æ

Æ



3       (   )              )       (& 7    (     )      &

&'&'& %    ! !

: )   0& =                        & 3                         K     !          %& 3                  (& .       !        % !  %   (    & 3                      (        !           %& "             (      & :       ?         & '          *&& 







  

 





!

"     

  )        (                        

    !          %& G                                  & 7                   &                           ; & %) *  ;                                 & 3   ?         

   (       &   ); 

   processor 2

 

to processor 2

processor 3 processor 2 

processor 1





 



processor 0

to processor 0



processor 0





redundant work

0 =;      ;                       & 3              (     & F                     

            & '                  !  %  & '                             !   L %    !    %& 3                         !         %      & '                             & G  )       & 









  

processor 1

x x x x x x x x

processor 1

processor 0

0 I; 1     (    0 =& '                      ! N %        ! N %& 

 Æ





Æ



 0                 &                  ;          & :  )       ?)                  & '        & & +* ;                 (      &  .               &   )                       < >      &     (                   &  0       (                     (     & *&     ;             

   &                                    & 3                        &                                    & '                       ?                       !      %& '               & -     A C                         )    !A    * +,H  +C%&                & '        0 ,& 



&','"



   

'        1  17     . (& ' ?    117         ;      !  %; - 1   ; 1 1 . !  /; +,E% - .; ,.   -   G7G   :7H== !2   .P % - $ #$7  - . /: :& +,E  - 3   G7G M       !&*M%   ) G  .  ..#2:/G-=PG: !     =)=%  3 $ .P ,  & '     1         ;  ,    ; 

- 1   ; 117 , . !  / ;*EL*E  /; +,E% - .; ,.   -   G7G  +* =+ !    .P % - $ #$7  - . 1.7 /: :& + E  - # (     = !M G7G%

 G  .  ; .."7'G-=  G  .  ; .."7'G-=  3 $ .P   & '                   /    3 1   7 !    

 ! "     %& ' 

        C3 G (  1   :  C     /317; F1 1F1  .1F1     &                    

&','#

  .

'                           %& 0                   !             )            & :     0  )          ;     *  +         /     K * + /   & F                     ( 

  

     & 3      L  º   K *& G       K & -                   ;    (    ! *%                     & '      ! )                    &&&%           !  0 %& -   (  0               

         *&                A  C                  º    &   



  

  

 



  



    



  

  



  

 

 

  

                      

K



  

     

  

   

&','& (  /       

-             & F        /     K & $)                 !   K     L 

 %   ) & 3      )                       )     (& .    K 

                



*







−6

3

x 10

Computation time (in seconds)/ (W× H)

2.5

computation time for non−tiled program

2

1.5

1

computation time using tiles of size 100x100 0.5 2 10

3

4

10

5

10 size of the iteration space (H)

6

10

10

0 ; '          & '      ?)  & '            & 0     + *              & 0     +       &*&   

 

7              !+ Q%& 3              !  ? %& 3           ( ! !  %%        ?               ( & /      & /     !   %               / 

 / !        /%@                 (& '                !    *    %&   ! % ! L % L 











 







Æ 

 

  





Æ   





'    )     0 & 7    )        !           %        ! % !  L  % L  L L !  % 

  









Æ 

 











'    )     0     ² +& 0 º +       

      !  L  %     & F      )                       &   )                )  & 





&',',

Æ 



 



    

                & F                           

 ;                & 2                      & 3      K        K             







!









!



 

−7

9

x 10

Computation time (in seconds) / (WxH)

8.5

8

7.5

7

6.5

H=100000

6

H=1000

5.5

5

0

10

20

30

40

50 W

60

70

80

90

100

0 ; B                     ;  K & 0 K                      /  /& 0 K                                 /& 





  

  







−7

Computation time (in seconds) x P / (W x H)

x 10 9 8.5 8 7.5 7 6.5 6 5.5 0

20

5

10 40 60

4

10 80

w

100

3

10

H

0 ; B            !    %             )       & 



+

&                 L & 3 0& *  

?   ;  -        ;            I,  ! %        !     %      & '           K ,  K &  '                     !  ? %; &       )                  & '   )        !              %       C    C !   )      %& & -           D        ! K % 

                   & 

 

!









 

−5

9

x 10

8

Communication time (in seconds) / W

with calculation. H/P=10000 7

6

5 with calculation. H/¨P=1000 4 with calculation. H/P=100 3

2 without any calculation 1

0

10

20

30

40

50 tiles width w

60

70

80

90

100

0 *; $        & '    ;  !A    C%

    )               !    %& '   !A    C%           

      !                  (    )  

 &&%&           & G  

          !  ? %               ; K      & 

&','0

 

 





  

0    (                   ;  0        C (C     ? & 3        &    )               

    !     %       (  & 3           & '       K , !  ? +%&  0         C (C          & 3        K  K  !  ? +%&  F    )     Æ   ?                @                ! +    %  ?) K  K + !  ? ,%&  









!

  



,

−5

14

x 10

communication overhead per column

12

10

8

6

4

2 2 10

3

4

10

5

10

10

H/P

0 ; B                 &      K *&



K ,

 

 



−7

Computation time (in seconds) x P / (W x H)

x 10 10 9.5 9 8.5 8 7.5 7 6.5

6 100 80

3

10 60 40

4

10 20

w

0

5

10

H

0 +; B     ! %          &       @ K @ K ,& 







 





H

100

90

1111111111111111111111111111 0000000000000000000000000000 0000000000000000000000000000 1111111111111111111111111111 0000000000000000000000000000 1111111111111111111111111111 0000000000000000000000000000 1111111111111111111111111111 maximum 0000000000000000000000000000 1111111111111111111111111111 0000000000000000000000000000 1111111111111111111111111111 bound 0000000000000000000000000000 1111111111111111111111111111 0000000000000000000000000000 1111111111111111111111111111 0000000000000000000000000000 1111111111111111111111111111 regime of 0000000000000000000000000000 1111111111111111111111111111 0000000000000000000000000000 1111111111111111111111111111 possible values 0000000000000000000000000000 1111111111111111111111111111 0000000000000000000000000000 1111111111111111111111111111 0000000000000000000000000000 1111111111111111111111111111 0000000000000000000000000000 1111111111111111111111111111 0000000000000000000000000000 1111111111111111111111111111 0000000000000000000000000000 1111111111111111111111111111 0000000000000000000000000000 1111111111111111111111111111 0000000000000000000000000000 1111111111111111111111111111 minimum bound 0000000000000000000000000000 1111111111111111111111111111 0000000000000000000000000000 1111111111111111111111111111 0000000000000000000000000000 1111111111111111111111111111 0000000000000000000000000000 1111111111111111111111111111 maximum bound

80

70

wopt

60

50

40

30

minimum bound

20

10 3 10

4

5

10 H

10

0 ,; "        K ,    & /    ! %   

  & 0               6 ; ! % K  ! %& '      Q        ! % ! %     )    ) ! % ! %  & 





  



  

   

   

#



   

   

   

$   

                     1    *&& & 2                      ) Æ             & 3                      ) ;                     ! % & '       !   % )          & .                       )   6   K &                      !  0 ,%& 3      & ' )    ;          1      +     ;      1        ! % K * II  @     117        ! % K H I  & 0     )       & '         K K + & -     &    )      ( K & &        ) & 

     



" # 



 $#

 $#$







!







  

&'0'" +*  ""   !    

     ? H  =& '      0 H;                               &       !  %  ? ;            )     (   & :        (        & !



=

0 =          ) ;             )           & '            & 0  )       & 

−8

3.95

x 10

3.9

Average execution time per task

3.85

3.8

3.75

3.7

3.65

3.6 3 10

4

5

10

10

6

10

H

0 H; :  )     (       1       K   K  & '         )   ?   )& $)    !0 H%    !  K %        & F      )              K         )           0 =     !  )   A C   %& 







&'0'# +*  #0  !    

/                    &&     117        1&             (   & 3   (              (    ( 

&    )                    !   B          %& 0        )  ;                         117       1& G   (             (      & :                    !  % K ! %



 !  % K ! %  & '               (& 0                 & 0 I        ) & "                      &&& '        ?                          &                 !            %&                 &&& 3    )                            D            !      

 

 

 

  $#

 

$

  

I



  $#$

12

time sequential/time parallel

11.5

11

10.5

10

9.5

9 3 10

4

5

10

6

10

10

H

0 =; G     )       1      ) &

 ½



 ¼

111111 000000 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111   000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111   000000 111111 000000 111111 000000 111111 000000 111111  000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111













  



0 I; 3             & 3

½

¼ 

½ &  

 

 



½

K

 ¼

 ¼  ½



¼

K

     %& 3          D    (   &

     ?    & '      0 ;  '   )     (       )           K + &          !  %     ;   !      %      )             1 !  ! %%       117 !  ! %%& '         )      IH    L



& 0           )     )      ) & !





 $#

 $#$

 

 

−8

3

x 10

average execution time per task

2.8

2.6

2.4

2.2

2

1.8 3 10

4

10

5

10 H

6

7

10

10

0 ; $)    +       117     1& #      K +  K & '       )     )   ?   )& :     0 H  )    !0 %    !  K *%  

      & 0                           117  1        1& 







 

     (            G  *   (  B      ;        ) /  )        &     (    / 1               /                    & '          G   $      & .            /  )   

           & '    01  2 

              & '             





27

26

parallel

25

23

sequential extrapol.

/time

24

22

time

21

20

19

18

17 3 10

4

10

5

10 H

6

7

10

10

0  ; G      )   +       )      ) & (   012                            !  %& '         /               (     (                (   & 3         (         6         (                   & :   0&       /  )                  & -               & ' ?         (     /       A Æ   C&      /  )                 (       (        & :                          ?  $ & !+%& '       G   &    M      ! %                       ?  ?;          )                       & '   )        ?           

               )     (    & 3             /  )     

     & :   )                   & -(        (    &



Æ









 

                             /    & ' (       (             &                  

     !( L %     

 & '  D D             Æ          !    

  %  )           & '                                  G"  #G1 







0 ; $   /  )            K I +*        & '         K      & '              & %





 & '              

                        & "    

                  & -      AC              & 0  )              ?                        & 3  (          ?           /  )           & :                    01  2   &                /  )           (       01  2    )                 &            )             & :                       !            012 < =>%                    & '            )        )                  &               7  /  1         )              @           )    < *>& 3         )                    & -(        &

1  ! '   ( .   G    :  '         34 M     Æ          G$   1G. < >& 0       (   ( .   -   (        & *

     < > & : G& D   & R & "    &  !"#$   =SI G II=& 2  F D& :             &  %  &  '  ; **S I I==& T  F 0     R & :       G /:1:7E !     %&  3  & :    (      

 )   

    *   +)*"##,   =+S I & 7G $: 1  III& $)      /1 '   

II H& 1 F :  #  '     R & !1%  U (   -&( %  H;**S+  II& 1 F V ( #   0    R   0 T& :        & 



     I!%; IHS * III& $)      /1 '   

I=I& 1R 7    '   & 1         &  1& 7   &   *   &  * 

 *&* #.   **S**H& $$$ 7 G  1  II+& 1&R& 7   V& #    R& & '      &  /& ' V& 0  E& T   T& '  '&   V& '    *   &  &    *     

  *&*"#/   IS*=& $$$ 7 G  1  IIH& $)        -$F  ;PP& &P& /& 7  V& 0  G& 0& 3 F& :  E&G& M & 3    ;      & '    7GI,+= 2   7   G  # G  # 7: II,& :    ;PP& & &P & /& 7  & /  .& 1& M               B &   

0       !H%;*H+S*H= II,& < > #  7   .   :  #   0  V .7& M    &  &  *  *    &   (  +* &(, &    G  0 . "   & < > '& 7 '& # )  G&   :& ' & /           

  ;     &    ) !  %; IS , II=& < > :  #  M :4 G  044 T& 7               & 



     H!%;*HIS*I IIH& < *> '& # )  G&   :& ' & .         )    )       &    0   ! !+,%; ,IS ,* IIH& < > 18 G ?   .4  4 & 1 & - - -   2 /; " & < +> 0 #  V ( #   0     R & #     ;    & %  ( &    !  ; ,HS I II=& < ,> & / $& #   B& %     &    !%; * I,*& < H> M& F  & /      )               @      & 1   !I%;  .   I=& 



< => $& 0 V& 1    G& 2 & G       &   I ! I++%  & 2      

 ;IH= I,+& < I> E& 3O  /& 7   V& 0 & #     &     '      ,S H*& :7. 1  IIH& $)      '    27G#7GI,=I    -$F  ;PP& & &P & :& V& /   .& :& / & 0     ) & G T  F II& : -& /  . G& / & . )           Æ    &      34 * * 1 &(5*6'&(5*  &            S & :7. 1  V   IIH& & / :& 1  G& & #       )     & %    * ! I%;**S I=,& & & . /    1& : & '

       & 6   !+%;+ S+, II& V 0   .   R & :    ! %   ; :    & '   

 III*, /1 $ G / :  III& .& 1  .& / ?&  )       (         &    0   * ! %;H,=SH=* II& /O9 1  F  '   & F1;           (  .&  7  8          6  9 8  + '698 "#$,  *==    6   &      HS=+& 3  D   11GPG1#1 II=& $$$ GT  : II=& /O9 1 F  '       - & .    (   )    ;  )     &  3  & :    ( 

    

 )   

    *   +)*"#$,     * S*I& 7G $: 1 & 0    :   G   1 & "   (        &  (      



 +( "#$,   HS HI& $$$ 7 G  1  II=& 0     R & :                & (!!!     

)   &     &    & #& V& G   #& V& $    #& V&   & '       )   )&    * !%;I,S H IIH& .   $& -  . G& / & :            )    & (!!!  

)   &    !%;+SH  "  II &

+

Suggest Documents