SlideShare a Scribd company logo
Gaspard tutorial
Gaspard2 Tutorial

Rabie Ben Atitalah, Jean-Luc Dekeyser and
               Pierre Boulet




          24 September 2008
Overview
Overview
High Performance Application
Development: MPSoC




                   Verification
                   Simulation
                   Synthesis

                   Multiple languages
                   Multiple abst. levels
Application Domain of Gaspard2:
intensive signal processing




 "Gaspard" stands for
 Graphical array specification for parallel and
 distributed computing
Hypotheses

    component-based
    massive
    parallelism
    regular
    applications and
    hardware
    no complex flow of
    control
    static scheduling,
    no RTOS
MARTE packages used in Gaspard2
   Foundations
      Non Functional Properties
      Generic Component Model
          Flow ports
      Allocation
   Detailed Resource Modeling
      Hardware Resource Modeling::HwLogical
   Repetitive Structure Modeling
!
                                                          
                                       #$%'$()*#+*,+-
$./$0,12345$)1$+565410$75*4893:5$*#+$;:5++5+$(=()5:(
!
                                                   !!                   !     #       $
             % %''(




                                                                                                
                                                                 )       !!        *
                 )       ++
C!C




          D))0-EEFFFGH*,,1448,5(5*,HDG1,IE
AB




                              ,
          J;$/KL9$M$H1#)*H)-$(5*()35#GI5,*,+NH5*G2,O
              PQ*(H*,$;(03#1R*S$LT*()35#$'T,*,+S$L*21Q*#$9*D*$*#+$V,T+T,3H$9D1:*(G$$

          KW7K$MH1#)*H)-$715,)GX5Y(3:1#5N(10D3*G3#,3*G2,O
A




              JD*,45($#+,TS$715,)$+5$L3:1#5S$Z35,,5$[1Q45)





          9D*45($979$MH1#)*H)-$/*Q,5#)G,31QN)D*45(I,1Q0GH1:O
@




              *+5453#5$V*QI],5S$/*Q,5#)$731QS$L5*()35#$X5:*)D35Q
?
-




                                                       !
      .                     $                  ,
                        .                  ,




                                                       
          V1,$X1:*3#$`35F$45654
C!C
AB




          V1,$./$Z,12345$`35F$/5654
A




          V1,$.(5,$1+54$`35F$/5654

@
?




                                                   _
!
      /
          K#),1+QH)31#$)1$XX$21,$79E;$(=()5:($}$79;$3#$*$#Q)(D544
      %
          W1#82Q#H)31#*4$0,105,)35($:1+543#I




                                                                            
          %Q)43#5$12$)D5$`*4Q5$L05H323H*)31#$/*#IQ*I5$M`L/O$
      3
          9D5$)3:3#I$:1+54
C!C




      4
                                      1
AB




      5
          Z4*)21,:$:1+543#I$
      6
          7505)3)365$(),QH)Q,5$:1+543#I
      (
A




          1+548*(5+$*#*4=(3($21,$79E;$





      
          79;$*#+$X/$
@




      7
          J1#H4Q(31#(
?




                                                                       ga
)                     8




                                                                                          !
      )




                                                                                          
           W55+$21,$:*#*I5*45$*#+$,5Q(*45$035H5($12$(12)F*,5
           w5=$5*:045(-$/3ID)F53ID)8JJS$LJS$Q)1(*,
C!C




      )                                                    !         1!
AB




           ;#)3)35($Q#+5,$*#*4=(3(E+5(3I#$,1n5#$+1F#$3#)1$*$(5,35($12$H1:01#5#)(
           0043H*45$*)$+3225,5#)$()*I5($12$)D5$0,1H5((
           X3225,5#)$n3#+-$*H)365$6(G$0*((365$M5GIGS$./$*H)365$H4*((5(O
A




           ;*:045($12$,54*)5+$4*#IQ*I5(-$L=(/S$X/





      9D5,5$3($*$#55+$)1$0,163+5$:1+543#I$H1#(),QH)($)1$(Q001,)$)D5(5$H1#H50)($*)$
@




                               +3225,5#)$45654($12$*(),*H)31#
?




                                                                                     gb
.                              ? +:




                                                                         !
      ? +

          9D5$n5,#54$12$)D5$4*#IQ*I5$+523#5($         $




                                                                         
          *#+$

          !                 $+523#5($ $*#+$
C!C




                    $*#+$0,163+5$)D5$*343)=$)1$
          +5(H,35$*$     $*($*#$*((5:4=$12$0*,)(
AB




          #     *#+$ $ % %                $+523#5$
          )D5$#1)31#$12$H1:01#5#)$,5*43R*)31#$*#+$
          *++($0*Hn*I3#I$H*0*343)35(
A

@




      K#$*#=$H*(5S$#1$(Q001,)$21,$241F81,35#)5+$H1::Q#3H*)31#(
?




                                                                    gc
)




                                                                                  !
      0                          ,                 8
            L=(/S$L03,3)S$X/S$/3ID)F53ID)8JJS$;L98X/S$Q)1(*,




                                                                                  
      #
C!C




                          ? +                       $
AB




      !      +
            )1:3H$*#+$#1#8*)1:3H$241F$01,)(
            V41F$0,105,)35($*#+$241F$(05H323H*)31#(
A





      @             ,                      +            8)) $   #+     ! 8
          #+%$ !
@
?




                                                                             gd
?   @      A   AB   C!C




                                        )




gf




                                   !
!
                                                    )1:3H$241F$01,)$)=05+$=$*$
                                                    J4*((3235,




                                                                                        
C!C
AB
A





                                                 J1:045$241F$01,)$)=05+$=$*$
@




      L)*#+*,+$./$01,)$)=05+$=$*$H4*(($)D*)$   241F$(05H323H*)31#
      Q(5($)D5$/1H*)31#HH5(($3#)5,2*H5
?




                                                                                   gg
!
              %Q)I13#I$*)1:3H$
              241F$01,)
                                       K#H1:3#I$*)1:3H$
                                       241F$01,)




                                                                                 
C!C
AB




                                          ./$+545I*)31#$H1##5H)1,$Q(5+$
A




                                          F3)D$*$#1#8*)1:3H$241F$01,)

@




      ./$+545I*)31#$H1##5H)1,$Q(5+$
      F3)D$*#$*)1:3H$241F$01,)
?




                                                                           hii
!
      /
          K#),1+QH)31#$)1$XX$21,$79E;$(=()5:($}$79;$3#$*$#Q)(D544
      %
          W1#82Q#H)31#*4$0,105,)35($:1+543#I




                                                                             
          %Q)43#5$12$)D5$`*4Q5$L05H323H*)31#$/*#IQ*I5$M`L/O$
      3
          9D5$)3:3#I$:1+54
C!C




      4
          $H1:01#5#)$:1+54$21,$79E;
AB




      5
                             $
      6
          7505)3)365$(),QH)Q,5$:1+543#I
      (
A




          1+548*(5+$*#*4=(3($21,$79E;$





      
          79;$*#+$X/$
@




      7
          J1#H4Q(31#(
?




                                                                       hig
2




                                                                         !
      @
          441H*)5$*#$*0043H*)31#$545:5#)$)1$*#$0,1H5((3#I$04*)21,:$
          545:5#)




                                                                         
          7523#5$*$I5#5,*4$545:5#)$3#)1$1#5$1,$(565,*4$:1,5$(05H323H$
          545:5#)($
C!C
AB




      0                     !       +
             J*#$1#4=$*441H*)5$*0043H*)31#$)1$55HQ)31#$04*)21,:
             J*#$*))*HD$WVZ$H1#(),*3#)($)1$)D5$*441H*)31#
A

@
?




                                                                   hhb
!
            0


      xD*)$H*#$5$*441H*)5+S$




                                                                   
      )D5$41I3H*4$635F-
        $(),QH)Q,5$1,$5D*631,   xD*)$H*#$(5,65$*($*$
                                 )*,I5)$12$*#$*441H*)31#S$
                                 )D5$0D=(3H*4$635F-
C!C




                                    $*$,5(1Q,H5$1,$*$
                                 (5,63H5G
AB




            #
A

@
?




                                                             hhc
-




                                                                             !
                                79;

                                                   P7
                            r 3#H4Q+5 s




                                                                             
          !
                                           -        ,   -.


                              r 5)5#+ s
                                               r 3#H4Q+5 s
C!C




                                           !        ;    -.
      !       ,
AB




                                                                  -.
                             r 3#H4Q+5 s       r 3#H4Q+5 s


                                               #        -.
A





              ;
@




                  _$Q(5$H*(5($v$_$45654($12$+5)*34(
?




                                                                       had
-                    88 -   ,




                                                                              !
      -    :
          P3ID$45654$12$




                                                                              
                       $635F$12$)D5$Px$04*)21,:
          x3)D$n5=$0,105,)35(-
C!C




               ;GIGS$3#(),QH)31#$(5)$*#+$:5:1,=$(3R5G
          $21,:*4$635F$12$Q(Q*4$                       $
AB




      
          P3ID$45654$+5(H,30)31#$12$53()3#I$*#+$)*,I5)5+$Px$04*)21,:
          V3,()$()50($12$+5(3I#$12$#5F$Px$*,HD3)5H)Q,5
A




      @





          L=()5:$*,HD3)5H)(
@




          L12)F*,5$+5654105,(
?




                                                                        haf
-                 88 !       ;




                                                                                           !
      -    :
          L05H3*43R5+$Px$             $:1+54




                                                                                           
          W*)Q,5$12$+5)*34($+505#+($1#$)D5$              ,
               ;h$-$*Q)1#1:=$*#*4=(3($,5mQ3,5($01F5,$H1#(Q:0)31#$:1+543#I
C!C




               ;$-$xJ;9$*#*4=(3($#55+$+5)*34($1#$0,1H5((1,$(055+S$H1::Q#3H*)31#$
               *#+F3+)D$*#+$:5:1,=$1,I*#3R*)31#o
AB




      
      @          ;
A

@
?




                                                                                     hag
-                   88 #




                                                                                                   !
      -    :
          P7$3($*$+5)*345+$Px$*,HD3)5H)Q,5$+5(3I#$4*#IQ*I5




                                                                                                   
          /5654$12$+5)*34($+505#+($1#$)D5$+5(H,30)31#$
               ;h-$VQ#H)31#*4$(3:Q4*)1,$12$*$0,1H5((1,$1#4=$,5mQ3,5($3)($3#(),QH)31#$(5)$2*:34=
C!C




               ;-$Z5,21,:*#H5$(3:Q4*)31#$#55+$*$23#5$+5(H,30)31#$12$0,1H5((1,($:3H,18
               *,HD3)5H)Q,5G
AB




      
          1+548*(5+$+*)*(D55)($+5(H,30)31#
          L3:Q4*)31#
A




               I5#5,*)31#$12$H1#23IQ,*)31#($21,$(3:Q4*)31#$)114(





      @
@




          Px$+5(3I#5,(
?




                                                                                             hbi
-




                                                                                                                !
      -
            LQHH5((365$            $4*=5,(




                                                                                                                
                $I5#5,3H$H1#H50)($M'7843n5O
                ,)              %            - ,)'    *- ,)                                  .
              $(05H323H$*#+$+5)*345+$,5(1Q,H5(
C!C




                ,)             - ,)#               - ,)            - ,)''/- ,)#      - ,)#     % - ,) ' .
AB




            44$P7$H1#H50)($*,5$,)                  0 1

                         iGGh                               0,163+5+L5,63H5(
                                    F        G                          hGGy       F     G
                         iGGy        -                      ,5mQ3,5+L5,63H5(   -       ! ,
A




               1F#5+75(1Q,H5(                                           iGGy

      9F1                  635F(





                       +                 1
@
?




                                                                                                          hbh
-                                        88 +




                                                                                                                                         !
          ,            2Q#H)31#*4
      @                                                                                                        =
                        G$$$$$$PFJ1:0Q)3#I$$$$$$ G$$$$$                   G$$$$$$PFL)1,*I5$$$$$$ G$$$$$




                                                                                                                                         
C!C




                    r PFZ,1H5((1, sS$r PFZ/X sS               r PFJ*HD5 sS$r PF7 sS$        r PF. sS
                           r PFLKJ s                          r PF7% sS$r PFX,365 s         r PFX s
AB




              G$$$$$$ PFX563H5$$$$$$ G$$$$$                                                         G$$$$$$PF93:3#I$$$$$$ G$$$$$
                                                     G$$$$$$ PFJ1::Q#3H*)31#$$$$$$ G$$$$$
A




          r PFX563H5 sS       r PFKE% s              r PF[,3+I5 s                                         r PFJ41Hn sS





          r PFLQ001,) s
                                                                                                          r PF93:5, s
                                                                       r PF,3)5, s
@




                                               r PF5+3* sS$r PF[Q( s
?




                                                                                                                                   hb
-                                  88




                                                                                                 !
           ,               0D=(3H*4
      @
            PF/*=1Q)




                                                                                                 
                   V1,:(-$JD30S$J*,+S$JD*##54o
                   X3:5#(31#(S$*,5*$*#+$*,,*#I5:5#)$:5HD*#3(:$F3)D3#$,5H)343#5*,$I,3+(
C!C




                   ;#63,1#:5#)*4$H1#+3)31#(-$5GIG$)5:05,*)Q,5S$63,*)31#S$DQ:3+3)=o
            PFZ1F5,
AB




                   Z1F5,$H1#(Q:0)31#$*#+$D5*)$+3((30*)31#
               G$$$$$$ PF/*=1Q)$$$$$$ G$$$$$            G$$$$$$PFZ1F5,$$$$$$ G$$$$$
A




                                               r PFZ1F5,LQ004= s      r PFJ1143#ILQ004=s





                  r PFJ1:01#5#) s
          n3#+$-$zJ*,+S$JD*##54S$JD30S$Z1,){
@
?




                                                                                           hb_
-                            , ,




                                                                                                      !
                     F             G                           F    +       G
                              ==                             ==+   ==@     9 K


             r 3:01,) s                                                  r 3:01,) s




                                                                                                      
                                                 F       G
                                                     -

                          F            G                                    F         G
                          - +                                              -
C!C




                          -                                                 -
AB




                                             - !
       - )
                                                                            - +

                                             -
A




      - )
                                           - !                              -

@




        -                                        - # ,
?




                                                                                                hba
-                                            88 -




                                                                                                       !
                     F             G                           F    +       G
                              ==                             ==+   ==@     9 K


             r 3:01,) s                                                  r 3:01,) s




                                                                                                       
                                                 F       G
                                                     -

                          F            G                                    F         G
                          - +                                              -
C!C




                          -                                                 -
AB




                                             - !
       - )
                                                                            - +
                                             -
A




      - )
                                           - !                              -

@




        -                                        - # ,
?




                                                                                                 hbb
-                                                           88 -




                                                                                                                                                                  !
                               -


                                                       F                  G                      F             G
                                                           ==       ==!                           -




                                                                                                                              r +*)*9=05 s




                                                                                                                                                                  
                                                                              F              G
                                                                                  -

                                                                :5:1,=L3R5$-$WVZYX*)*L3R5                               #1)*)31#$-$WVZYL),3#I
                                                                *++,5((L3R5$-$WVZYX*)*L3R5                              +5(H,30)31#$-$WVZYL),3#I
                                                                )3:3#I($-$93:3#I$tyu                                    6*4Q5$-$WVZYXQ,*)31#
C!C
AB




              F            G                   F                G                           F              G                      F                G
                  - )                              -                                             -                                   - # ,

        45654$-$WVZYW*)Q,*4$v$h       1,I*#3R*)31#$-$5:1,=%,I*#3R*)31#            )=05$-$7%Y9=05                         (5H)1,L3R5$-$WVZYX*)*L3R5
        )=05$-$J*HD59=05              3(L=#HD,1#1Q($-$WVZY[1145*#                  1,I*#3R*)31#$-$5:1,=%,I*#3R*)31#
        (),QH)Q,5$-$J*HD5L),QH)Q,5    3(L)*)3H$ -WVZY[1145*#
        ,504YZ143H=$-$7504YZ143H=     3(W1#`14*)345$ -$WVZY[1145*#                 iGGh
        F,3)5Z143H=$-$x,3)5Z143H=     ,504YZ143H=$ -$7504YZ143H=
                                                                                   Q225,
                                      F,3)5Z143H=$-$x,3)5Z143H=
                                                                                   z(Q(5)($1F#5+Px{
A




      r 5#Q:5,*)31# s      r 5#Q:5,*)31# s    r 5#Q:5,*)31# s                     r +*)*9=05 s                     r +*)*9=05 s           r 5#Q:5,*)31# s
            K                .                  )                             )        !                                    ;                 K





      /7.                 x,3)5[*Hn          X*)*                     #L5)($-$WVZYW*)Q,*4                #71F($-$WVZYW*)Q,*4            *(n5+7%
      WV.                 x,3)59D,1QID       K#(),QH)31#              41HL3R5$-$WVZYX*)*L3R5             #J14Q:#($-$WVZYW*)Q,*4         ;Z7%
      VKV%                %)D5,              .#3235+                  *((1H3*)363)=$ -$WVZYW*)Q,*4        #[*#n($-$WVZYW*)Q,*4           %9ZY;Z7%
      7*#+1:              .#+523#5+          %)D5,                                                        F1,+L3R5$-$WVZYX*)*L3R5         ;;Z7%
@




      %)D5,                                  .#+523#5+                                                                                    V4*(D
      .#+523#5+                                                                                                                           %)D5,
                                                                                                                                          .#+523#5+
?




                                                                                                                                                            hbc
-                      88 -                      88 - )




                                                                                                           !
            F               G                  PFJ*HD5$3($*$0,1H5((3#I$:5:1,=$FD5,5$
                - )
                                               2,5mQ5#)4=$Q(5+$+*)*$H*#$5$()1,5+$21,$,*03+$
                                               *HH5((




                                                                                                           
      45654$-$WVZYW*)Q,*4$v$h
      )=05$-$J*HD59=05
      (),QH)Q,5$-$J*HD5L),QH)Q,5
      ,504YZ143H=$-$7504YZ143H=                X5)*345+$+5(H,30)31#$12$)D5$PFJ*HD5$3($
C!C




      F,3)5Z143H=$-$x,3)5Z143H=                #5H5((*,=$21,$05,21,:*#H5$*#*4=(3($*#+$
                                               (3:Q4*)31#$
AB




          r 5#Q:5,*)31# s   r 5#Q:5,*)31# s     r 5#Q:5,*)31# s              r +*)*9=05 s
                K             .                   )                      )        !

          /7.               x,3)5[*Hn           X*)*               #L5)($-$WVZYW*)Q,*4
A




          WV.               x,3)59D,1QID        K#(),QH)31#        41HL3R5$ -$WVZYX*)*L3R5
          VKV%              %)D5,               .#3235+            *((1H3*)363)=$ -$WVZYW*)Q,*4





          7*#+1:            .#+523#5+           %)D5,
          %)D5,                                 .#+523#5+
          .#+523#5+
@
?




                                                                                                     hbd
-                      88 -                      88 - )




                                                                                                           !
            F               G
                - )




                                                                                                           
      45654$-$WVZYW*)Q,*4$v$h
      )=05$-$J*HD59=05                         L05H3235($)D5$H*HD5$45654G
      (),QH)Q,5$-$J*HD5L),QH)Q,5
      ,504YZ143H=$-$7504YZ143H=                     X52*Q4)$6*4Q5$3($h
C!C




      F,3)5Z143H=$-$x,3)5Z143H=
AB




          r 5#Q:5,*)31# s   r 5#Q:5,*)31# s     r 5#Q:5,*)31# s              r +*)*9=05 s
                K             .                   )                      )        !

          /7.               x,3)5[*Hn          X*)*                #L5)($-$WVZYW*)Q,*4
A




          WV.               x,3)59D,1QID       K#(),QH)31#         41HL3R5$-$WVZYX*)*L3R5
          VKV%              %)D5,              .#3235+             *((1H3*)363)=$ -$WVZYW*)Q,*4





          7*#+1:            .#+523#5+          %)D5,
          %)D5,                                .#+523#5+
          .#+523#5+
@
?




                                                                                                     hbf
-                        88 -                           88 - )




                                                                                                             !
            F               G                 L05H3235($)D5$PFJ*HD5$(),QH)Q,5
                - )                           PFJ*HD5$3($1,I*#3R5+$Q#+5,$(5)($12$41Hn(G
                                              ((1H3*)363)=$3($)D5$#Q:5,$12$41Hn($F3)D3#$5*HD$(5)G




                                                                                                             
      45654$-$WVZYW*)Q,*4$v$h
                                                    K2$*((1H3*)363)=$v$hS$H*HD5$3($+3,5H)$:*005+
      )=05$-$J*HD59=05
      (),QH)Q,5$-$J*HD5L),QH)Q,5                    K2$#L5)($v$hS$H*HD5$3($2Q44=$*((1H3*)365G
      ,504YZ143H=$-$7504YZ143H=               %J/$,Q45
C!C




      F,3)5Z143H=$-$x,3)5Z143H=                              *! + 2   !            !+              *
AB




          r 5#Q:5,*)31# s   r 5#Q:5,*)31# s     r 5#Q:5,*)31# s            r +*)*9=05 s
                K             .                   )                    )        !

          /7.               x,3)5[*Hn          X*)*               #L5)($-$WVZYW*)Q,*4
A




          WV.               x,3)59D,1QID       K#(),QH)31#        41HL3R5$ -$WVZYX*)*L3R5
          VKV%              %)D5,              .#3235+            *((1H3*)363)=$ -$WVZYW*)Q,*4





          7*#+1:            .#+523#5+          %)D5,
          %)D5,                                .#+523#5+
          .#+523#5+
@
?




                                                                                                       hbg
-                      88 -                      88 - )




                                                                                                           !
            F               G                  L05H3235($)D5$H*HD5$F,3)5$0143H=$
                - )                                 x,3)5[*Hn-$J*HD5$F,3)5$3($#1)$3::5+3*)54=$
                                                    ,5245H)5+$)1$)D5$*Hn3#I$:5:1,=G




                                                                                                           
      45654$-$WVZYW*)Q,*4$v$h
      )=05$-$J*HD59=05                              x,3)59D,1QID-$x,3)5($*,5$3::5+3*)54=$
      (),QH)Q,5$-$J*HD5L),QH)Q,5                    :3,,1,5+G
      ,504YZ143H=$-$7504YZ143H=
C!C




      F,3)5Z143H=$-$x,3)5Z143H=
AB




          r 5#Q:5,*)31# s   r 5#Q:5,*)31# s     r 5#Q:5,*)31# s              r +*)*9=05 s
                K             .                   )                      )        !

          /7.               x,3)5[*Hn          X*)*                #L5)($-$WVZYW*)Q,*4
A




          WV.               x,3)59D,1QID       K#(),QH)31#         41HL3R5$ -$WVZYX*)*L3R5
          VKV%              %)D5,              .#3235+             *((1H3*)363)=$ -$WVZYW*)Q,*4





          7*#+1:            .#+523#5+          %)D5,
          %)D5,                                .#+523#5+
          .#+523#5+
@
?




                                                                                                     hci
!
      /
          K#),1+QH)31#$)1$XX$21,$79E;$(=()5:($}$79;$3#$*$#Q)(D544
      %
          W1#82Q#H)31#*4$0,105,)35($:1+543#I




                                                                             
          %Q)43#5$12$)D5$`*4Q5$L05H323H*)31#$/*#IQ*I5$M`L/O$
      3
          9D5$)3:3#I$:1+54
C!C




      4
          $H1:01#5#)$:1+54$21,$79E;
AB




      5
          Z4*)21,:$:1+543#I$
      6
                  ,
      (
A




          1+548*(5+$*#*4=(3($21,$79E;$





      
          79;$*#+$X/$
@




      7
          J1#H4Q(31#(
?




                                                                       hd_
, !




                                                   !
              ,
          %




                                                   
              W5()5+$4110(
              Q4)30,1H5((1,$L=()5:(
C!C
AB




              0043H*)31#
              P*,+F*,5$04*)21,:
              ((1H3*)31#
A





      
@




          W5F$#1)*)31#$E$()5,51)=05(
?




                                             hdc
)                                , !




                                                                                           !
          J1#H50)(
            !      $M5)5#(31#$12$            *O
                91$:1+54$:Q4)3+3:5#(31#*4$*,,*=(




                                                                                           
            +               $M5)5#(31#$12$            $*#+$         O
                91$:1+54$)D5$)10141I=$12$)D5$43#n($5)F55#$:Q4)3+3:5#(31#*4$*,,*=(
                Z*))5,#8*(5+$,5IQ4*,$)10141I35(
C!C
AB




      @             =

                                     8
          75IQ4*,$(0*H3#I$12$013#)($3#(3+5$*$
A




          )345





          75IQ4*,$(0*H3#I$12$)345(
          K#D5,3)($2,1:$)D5$,,*=8%/$4*#IQ*I5
@
?




                                                                                     hdd
!




                                                                                       !
                                           9
      F         G
           !                                   7523#5:5#)$12$)D5$:Q4)3043H3)=$




                                                                                       
                                               #1)*)31#
                                               `5H)1,$12$.#43:3)5+W*)Q,*4(
                 F             G
C!C




            ? +==

                                               hc$‘$zaSa{
AB




                                               y$‘$zbhShfSy{
                    F          G
                        !                             F            G
                                                  F                   G
A




          (D*05$-$LD*05L05H323H*)31#$thu        zH1445H)31#)),3$v$(3R5{





                                                 !       !
                                           (3R5$-$.#43:3)5+W*)Q,*4$tiGGyu
@
?




                                                                                 hdf
+




                                                                                                                    !
                 F            G
                         !


                                                        F            G                     F              G
                                                       ? +==)                          ?   +==)




                                                                                                                    
                     F                G
                         #        +
                                                                 F           G
C!C




                                                                 *   !
AB




                                             F           G
                                            0

                             ,505)3)31#L0*H5X505#+5#H5$-$K#)5I5,`5H)1,$thu
                             3(1+Q41$-$[1145*#$v$2*4(5
A




                                                                                   F               G





                     F                G

                                                                             1,3I3#$-$K#)5I5,`5H)1,
@




      0*))5,#LD*05$-$LD*05L05H323H*)31#$thu                                  0*63#I$-$K#)5I5,*),3
      ,505)3)31#L0*H5$-$LD*05L05H323H*)31#$thu                               23))3#I$-$K#)5I5,*),3
                                                                             )345,$-$9345,L05H323H*)31#
?




                                                                                                              hdg
-
                                                              !0 #




                                                                                                      !
                     r$PFKL$s$z)=05$v$LKX{                        hc$0,1H5((1,(
                           !0 #?

                               r$3#)5,7505)3)31#$s




                                                                                                      
                     z,505)3)31#L0*H5X505#+5#H5$vzhSi{S             91,13+*4$a’a$I,3+
                                 :1+Q41$v$),Q5{
                                                                    [3+3,5H)31#*4$H1##5H)31#(
                                         #                             W1,)D8L1Q)D
C!C




                                                                       ;*()8x5()
AB




                         r$PFJ1:0Q)3#I75(1Q,H5$s
                          0$-$;45:5#)*,=Z,1H$tzaSa{u      5
                 F                                             0i       0h    0     0_
A




                                      (                        0a       0b    0c     0d


                r$3#)5,7505)3)31#$s





      z,505)3)31#L0*H5X505#+5#H5$vziSh{S                       0f       0g    0hi    0hh
                   :1+Q41v),Q5{
@




                                                              0h       0h_   0ha    0hb
?




                                                                                                hfi
!
                F                G
                                           9
                                               ,,*=$(D*05
          1,3I3#$-$K#)5I5,`5H)1,
                                               Z*))5,#$(D*05




                                                                                                  
          0*63#I$-$K#)5I5,*),3               7505)3)31#$(0*H5$(D*05
          23))3#I$-$K#)5I5,*),3
          )345,$-$9345,L05H323H*)31#
C!C




                                               3     %-$,5IQ4*,$(0*H3#I$12$)D5$013#)($12$
                 F               G             )D5$)345(
AB




                 F               G                 K#+5$
                     !
                                                   LH*##3#I$)D5$0*))5,#
           1,3I3#$-$K#)5I5,`5H)1,
                                                      %-$,5IQ4*,$(0*H3#I$12$)D5$)345(
           0*63#I$-$K#)5I5,*),3$thu
A




           23))3#I$-$K#)5I5,*),3                 K#+5$
                                                   LH*##3#I$)D5$,505)3)31#$(0*H5

@




      1,3I3#M0*63#I$23))3#IOG M$O      $*,,*=G(D*05
?




                                                                                            hfh
0                                     B/1%C




                                                     !
          
              J14Q:#$65H)1,(
                  [*(3($12$)D5$)345
              Z*))5,#$(D*05




                                                     
                  [1Q#+($12$)D5$23))3#I
              ,
C!C




              J14Q:#$65H)1,(
AB




                  [*(3($12$)D5$04*H5:5#)$12$
                  )D5$)345(
              7505)3)31#$(0*H5
                  [1Q#+($12$)D5$0*63#I
A




              %,3I3#





                  J11,+3#*)5($12$)D5$
@




                  ,525,5#H5$013#)$12$)D5$
                  ,525,5#H5$)345
?




                                               hf
0                               B%1%C
          




                                                  !
              J14Q:#$65H)1,(
                  [*(3($12$)D5$)345
              Z*))5,#$(D*05




                                                  
                  [1Q#+($12$)D5$23))3#I
              ,
C!C




              J14Q:#$65H)1,(
AB




                  [*(3($12$)D5$04*H5:5#)$12$
                  )D5$)345(
              7505)3)31#$(0*H5
                  [1Q#+($12$)D5$0*63#I
A




              %,3I3#





                  J11,+3#*)5($12$)D5$
@




                  ,525,5#H5$013#)$12$)D5$
                  ,525,5#H5$)345
?




                                            hf_
!
                                           !




                                                                                                           
                     r$)345,$s
                z1,3I3#vziSi{S
                23))3#IvzziSh{{S
C!C




             0*63#IvzzhSi{SziS_{{                         tzhf{u                   tzbhShfSy{u
                                       2$-$VV9$tzbhSy{u
 tzbhSy{u                   tzhf{u                                   r$)345,$s
AB




                                                                  z1,3I3#vziSiSi{S
                                                                 23))3#IvzziShSi{{S
                                                             0*63#IvzzhSiSi{SziSiSh{{{



         !                   5/%
A




             LD*05$12$)D5$3#0Q)$+*)*$v$bh’“





                           
@




             V1,$5*HD$D=+,10D1#5
             L43+3#I$F3#+1F$12$hf$(*:045($565,=$_$)3:5$()50(
?




                                                                                                     hfa
#




                                                                                         !
      F          G
            !
                                                     !




                                                                                         
                      F             G
                              ==
C!C




                                                         9343#I$1)D$5#+(
AB




                      F             G                       9F1$)345,(
                          #
                                                         x3)D$)D5$(*:5$)345(
          0*))5,#LD*05$-$LD*05L05H323H*)31#$thu
                                                            %#5$0*))5,#$(D*05
          ,505)3)31#L0*H5$-$LD*05L05H323H*)31#$thu
                                                            %#5$,505)3)31#$(0*H5
A




          2,1:9345,$-$9345,L05H323H*)31#$thu
          )19345,$-$9345,L05H323H*)31#$ thu





                                                         )$45*()$*44$PZV$+*)*$
@




                                                         +3(),3Q)31#(
?




                                                                                   hfb
#




                                                                                  !
                                                                                  
C!C
AB




      #                                                            !0 #
          W1$(0*)3*4$+3(),3Q)31#$12$)D5$3#23#3)5$+3:5#(31#$M)3:5$()50(O
A




          [41H$+3(),3Q)31#$12$)D5$bh$VV9($21,$5*HD$)3:5$()50





             L3R5$12$)D5$41H$v$_
@




             %#$)D5$hc$545:5#)*,=$0,1H5((1,(
?




                                                                            hfc
#




                                                                                                                !
                                                    r$+3(),3Q)5$s
                           z0*))5,#LD*05$v$z_{S
                           $,505)3)31#L0*H5$v$zaSaSy{S
                           $2,1:9345,$v$z1,3I3#$v$ziSi{S
                                              $23))3#I$v$zzhSi{{S




                                                                                                                
                                              $0*63#Ivzz_Si{SzhfSi{SziSh{{{S
                           $)19345,$v$z1,3I3#$v$ziSi{S
                           $$$$$$$$$$$$$$$$23))3#I$v$zziSi{{S
C!C




                           $$$$$$$$$$$$$$$$0*63#I$v$zzhSi{SziSh{SziSi{{{{
      V2)L)*I5--2$-$VV9$                                                             L3:+.#3)--0$-$
          tzbhSy{u                                                              ;45:5#)*,=Z,1H$tzaSa{u
AB




       #                                                                            !0 #
           W1$(0*)3*4$+3(),3Q)31#$12$)D5$3#23#3)5$+3:5#(31#$M)3:5$()50(O
A




           [41H$+3(),3Q)31#$12$)D5$bh$VV9($21,$5*HD$)3:5$()50





               L3R5$12$)D5$41H$v$_
@




               %#$)D5$hc$545:5#)*,=$0,1H5((1,(
?




                                                                                                          hfd
)                               !




                                                                                                        !
          Q4)3+3:5#(31#*4$(),QH)Q,5($M*,,*=(O
          9343#I$=$(Q8(),QH)Q,5($M#1#$1,)D1I1#*4$1,$(0*,(5$)345($01((345O




                                                                                                        
          /3#n($5)F55#$(QHD$(),QH)Q,5($MH=H43H$1,$#1#$H=H43H$H1##5H)31#$0*))5,#($01((345O
      9                                    ,
          J1:0*H)#5(($12$)D5$:1+54
C!C




          ;223H35#H=S$:*3#)*3#*343)=S$,5*+*343)=
AB




          .(5($`L/
          [5#523)($2,1:$)D5$H1:01#5#)$:1+54$M241F$01,)(O
          00435($)1$1)D$*0043H*)31#$*#+$D*,+F*,5$H1:01#5#)(
          ;)5#+($*441H*)31#
      +
A




          P*#+45($1#4=$*,,*=($M#1$2*#H35,$(D*05(O





          x1Q4+$5#523)$2,1:$*$HQ()1:$M63(Q*4O$)345,$5+3)1,
              .#+5,$+565410:5#)
@
?




                                                                                                  hgh
Detailed Example
                                                          (∞)
                             Downscaler


  (352, 288, ∞)            (132, 288)    Vert. Filter
                                                   (132, 128)
                  Horiz. Filter
       (352, 288)                 (132, 288)            (132, 128, ∞)
Horizontal Filter

                     Horizontal filter
                          (44, 288)
      (352, 288)
                          Hfilter
                                            (132, 288)
                   (11)               (3)
Horizontal Filter

                     Horizontal filter
                          (44, 288)
      (352, 288)
                          Hfilter
                                             (132, 288)
                   (11)               (3)


            1                                    1
       F=                                   F=
            0                                    0
            0                                    0
       o=                               o=
            0                                    0
            8   0                                3   0
       P=                                   P=
            0   1                                0   1
Horizontal Filter: Input Tiler

                  1
         F=                  spattern = 11
                  0
                  0                      32
         o=                   sarray =
                  0                      18
                  8 0                     4
         P=              srepetition =
                  0 1                    18
         17




          0
              0               0          31
                        r=    0
Horizontal Filter: Input Tiler

                  1
         F=                  spattern = 11
                  0
                  0                      32
         o=                   sarray =
                  0                      18
                  8 0                     4
         P=              srepetition =
                  0 1                    18
         17




          0
              0               1          31
                        r=    0
Horizontal Filter: Input Tiler

                  1
         F=                  spattern = 11
                  0
                  0                      32
         o=                   sarray =
                  0                      18
                  8 0                     4
         P=              srepetition =
                  0 1                    18
         17




          0
              0               2          31
                        r=    5
Horizontal Filter

                     Horizontal filter
                          (44, 288)
      (352, 288)
                          Hfilter
                                             (132, 288)
                   (11)               (3)


            1                                    1
       F=                                   F=
            0                                    0
            0                                    0
       o=                               o=
            0                                    0
            8   0                                3   0
       P=                                   P=
            0   1                                0   1
Horizontal Filter: Output Tiler

   17
                               1
                          F=           spattern = 3
                               0
                               0                     12
                          o=             sarray =
                               0                     18
    0                          3 0                    4
        0            11   P=         srepetition =
            r=   0             0 1                   18
                 0
Horizontal Filter: Output Tiler

   17
                               1
                          F=           spattern = 3
                               0
                               0                     12
                          o=             sarray =
                               0                     18
    0                          3 0                    4
        0            11   P=         srepetition =
            r=   1             0 1                   18
                 0
Horizontal Filter: Output Tiler

   17
                               1
                          F=           spattern = 3
                               0
                               0                     12
                          o=             sarray =
                               0                     18
    0                          3 0                    4
        0            11   P=         srepetition =
            r=   2             0 1                   18
                 5
Vertical Filter

                          Vertical filter
                              (132, 32)
      (132, 288)                                  (132, 128)
                             Vfilter
                   (14)                    (4)


            0                                         0
       F=                                        F=
            1                                         1
            0                                         0
       o=                                    o=
            0                                         0
            1   0                                     1   0
       P=                                        P=
            0   9                                     0   4
Vertical Filter: Input Tiler


   17
                               0
                          F=           spattern = 14
                               1
                               0                     12
                          o=             sarray =
                               0                     18
    0                          1 0                   12
        0            11   P=         srepetition =
            r=   0             0 9                    2
                 0
Vertical Filter: Input Tiler


   17
                               0
                          F=           spattern = 14
                               1
                               0                     12
                          o=             sarray =
                               0                     18
    0                          1 0                   12
        0            11   P=         srepetition =
            r=   1             0 9                    2
                 0
Vertical Filter: Input Tiler


   17
                               0
                          F=           spattern = 14
                               1
                               0                     12
                          o=             sarray =
                               0                     18
    0                          1 0                   12
        0            11   P=         srepetition =
            r=   5             0 9                    2
                 1
RSM Semantics Summary

 DSL for systematic signal processing

    First order pure functional language
    Multidimensional toroidal arrays
    Pattern based data acess

 Data parallel repetition

         ∀r, 0 ≤ r  srepetition
         ∀i, 0 ≤ i  spattern
                                 r
         t(r, i) = o + (P F) ·     mod sarray
                                 i
Overview
Software and hardware co-model
                for
 data-intensive embedded system
            co-design
MARTE packages used in
Gaspard2
   Foundations
       Non Functional Properties
       Generic Component Model
           Flow ports
       Allocation
   Detailed Resource Modeling
       Hardware Resource Modeling::HwLogical
   Repetitive Structure Modeling
Gaspard2

 UML2.0 MM

 Marte MM

 Gaspard2 MM
Co-model for co-design

 Marte and Gaspard Metamodels
     High level data parallel constructions
       Hierarchical

       Repetitive

       Application, architecture and association models

     Iterative dependency expression
     Data flow and control flow mixing
     Gaspard2 UML profile available
         With MagicDraw and Papyrus
Optimization and compilation techniques

•Data parallel code transformations
•Mapping and multi-objective hierarchical scheduling
heuristics
•Compilation from high-level models down to simulation,
execution and synthesis
•Eclipse integration
•Model transformation techniques
   •ModTransf, Momote, Mocode, QVTO
HP-SoC simulation and synthesis

•Simulation for architecture/application/association exploration
    •SystemC simulation framework at PVT and CABA level
    •Performance and power consumption evaluation
•Synthesis for large and reconfigurable FPGA
    •VHDL code generation
•Network on Chip and SIMD design for MppSoC
    •MppSoC implementation in FPGA (16-64 PE “à la Maspar”)
•OpenMP execution on SMP
•Synchronous code generation
Downscaler application




                   Horizontal filter:
                         8/3


CIF video frame:
   352x288
                                        Vertical filter:
                                             9/4

                                                           Resized video
                                                               frame
CIF Frame structure
            352                      176                     176

            GOB1                     GOB1                    GOB1
                                     GOB2                    GOB2
            GOB2
                           144       GOB3          144       GOB3
            GOB3
                       +             GOB4      +             GOB4
            GOB4                    GOBn/2                  GOBn/2
288
            GOB5
                                 U component             V component
            GOB6
            GOB.
            GOB.
            GOBn

         Y component
Example: Downscaler
                               data
                          FG          HF             VF        FC




                                       Hard Accto 16 MIPS
                                             4          MIPS
                           Sensor
                                              processors
                                                      processor



                                             Bus
                                           Crossbar
                                                          Task allocation
                                           Logical        Data allocation
                                           Memory

CIF: 352x288


• First solution: Heterogeneous mono-processor architecture
• Second solution: Multi-processor architecture
Downscaler: main application
Downscaler: main application
• Horizontal filter task
Downscaler: main application

• Vertical filter task
Downscaler: main application

• Downscaler task
Downscaler: main application

• Main application
Downscaler: main architecture

• Hardware elementary components
Example of MPSoC architecture

   Shared Memory MPSoC architecture
Downscaler mapping
Downscaler: Deployment

   Hardware and software deployment
       Intellectual Property block (IP) reuse from libraries
       A deployment extension is introduced
        The most important concepts
         VirtualIP
         SoftwareIP, HardwareIP
          implements
          CodeFile
          Specialization
          Characteristic
          PowerModel
GaspardLib

           GaspardLib
   Software              Hardware
 FFT, DCT,           Processor,
 Convolution,        cache, DMAC
 FIR                 crossbar

                Energy
            Processor,
            cache, DMAC
            crossbar
Downscaler: Deployment
Downscaler: Deployment
Papyrus modeling editor

   Open source
   UML2 specification compliant
   Afull Eclipse project such as EMF, etc.
   Support all UML2 diagrams and profile
       MARTE, SysML, CCM
   OCL verification
   Java and C++ code generation
   Developed and supported by CEA and LIFL (DaRT)
   www.papyrusuml.org
Technology bases of Gaspard2

   Model driven engineering
       metamodels
       model transformations
   Eclipse platform
       metamodeling language: Ecore
       integration framework based on plugins
       transformation chains
Gaspard2 model transformations
Polyhedron model

   Information given by the distribution in the high MPSoC model
   A polyhedron is generated for each task repetition
   Parameterized by a processor number (p0) and the task indexes
Loop model

   Scanning the polyhedron
   Corresponding loop generation
   Task repetition space
   Using the CLoog tool
Pattern accurate (PA) TLM level
                                                        Allocation
                                       Processor 1
          Instruction memory                                             TA
                                         Task A
            Not used
                                         Task B                          TB


                                      Processor 0
                               NoC
                                     Task C   Task D                TC        TD

            Data memory                                Allocation
                                         Task E                          TE
          Array0   Array1

                                                         Application execution graph


   Fast simulation
   Data transfer observation
   Hardware/Software simulation before the processor
    component is available
Gaspard2 Démo…
                     UML            Gaspard       Polyhedron




                          Loop                 SystemC PA




 https://gforge.inria.fr/projects/gaspard2/
Overview

More Related Content

PDF
Attaa maamalu-01-02
PDF
Waseda.L#3/@tkf
 
PDF
التأصيل الطبي للضرورة الطبية
PDF
Bhaarya akkato
PDF
Bs 01
PDF
Do an say ca phe thung quay
PDF
BAMBOA Master catalogue
PDF
Edital do concurso da prefeitura de forquilha ce
Attaa maamalu-01-02
Waseda.L#3/@tkf
 
التأصيل الطبي للضرورة الطبية
Bhaarya akkato
Bs 01
Do an say ca phe thung quay
BAMBOA Master catalogue
Edital do concurso da prefeitura de forquilha ce

What's hot (19)

PDF
[50th KUG PP] 내 손에 꿈을 담다(명동)
PDF
Etransformation de l'éducation avant le bac
PDF
معانی کلمات قرآن کریم بصورت سؤال و جواب
PDF
Scientific Article Recommendations with Mahout
PDF
Công nghệ sấy đường thùng quay
PDF
Technorati Blogging Stats Preview
PDF
Central Stats
PDF
Bhart rahari 01-06
PDF
ข้อสอบMetrix
PDF
Olympus E P1
PDF
Webcast4 t06port2
PDF
12052455271 installation et_configuration_du_pbx_asterisk
PDF
ปัจจัยที่ทำให้ระบบโรงเรียนประสบความสำเร็จ
PDF
Circuit breakers schneider electric
PDF
Google Talk: DOs and DON'Ts of Mobile Strategy
PDF
Futsalf
PDF
BICBANCO - Overview 2nd Quarter 2007
PDF
La ideologia anarquista angel cappelletti
PDF
Slaying the Dragon: Implementing a Programming Language in Ruby
[50th KUG PP] 내 손에 꿈을 담다(명동)
Etransformation de l'éducation avant le bac
معانی کلمات قرآن کریم بصورت سؤال و جواب
Scientific Article Recommendations with Mahout
Công nghệ sấy đường thùng quay
Technorati Blogging Stats Preview
Central Stats
Bhart rahari 01-06
ข้อสอบMetrix
Olympus E P1
Webcast4 t06port2
12052455271 installation et_configuration_du_pbx_asterisk
ปัจจัยที่ทำให้ระบบโรงเรียนประสบความสำเร็จ
Circuit breakers schneider electric
Google Talk: DOs and DON'Ts of Mobile Strategy
Futsalf
BICBANCO - Overview 2nd Quarter 2007
La ideologia anarquista angel cappelletti
Slaying the Dragon: Implementing a Programming Language in Ruby
Ad

Similar to Gaspard tutorial (20)

PDF
Presentazione comunità finanziaria 10nov11
PDF
Sur Int Presentacion Mercados Secundariosv1
PDF
Innotech - Get Me a Mobile Strategy or You’re Fired!
PDF
Ariu - Workshop on Applications of Pattern Analysis 2010 - Poster
PDF
First Discourse
PDF
Maunaloa House brochure
PDF
Mat fin
PDF
referente
PDF
Little Creek Residence brochure
PDF
Storybird resource part_2
KEY
Keynote - SBI
PDF
Margie Dana's New Rules for Print Buying
PDF
Normativa riferimento 81 08
PDF
Matemática - Actividades Nivel Inicial - Juegos
PDF
Get Me a Mobile Strategy or You're FIRED!
PDF
Test management and automation with Selenium, Confluence, JIRA using zAgile W...
PDF
Get me a mobile strategy or you're fired web 2
KEY
Maria Schwarz: Hvordan skaber vi digital deltagelse
PDF
Mobile is the future: Do you have your strategy?
Presentazione comunità finanziaria 10nov11
Sur Int Presentacion Mercados Secundariosv1
Innotech - Get Me a Mobile Strategy or You’re Fired!
Ariu - Workshop on Applications of Pattern Analysis 2010 - Poster
First Discourse
Maunaloa House brochure
Mat fin
referente
Little Creek Residence brochure
Storybird resource part_2
Keynote - SBI
Margie Dana's New Rules for Print Buying
Normativa riferimento 81 08
Matemática - Actividades Nivel Inicial - Juegos
Get Me a Mobile Strategy or You're FIRED!
Test management and automation with Selenium, Confluence, JIRA using zAgile W...
Get me a mobile strategy or you're fired web 2
Maria Schwarz: Hvordan skaber vi digital deltagelse
Mobile is the future: Do you have your strategy?
Ad

Recently uploaded (20)

DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PPT
Teaching material agriculture food technology
PPTX
Cloud computing and distributed systems.
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Modernizing your data center with Dell and AMD
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Machine learning based COVID-19 study performance prediction
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
A Presentation on Artificial Intelligence
PDF
KodekX | Application Modernization Development
PDF
Electronic commerce courselecture one. Pdf
PDF
Empathic Computing: Creating Shared Understanding
PDF
NewMind AI Weekly Chronicles - August'25 Week I
The AUB Centre for AI in Media Proposal.docx
NewMind AI Monthly Chronicles - July 2025
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Teaching material agriculture food technology
Cloud computing and distributed systems.
Review of recent advances in non-invasive hemoglobin estimation
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Advanced methodologies resolving dimensionality complications for autism neur...
Modernizing your data center with Dell and AMD
Understanding_Digital_Forensics_Presentation.pptx
Machine learning based COVID-19 study performance prediction
Dropbox Q2 2025 Financial Results & Investor Presentation
Diabetes mellitus diagnosis method based random forest with bat algorithm
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
A Presentation on Artificial Intelligence
KodekX | Application Modernization Development
Electronic commerce courselecture one. Pdf
Empathic Computing: Creating Shared Understanding
NewMind AI Weekly Chronicles - August'25 Week I

Gaspard tutorial

  • 2. Gaspard2 Tutorial Rabie Ben Atitalah, Jean-Luc Dekeyser and Pierre Boulet 24 September 2008
  • 5. High Performance Application Development: MPSoC Verification Simulation Synthesis Multiple languages Multiple abst. levels
  • 6. Application Domain of Gaspard2: intensive signal processing "Gaspard" stands for Graphical array specification for parallel and distributed computing
  • 7. Hypotheses component-based massive parallelism regular applications and hardware no complex flow of control static scheduling, no RTOS
  • 8. MARTE packages used in Gaspard2 Foundations Non Functional Properties Generic Component Model Flow ports Allocation Detailed Resource Modeling Hardware Resource Modeling::HwLogical Repetitive Structure Modeling
  • 9. ! #$%'$()*#+*,+- $./$0,12345$)1$+565410$75*4893:5$*#+$;:5++5+$(=()5:(
  • 10. ! !! ! # $ % %''( ) !! * ) ++ C!C D))0-EEFFFGH*,,1448,5(5*,HDG1,IE AB , J;$/KL9$M$H1#)*H)-$(5*()35#GI5,*,+NH5*G2,O PQ*(H*,$;(03#1R*S$LT*()35#$'T,*,+S$L*21Q*#$9*D*$*#+$V,T+T,3H$9D1:*(G$$ KW7K$MH1#)*H)-$715,)GX5Y(3:1#5N(10D3*G3#,3*G2,O A JD*,45($#+,TS$715,)$+5$L3:1#5S$Z35,,5$[1Q45) 9D*45($979$MH1#)*H)-$/*Q,5#)G,31QN)D*45(I,1Q0GH1:O @ *+5453#5$V*QI],5S$/*Q,5#)$731QS$L5*()35#$X5:*)D35Q ?
  • 11. - ! . $ , . , V1,$X1:*3#$`35F$45654 C!C AB V1,$./$Z,12345$`35F$/5654 A V1,$.(5,$1+54$`35F$/5654 @ ? _
  • 12. ! / K#),1+QH)31#$)1$XX$21,$79E;$(=()5:($}$79;$3#$*$#Q)(D544 % W1#82Q#H)31#*4$0,105,)35($:1+543#I %Q)43#5$12$)D5$`*4Q5$L05H323H*)31#$/*#IQ*I5$M`L/O$ 3 9D5$)3:3#I$:1+54 C!C 4 1 AB 5 Z4*)21,:$:1+543#I$ 6 7505)3)365$(),QH)Q,5$:1+543#I ( A 1+548*(5+$*#*4=(3($21,$79E;$ 79;$*#+$X/$ @ 7 J1#H4Q(31#( ? ga
  • 13. ) 8 ! ) W55+$21,$:*#*I5*45$*#+$,5Q(*45$035H5($12$(12)F*,5 w5=$5*:045(-$/3ID)F53ID)8JJS$LJS$Q)1(*, C!C ) ! 1! AB ;#)3)35($Q#+5,$*#*4=(3(E+5(3I#$,1n5#$+1F#$3#)1$*$(5,35($12$H1:01#5#)( 0043H*45$*)$+3225,5#)$()*I5($12$)D5$0,1H5(( X3225,5#)$n3#+-$*H)365$6(G$0*((365$M5GIGS$./$*H)365$H4*((5(O A ;*:045($12$,54*)5+$4*#IQ*I5(-$L=(/S$X/ 9D5,5$3($*$#55+$)1$0,163+5$:1+543#I$H1#(),QH)($)1$(Q001,)$)D5(5$H1#H50)($*)$ @ +3225,5#)$45654($12$*(),*H)31# ? gb
  • 14. . ? +: ! ? + 9D5$n5,#54$12$)D5$4*#IQ*I5$+523#5($ $ *#+$ ! $+523#5($ $*#+$ C!C $*#+$0,163+5$)D5$*343)=$)1$ +5(H,35$*$ $*($*#$*((5:4=$12$0*,)( AB # *#+$ $ % % $+523#5$ )D5$#1)31#$12$H1:01#5#)$,5*43R*)31#$*#+$ *++($0*Hn*I3#I$H*0*343)35( A @ K#$*#=$H*(5S$#1$(Q001,)$21,$241F81,35#)5+$H1::Q#3H*)31#( ? gc
  • 15. ) ! 0 , 8 L=(/S$L03,3)S$X/S$/3ID)F53ID)8JJS$;L98X/S$Q)1(*, # C!C ? + $ AB ! + )1:3H$*#+$#1#8*)1:3H$241F$01,)( V41F$0,105,)35($*#+$241F$(05H323H*)31#( A @ , + 8)) $ #+ ! 8 #+%$ ! @ ? gd
  • 16. ? @ A AB C!C ) gf !
  • 17. ! )1:3H$241F$01,)$)=05+$=$*$ J4*((3235, C!C AB A J1:045$241F$01,)$)=05+$=$*$ @ L)*#+*,+$./$01,)$)=05+$=$*$H4*(($)D*)$ 241F$(05H323H*)31# Q(5($)D5$/1H*)31#HH5(($3#)5,2*H5 ? gg
  • 18. ! %Q)I13#I$*)1:3H$ 241F$01,) K#H1:3#I$*)1:3H$ 241F$01,) C!C AB ./$+545I*)31#$H1##5H)1,$Q(5+$ A F3)D$*$#1#8*)1:3H$241F$01,) @ ./$+545I*)31#$H1##5H)1,$Q(5+$ F3)D$*#$*)1:3H$241F$01,) ? hii
  • 19. ! / K#),1+QH)31#$)1$XX$21,$79E;$(=()5:($}$79;$3#$*$#Q)(D544 % W1#82Q#H)31#*4$0,105,)35($:1+543#I %Q)43#5$12$)D5$`*4Q5$L05H323H*)31#$/*#IQ*I5$M`L/O$ 3 9D5$)3:3#I$:1+54 C!C 4 $H1:01#5#)$:1+54$21,$79E; AB 5 $ 6 7505)3)365$(),QH)Q,5$:1+543#I ( A 1+548*(5+$*#*4=(3($21,$79E;$ 79;$*#+$X/$ @ 7 J1#H4Q(31#( ? hig
  • 20. 2 ! @ 441H*)5$*#$*0043H*)31#$545:5#)$)1$*#$0,1H5((3#I$04*)21,:$ 545:5#) 7523#5$*$I5#5,*4$545:5#)$3#)1$1#5$1,$(565,*4$:1,5$(05H323H$ 545:5#)($ C!C AB 0 ! + J*#$1#4=$*441H*)5$*0043H*)31#$)1$55HQ)31#$04*)21,: J*#$*))*HD$WVZ$H1#(),*3#)($)1$)D5$*441H*)31# A @ ? hhb
  • 21. ! 0 xD*)$H*#$5$*441H*)5+S$ )D5$41I3H*4$635F- $(),QH)Q,5$1,$5D*631, xD*)$H*#$(5,65$*($*$ )*,I5)$12$*#$*441H*)31#S$ )D5$0D=(3H*4$635F- C!C $*$,5(1Q,H5$1,$*$ (5,63H5G AB # A @ ? hhc
  • 22. - ! 79; P7 r 3#H4Q+5 s ! - , -. r 5)5#+ s r 3#H4Q+5 s C!C ! ; -. ! , AB -. r 3#H4Q+5 s r 3#H4Q+5 s # -. A ; @ _$Q(5$H*(5($v$_$45654($12$+5)*34( ? had
  • 23. - 88 - , ! - : P3ID$45654$12$ $635F$12$)D5$Px$04*)21,: x3)D$n5=$0,105,)35(- C!C ;GIGS$3#(),QH)31#$(5)$*#+$:5:1,=$(3R5G $21,:*4$635F$12$Q(Q*4$ $ AB P3ID$45654$+5(H,30)31#$12$53()3#I$*#+$)*,I5)5+$Px$04*)21,: V3,()$()50($12$+5(3I#$12$#5F$Px$*,HD3)5H)Q,5 A @ L=()5:$*,HD3)5H)( @ L12)F*,5$+5654105,( ? haf
  • 24. - 88 ! ; ! - : L05H3*43R5+$Px$ $:1+54 W*)Q,5$12$+5)*34($+505#+($1#$)D5$ , ;h$-$*Q)1#1:=$*#*4=(3($,5mQ3,5($01F5,$H1#(Q:0)31#$:1+543#I C!C ;$-$xJ;9$*#*4=(3($#55+$+5)*34($1#$0,1H5((1,$(055+S$H1::Q#3H*)31#$ *#+F3+)D$*#+$:5:1,=$1,I*#3R*)31#o AB @ ; A @ ? hag
  • 25. - 88 # ! - : P7$3($*$+5)*345+$Px$*,HD3)5H)Q,5$+5(3I#$4*#IQ*I5 /5654$12$+5)*34($+505#+($1#$)D5$+5(H,30)31#$ ;h-$VQ#H)31#*4$(3:Q4*)1,$12$*$0,1H5((1,$1#4=$,5mQ3,5($3)($3#(),QH)31#$(5)$2*:34= C!C ;-$Z5,21,:*#H5$(3:Q4*)31#$#55+$*$23#5$+5(H,30)31#$12$0,1H5((1,($:3H,18 *,HD3)5H)Q,5G AB 1+548*(5+$+*)*(D55)($+5(H,30)31# L3:Q4*)31# A I5#5,*)31#$12$H1#23IQ,*)31#($21,$(3:Q4*)31#$)114( @ @ Px$+5(3I#5,( ? hbi
  • 26. - ! - LQHH5((365$ $4*=5,( $I5#5,3H$H1#H50)($M'7843n5O ,) % - ,)' *- ,) . $(05H323H$*#+$+5)*345+$,5(1Q,H5( C!C ,) - ,)# - ,) - ,)''/- ,)# - ,)# % - ,) ' . AB 44$P7$H1#H50)($*,5$,) 0 1 iGGh 0,163+5+L5,63H5( F G hGGy F G iGGy - ,5mQ3,5+L5,63H5( - ! , A 1F#5+75(1Q,H5( iGGy 9F1 635F( + 1 @ ? hbh
  • 27. - 88 + ! , 2Q#H)31#*4 @ = G$$$$$$PFJ1:0Q)3#I$$$$$$ G$$$$$ G$$$$$$PFL)1,*I5$$$$$$ G$$$$$ C!C r PFZ,1H5((1, sS$r PFZ/X sS r PFJ*HD5 sS$r PF7 sS$ r PF. sS r PFLKJ s r PF7% sS$r PFX,365 s r PFX s AB G$$$$$$ PFX563H5$$$$$$ G$$$$$ G$$$$$$PF93:3#I$$$$$$ G$$$$$ G$$$$$$ PFJ1::Q#3H*)31#$$$$$$ G$$$$$ A r PFX563H5 sS r PFKE% s r PF[,3+I5 s r PFJ41Hn sS r PFLQ001,) s r PF93:5, s r PF,3)5, s @ r PF5+3* sS$r PF[Q( s ? hb
  • 28. - 88 ! , 0D=(3H*4 @ PF/*=1Q) V1,:(-$JD30S$J*,+S$JD*##54o X3:5#(31#(S$*,5*$*#+$*,,*#I5:5#)$:5HD*#3(:$F3)D3#$,5H)343#5*,$I,3+( C!C ;#63,1#:5#)*4$H1#+3)31#(-$5GIG$)5:05,*)Q,5S$63,*)31#S$DQ:3+3)=o PFZ1F5, AB Z1F5,$H1#(Q:0)31#$*#+$D5*)$+3((30*)31# G$$$$$$ PF/*=1Q)$$$$$$ G$$$$$ G$$$$$$PFZ1F5,$$$$$$ G$$$$$ A r PFZ1F5,LQ004= s r PFJ1143#ILQ004=s r PFJ1:01#5#) s n3#+$-$zJ*,+S$JD*##54S$JD30S$Z1,){ @ ? hb_
  • 29. - , , ! F G F + G == ==+ ==@ 9 K r 3:01,) s r 3:01,) s F G - F G F G - + - C!C - - AB - ! - ) - + - A - ) - ! - @ - - # , ? hba
  • 30. - 88 - ! F G F + G == ==+ ==@ 9 K r 3:01,) s r 3:01,) s F G - F G F G - + - C!C - - AB - ! - ) - + - A - ) - ! - @ - - # , ? hbb
  • 31. - 88 - ! - F G F G == ==! - r +*)*9=05 s F G - :5:1,=L3R5$-$WVZYX*)*L3R5 #1)*)31#$-$WVZYL),3#I *++,5((L3R5$-$WVZYX*)*L3R5 +5(H,30)31#$-$WVZYL),3#I )3:3#I($-$93:3#I$tyu 6*4Q5$-$WVZYXQ,*)31# C!C AB F G F G F G F G - ) - - - # , 45654$-$WVZYW*)Q,*4$v$h 1,I*#3R*)31#$-$5:1,=%,I*#3R*)31# )=05$-$7%Y9=05 (5H)1,L3R5$-$WVZYX*)*L3R5 )=05$-$J*HD59=05 3(L=#HD,1#1Q($-$WVZY[1145*# 1,I*#3R*)31#$-$5:1,=%,I*#3R*)31# (),QH)Q,5$-$J*HD5L),QH)Q,5 3(L)*)3H$ -WVZY[1145*# ,504YZ143H=$-$7504YZ143H= 3(W1#`14*)345$ -$WVZY[1145*# iGGh F,3)5Z143H=$-$x,3)5Z143H= ,504YZ143H=$ -$7504YZ143H= Q225, F,3)5Z143H=$-$x,3)5Z143H= z(Q(5)($1F#5+Px{ A r 5#Q:5,*)31# s r 5#Q:5,*)31# s r 5#Q:5,*)31# s r +*)*9=05 s r +*)*9=05 s r 5#Q:5,*)31# s K . ) ) ! ; K /7. x,3)5[*Hn X*)* #L5)($-$WVZYW*)Q,*4 #71F($-$WVZYW*)Q,*4 *(n5+7% WV. x,3)59D,1QID K#(),QH)31# 41HL3R5$-$WVZYX*)*L3R5 #J14Q:#($-$WVZYW*)Q,*4 ;Z7% VKV% %)D5, .#3235+ *((1H3*)363)=$ -$WVZYW*)Q,*4 #[*#n($-$WVZYW*)Q,*4 %9ZY;Z7% 7*#+1: .#+523#5+ %)D5, F1,+L3R5$-$WVZYX*)*L3R5 ;;Z7% @ %)D5, .#+523#5+ V4*(D .#+523#5+ %)D5, .#+523#5+ ? hbc
  • 32. - 88 - 88 - ) ! F G PFJ*HD5$3($*$0,1H5((3#I$:5:1,=$FD5,5$ - ) 2,5mQ5#)4=$Q(5+$+*)*$H*#$5$()1,5+$21,$,*03+$ *HH5(( 45654$-$WVZYW*)Q,*4$v$h )=05$-$J*HD59=05 (),QH)Q,5$-$J*HD5L),QH)Q,5 ,504YZ143H=$-$7504YZ143H= X5)*345+$+5(H,30)31#$12$)D5$PFJ*HD5$3($ C!C F,3)5Z143H=$-$x,3)5Z143H= #5H5((*,=$21,$05,21,:*#H5$*#*4=(3($*#+$ (3:Q4*)31#$ AB r 5#Q:5,*)31# s r 5#Q:5,*)31# s r 5#Q:5,*)31# s r +*)*9=05 s K . ) ) ! /7. x,3)5[*Hn X*)* #L5)($-$WVZYW*)Q,*4 A WV. x,3)59D,1QID K#(),QH)31# 41HL3R5$ -$WVZYX*)*L3R5 VKV% %)D5, .#3235+ *((1H3*)363)=$ -$WVZYW*)Q,*4 7*#+1: .#+523#5+ %)D5, %)D5, .#+523#5+ .#+523#5+ @ ? hbd
  • 33. - 88 - 88 - ) ! F G - ) 45654$-$WVZYW*)Q,*4$v$h )=05$-$J*HD59=05 L05H3235($)D5$H*HD5$45654G (),QH)Q,5$-$J*HD5L),QH)Q,5 ,504YZ143H=$-$7504YZ143H= X52*Q4)$6*4Q5$3($h C!C F,3)5Z143H=$-$x,3)5Z143H= AB r 5#Q:5,*)31# s r 5#Q:5,*)31# s r 5#Q:5,*)31# s r +*)*9=05 s K . ) ) ! /7. x,3)5[*Hn X*)* #L5)($-$WVZYW*)Q,*4 A WV. x,3)59D,1QID K#(),QH)31# 41HL3R5$-$WVZYX*)*L3R5 VKV% %)D5, .#3235+ *((1H3*)363)=$ -$WVZYW*)Q,*4 7*#+1: .#+523#5+ %)D5, %)D5, .#+523#5+ .#+523#5+ @ ? hbf
  • 34. - 88 - 88 - ) ! F G L05H3235($)D5$PFJ*HD5$(),QH)Q,5 - ) PFJ*HD5$3($1,I*#3R5+$Q#+5,$(5)($12$41Hn(G ((1H3*)363)=$3($)D5$#Q:5,$12$41Hn($F3)D3#$5*HD$(5)G 45654$-$WVZYW*)Q,*4$v$h K2$*((1H3*)363)=$v$hS$H*HD5$3($+3,5H)$:*005+ )=05$-$J*HD59=05 (),QH)Q,5$-$J*HD5L),QH)Q,5 K2$#L5)($v$hS$H*HD5$3($2Q44=$*((1H3*)365G ,504YZ143H=$-$7504YZ143H= %J/$,Q45 C!C F,3)5Z143H=$-$x,3)5Z143H= *! + 2 ! !+ * AB r 5#Q:5,*)31# s r 5#Q:5,*)31# s r 5#Q:5,*)31# s r +*)*9=05 s K . ) ) ! /7. x,3)5[*Hn X*)* #L5)($-$WVZYW*)Q,*4 A WV. x,3)59D,1QID K#(),QH)31# 41HL3R5$ -$WVZYX*)*L3R5 VKV% %)D5, .#3235+ *((1H3*)363)=$ -$WVZYW*)Q,*4 7*#+1: .#+523#5+ %)D5, %)D5, .#+523#5+ .#+523#5+ @ ? hbg
  • 35. - 88 - 88 - ) ! F G L05H3235($)D5$H*HD5$F,3)5$0143H=$ - ) x,3)5[*Hn-$J*HD5$F,3)5$3($#1)$3::5+3*)54=$ ,5245H)5+$)1$)D5$*Hn3#I$:5:1,=G 45654$-$WVZYW*)Q,*4$v$h )=05$-$J*HD59=05 x,3)59D,1QID-$x,3)5($*,5$3::5+3*)54=$ (),QH)Q,5$-$J*HD5L),QH)Q,5 :3,,1,5+G ,504YZ143H=$-$7504YZ143H= C!C F,3)5Z143H=$-$x,3)5Z143H= AB r 5#Q:5,*)31# s r 5#Q:5,*)31# s r 5#Q:5,*)31# s r +*)*9=05 s K . ) ) ! /7. x,3)5[*Hn X*)* #L5)($-$WVZYW*)Q,*4 A WV. x,3)59D,1QID K#(),QH)31# 41HL3R5$ -$WVZYX*)*L3R5 VKV% %)D5, .#3235+ *((1H3*)363)=$ -$WVZYW*)Q,*4 7*#+1: .#+523#5+ %)D5, %)D5, .#+523#5+ .#+523#5+ @ ? hci
  • 36. ! / K#),1+QH)31#$)1$XX$21,$79E;$(=()5:($}$79;$3#$*$#Q)(D544 % W1#82Q#H)31#*4$0,105,)35($:1+543#I %Q)43#5$12$)D5$`*4Q5$L05H323H*)31#$/*#IQ*I5$M`L/O$ 3 9D5$)3:3#I$:1+54 C!C 4 $H1:01#5#)$:1+54$21,$79E; AB 5 Z4*)21,:$:1+543#I$ 6 , ( A 1+548*(5+$*#*4=(3($21,$79E;$ 79;$*#+$X/$ @ 7 J1#H4Q(31#( ? hd_
  • 37. , ! ! , % W5()5+$4110( Q4)30,1H5((1,$L=()5:( C!C AB 0043H*)31# P*,+F*,5$04*)21,: ((1H3*)31# A @ W5F$#1)*)31#$E$()5,51)=05( ? hdc
  • 38. ) , ! ! J1#H50)( ! $M5)5#(31#$12$ *O 91$:1+54$:Q4)3+3:5#(31#*4$*,,*=( + $M5)5#(31#$12$ $*#+$ O 91$:1+54$)D5$)10141I=$12$)D5$43#n($5)F55#$:Q4)3+3:5#(31#*4$*,,*=( Z*))5,#8*(5+$,5IQ4*,$)10141I35( C!C AB @ = 8 75IQ4*,$(0*H3#I$12$013#)($3#(3+5$*$ A )345 75IQ4*,$(0*H3#I$12$)345( K#D5,3)($2,1:$)D5$,,*=8%/$4*#IQ*I5 @ ? hdd
  • 39. ! ! 9 F G ! 7523#5:5#)$12$)D5$:Q4)3043H3)=$ #1)*)31# `5H)1,$12$.#43:3)5+W*)Q,*4( F G C!C ? +== hc$‘$zaSa{ AB y$‘$zbhShfSy{ F G ! F G F G A (D*05$-$LD*05L05H323H*)31#$thu zH1445H)31#)),3$v$(3R5{ ! ! (3R5$-$.#43:3)5+W*)Q,*4$tiGGyu @ ? hdf
  • 40. + ! F G ! F G F G ? +==) ? +==) F G # + F G C!C * ! AB F G 0 ,505)3)31#L0*H5X505#+5#H5$-$K#)5I5,`5H)1,$thu 3(1+Q41$-$[1145*#$v$2*4(5 A F G F G 1,3I3#$-$K#)5I5,`5H)1, @ 0*))5,#LD*05$-$LD*05L05H323H*)31#$thu 0*63#I$-$K#)5I5,*),3 ,505)3)31#L0*H5$-$LD*05L05H323H*)31#$thu 23))3#I$-$K#)5I5,*),3 )345,$-$9345,L05H323H*)31# ? hdg
  • 41. - !0 # ! r$PFKL$s$z)=05$v$LKX{ hc$0,1H5((1,( !0 #? r$3#)5,7505)3)31#$s z,505)3)31#L0*H5X505#+5#H5$vzhSi{S 91,13+*4$a’a$I,3+ :1+Q41$v$),Q5{ [3+3,5H)31#*4$H1##5H)31#( # W1,)D8L1Q)D C!C ;*()8x5() AB r$PFJ1:0Q)3#I75(1Q,H5$s 0$-$;45:5#)*,=Z,1H$tzaSa{u 5 F 0i 0h 0 0_ A ( 0a 0b 0c 0d r$3#)5,7505)3)31#$s z,505)3)31#L0*H5X505#+5#H5$vziSh{S 0f 0g 0hi 0hh :1+Q41v),Q5{ @ 0h 0h_ 0ha 0hb ? hfi
  • 42. ! F G 9 ,,*=$(D*05 1,3I3#$-$K#)5I5,`5H)1, Z*))5,#$(D*05 0*63#I$-$K#)5I5,*),3 7505)3)31#$(0*H5$(D*05 23))3#I$-$K#)5I5,*),3 )345,$-$9345,L05H323H*)31# C!C 3 %-$,5IQ4*,$(0*H3#I$12$)D5$013#)($12$ F G )D5$)345( AB F G K#+5$ ! LH*##3#I$)D5$0*))5,# 1,3I3#$-$K#)5I5,`5H)1, %-$,5IQ4*,$(0*H3#I$12$)D5$)345( 0*63#I$-$K#)5I5,*),3$thu A 23))3#I$-$K#)5I5,*),3 K#+5$ LH*##3#I$)D5$,505)3)31#$(0*H5 @ 1,3I3#M0*63#I$23))3#IOG M$O $*,,*=G(D*05 ? hfh
  • 43. 0 B/1%C ! J14Q:#$65H)1,( [*(3($12$)D5$)345 Z*))5,#$(D*05 [1Q#+($12$)D5$23))3#I , C!C J14Q:#$65H)1,( AB [*(3($12$)D5$04*H5:5#)$12$ )D5$)345( 7505)3)31#$(0*H5 [1Q#+($12$)D5$0*63#I A %,3I3# J11,+3#*)5($12$)D5$ @ ,525,5#H5$013#)$12$)D5$ ,525,5#H5$)345 ? hf
  • 44. 0 B%1%C ! J14Q:#$65H)1,( [*(3($12$)D5$)345 Z*))5,#$(D*05 [1Q#+($12$)D5$23))3#I , C!C J14Q:#$65H)1,( AB [*(3($12$)D5$04*H5:5#)$12$ )D5$)345( 7505)3)31#$(0*H5 [1Q#+($12$)D5$0*63#I A %,3I3# J11,+3#*)5($12$)D5$ @ ,525,5#H5$013#)$12$)D5$ ,525,5#H5$)345 ? hf_
  • 45. ! ! r$)345,$s z1,3I3#vziSi{S 23))3#IvzziSh{{S C!C 0*63#IvzzhSi{SziS_{{ tzhf{u tzbhShfSy{u 2$-$VV9$tzbhSy{u tzbhSy{u tzhf{u r$)345,$s AB z1,3I3#vziSiSi{S 23))3#IvzziShSi{{S 0*63#IvzzhSiSi{SziSiSh{{{ ! 5/% A LD*05$12$)D5$3#0Q)$+*)*$v$bh’“ @ V1,$5*HD$D=+,10D1#5 L43+3#I$F3#+1F$12$hf$(*:045($565,=$_$)3:5$()50( ? hfa
  • 46. # ! F G ! ! F G == C!C 9343#I$1)D$5#+( AB F G 9F1$)345,( # x3)D$)D5$(*:5$)345( 0*))5,#LD*05$-$LD*05L05H323H*)31#$thu %#5$0*))5,#$(D*05 ,505)3)31#L0*H5$-$LD*05L05H323H*)31#$thu %#5$,505)3)31#$(0*H5 A 2,1:9345,$-$9345,L05H323H*)31#$thu )19345,$-$9345,L05H323H*)31#$ thu )$45*()$*44$PZV$+*)*$ @ +3(),3Q)31#( ? hfb
  • 47. # ! C!C AB # !0 # W1$(0*)3*4$+3(),3Q)31#$12$)D5$3#23#3)5$+3:5#(31#$M)3:5$()50(O A [41H$+3(),3Q)31#$12$)D5$bh$VV9($21,$5*HD$)3:5$()50 L3R5$12$)D5$41H$v$_ @ %#$)D5$hc$545:5#)*,=$0,1H5((1,( ? hfc
  • 48. # ! r$+3(),3Q)5$s z0*))5,#LD*05$v$z_{S $,505)3)31#L0*H5$v$zaSaSy{S $2,1:9345,$v$z1,3I3#$v$ziSi{S $23))3#I$v$zzhSi{{S $0*63#Ivzz_Si{SzhfSi{SziSh{{{S $)19345,$v$z1,3I3#$v$ziSi{S $$$$$$$$$$$$$$$$23))3#I$v$zziSi{{S C!C $$$$$$$$$$$$$$$$0*63#I$v$zzhSi{SziSh{SziSi{{{{ V2)L)*I5--2$-$VV9$ L3:+.#3)--0$-$ tzbhSy{u ;45:5#)*,=Z,1H$tzaSa{u AB # !0 # W1$(0*)3*4$+3(),3Q)31#$12$)D5$3#23#3)5$+3:5#(31#$M)3:5$()50(O A [41H$+3(),3Q)31#$12$)D5$bh$VV9($21,$5*HD$)3:5$()50 L3R5$12$)D5$41H$v$_ @ %#$)D5$hc$545:5#)*,=$0,1H5((1,( ? hfd
  • 49. ) ! ! Q4)3+3:5#(31#*4$(),QH)Q,5($M*,,*=(O 9343#I$=$(Q8(),QH)Q,5($M#1#$1,)D1I1#*4$1,$(0*,(5$)345($01((345O /3#n($5)F55#$(QHD$(),QH)Q,5($MH=H43H$1,$#1#$H=H43H$H1##5H)31#$0*))5,#($01((345O 9 , J1:0*H)#5(($12$)D5$:1+54 C!C ;223H35#H=S$:*3#)*3#*343)=S$,5*+*343)= AB .(5($`L/ [5#523)($2,1:$)D5$H1:01#5#)$:1+54$M241F$01,)(O 00435($)1$1)D$*0043H*)31#$*#+$D*,+F*,5$H1:01#5#)( ;)5#+($*441H*)31# + A P*#+45($1#4=$*,,*=($M#1$2*#H35,$(D*05(O x1Q4+$5#523)$2,1:$*$HQ()1:$M63(Q*4O$)345,$5+3)1, .#+5,$+565410:5#) @ ? hgh
  • 50. Detailed Example (∞) Downscaler (352, 288, ∞) (132, 288) Vert. Filter (132, 128) Horiz. Filter (352, 288) (132, 288) (132, 128, ∞)
  • 51. Horizontal Filter Horizontal filter (44, 288) (352, 288) Hfilter (132, 288) (11) (3)
  • 52. Horizontal Filter Horizontal filter (44, 288) (352, 288) Hfilter (132, 288) (11) (3) 1 1 F= F= 0 0 0 0 o= o= 0 0 8 0 3 0 P= P= 0 1 0 1
  • 53. Horizontal Filter: Input Tiler 1 F= spattern = 11 0 0 32 o= sarray = 0 18 8 0 4 P= srepetition = 0 1 18 17 0 0 0 31 r= 0
  • 54. Horizontal Filter: Input Tiler 1 F= spattern = 11 0 0 32 o= sarray = 0 18 8 0 4 P= srepetition = 0 1 18 17 0 0 1 31 r= 0
  • 55. Horizontal Filter: Input Tiler 1 F= spattern = 11 0 0 32 o= sarray = 0 18 8 0 4 P= srepetition = 0 1 18 17 0 0 2 31 r= 5
  • 56. Horizontal Filter Horizontal filter (44, 288) (352, 288) Hfilter (132, 288) (11) (3) 1 1 F= F= 0 0 0 0 o= o= 0 0 8 0 3 0 P= P= 0 1 0 1
  • 57. Horizontal Filter: Output Tiler 17 1 F= spattern = 3 0 0 12 o= sarray = 0 18 0 3 0 4 0 11 P= srepetition = r= 0 0 1 18 0
  • 58. Horizontal Filter: Output Tiler 17 1 F= spattern = 3 0 0 12 o= sarray = 0 18 0 3 0 4 0 11 P= srepetition = r= 1 0 1 18 0
  • 59. Horizontal Filter: Output Tiler 17 1 F= spattern = 3 0 0 12 o= sarray = 0 18 0 3 0 4 0 11 P= srepetition = r= 2 0 1 18 5
  • 60. Vertical Filter Vertical filter (132, 32) (132, 288) (132, 128) Vfilter (14) (4) 0 0 F= F= 1 1 0 0 o= o= 0 0 1 0 1 0 P= P= 0 9 0 4
  • 61. Vertical Filter: Input Tiler 17 0 F= spattern = 14 1 0 12 o= sarray = 0 18 0 1 0 12 0 11 P= srepetition = r= 0 0 9 2 0
  • 62. Vertical Filter: Input Tiler 17 0 F= spattern = 14 1 0 12 o= sarray = 0 18 0 1 0 12 0 11 P= srepetition = r= 1 0 9 2 0
  • 63. Vertical Filter: Input Tiler 17 0 F= spattern = 14 1 0 12 o= sarray = 0 18 0 1 0 12 0 11 P= srepetition = r= 5 0 9 2 1
  • 64. RSM Semantics Summary DSL for systematic signal processing First order pure functional language Multidimensional toroidal arrays Pattern based data acess Data parallel repetition ∀r, 0 ≤ r srepetition ∀i, 0 ≤ i spattern r t(r, i) = o + (P F) · mod sarray i
  • 66. Software and hardware co-model for data-intensive embedded system co-design
  • 67. MARTE packages used in Gaspard2  Foundations  Non Functional Properties  Generic Component Model  Flow ports  Allocation  Detailed Resource Modeling  Hardware Resource Modeling::HwLogical  Repetitive Structure Modeling
  • 68. Gaspard2 UML2.0 MM Marte MM Gaspard2 MM
  • 69. Co-model for co-design Marte and Gaspard Metamodels  High level data parallel constructions  Hierarchical  Repetitive  Application, architecture and association models  Iterative dependency expression  Data flow and control flow mixing  Gaspard2 UML profile available  With MagicDraw and Papyrus
  • 70. Optimization and compilation techniques •Data parallel code transformations •Mapping and multi-objective hierarchical scheduling heuristics •Compilation from high-level models down to simulation, execution and synthesis •Eclipse integration •Model transformation techniques •ModTransf, Momote, Mocode, QVTO
  • 71. HP-SoC simulation and synthesis •Simulation for architecture/application/association exploration •SystemC simulation framework at PVT and CABA level •Performance and power consumption evaluation •Synthesis for large and reconfigurable FPGA •VHDL code generation •Network on Chip and SIMD design for MppSoC •MppSoC implementation in FPGA (16-64 PE “à la Maspar”) •OpenMP execution on SMP •Synchronous code generation
  • 72. Downscaler application Horizontal filter: 8/3 CIF video frame: 352x288 Vertical filter: 9/4 Resized video frame
  • 73. CIF Frame structure 352 176 176 GOB1 GOB1 GOB1 GOB2 GOB2 GOB2 144 GOB3 144 GOB3 GOB3 + GOB4 + GOB4 GOB4 GOBn/2 GOBn/2 288 GOB5 U component V component GOB6 GOB. GOB. GOBn Y component
  • 74. Example: Downscaler data FG HF VF FC Hard Accto 16 MIPS 4 MIPS Sensor processors processor Bus Crossbar Task allocation Logical Data allocation Memory CIF: 352x288 • First solution: Heterogeneous mono-processor architecture • Second solution: Multi-processor architecture
  • 76. Downscaler: main application • Horizontal filter task
  • 77. Downscaler: main application • Vertical filter task
  • 80. Downscaler: main architecture • Hardware elementary components
  • 81. Example of MPSoC architecture  Shared Memory MPSoC architecture
  • 83. Downscaler: Deployment  Hardware and software deployment  Intellectual Property block (IP) reuse from libraries  A deployment extension is introduced  The most important concepts  VirtualIP  SoftwareIP, HardwareIP  implements  CodeFile  Specialization  Characteristic  PowerModel
  • 84. GaspardLib GaspardLib Software Hardware FFT, DCT, Processor, Convolution, cache, DMAC FIR crossbar Energy Processor, cache, DMAC crossbar
  • 87. Papyrus modeling editor  Open source  UML2 specification compliant  Afull Eclipse project such as EMF, etc.  Support all UML2 diagrams and profile  MARTE, SysML, CCM  OCL verification  Java and C++ code generation  Developed and supported by CEA and LIFL (DaRT)  www.papyrusuml.org
  • 88. Technology bases of Gaspard2  Model driven engineering  metamodels  model transformations  Eclipse platform  metamodeling language: Ecore  integration framework based on plugins  transformation chains
  • 90. Polyhedron model  Information given by the distribution in the high MPSoC model  A polyhedron is generated for each task repetition  Parameterized by a processor number (p0) and the task indexes
  • 91. Loop model  Scanning the polyhedron  Corresponding loop generation  Task repetition space  Using the CLoog tool
  • 92. Pattern accurate (PA) TLM level Allocation Processor 1 Instruction memory TA Task A Not used Task B TB Processor 0 NoC Task C Task D TC TD Data memory Allocation Task E TE Array0 Array1 Application execution graph  Fast simulation  Data transfer observation  Hardware/Software simulation before the processor component is available
  • 93. Gaspard2 Démo… UML Gaspard Polyhedron Loop SystemC PA  https://gforge.inria.fr/projects/gaspard2/