- Timestamp:
- Nov 24, 2010, 5:44:26 PM (14 years ago)
- Location:
- anr
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
anr/anr.sty
r278 r279 151 151 \let\xilinx\relax 152 152 \immediate\write\ganttdata{% 153 T=\the\taskcnt\space S=\the\subtaskcnt\space%153 L=1 T=\the\taskcnt\space S=\the\subtaskcnt\space% 154 154 D=\the\livrablecnt\space V=\vers\space% 155 155 BM=#1 EM=#2 R=#3 PART={#4} KIND={#5} TITLE=#6% … … 224 224 {\textsc{##4}}% 225 225 } 226 \def\ CoutHorsD##1##2##3##4##5{%226 \def\OtherPartner##1##2##3##4{% 227 227 \let\xcoach\relax 228 228 \let\xcoachplus\relax … … 237 237 \let\mds\relax \let\Smds\relax 238 238 \immediate\write\ganttdata{% 239 T=\the\taskcnt\space S=\the\subtaskcnt\space%240 D= none BM=##1 EM=##2 R=##5 PART={##3} TITLE=##4%239 L=0 T=\the\taskcnt\space S=\the\subtaskcnt\space% 240 D=\the\livrablecnt\space BM=##1 EM=##2 R=##4 PART={##3} TITLE=% 241 241 } 242 242 } -
anr/gantt.l
r278 r279 54 54 55 55 typedef struct _Tlivrable { 56 int tn,stn,dn,vn; // task, sub-task, number57 56 char v; // 0, 1, 2, ..., F 58 57 char* kind; … … 60 59 int bm,em; // mois de bebut et de fin 61 60 double hman[3]; // nombre de mh par an 61 int tn,stn,dn,vn; // task, sub-task, number 62 int leader; // 1: the partner leads this livrable 63 // 0: the partner helps for this livrable 62 64 int partner; // index dans partner_table 63 65 // these fields are filled by the program for data[tn][0][0][0] … … 67 69 double nbma[3]; // durée en mois par annee 68 70 // these fields are filled by the program for data[tn][stn][dn][0] 69 struct _Tlivrable 70 **vers; // null termiated (vers[i] = &data[tn][stn][dn][i]) 71 int nbvers; // nombre de vers 71 struct _Tlivrable // versions of the livrable 72 **vers; // null termiated (vers[i] = data[tn][stn][dn][j]) 73 // this->leader == 1 74 // vers[0] = this 75 // vers[i]->leadaer == this->leader 76 // vers[i]->partner == this->partner 77 int nbvers; // nombre de vers 72 78 double height; // height of livrable 73 79 // int del_bm,del_em; // mois de bebut et de fin cummule … … 75 81 int nbTitleLines; 76 82 char* titleLines[5]; // null termiated 83 struct _Tlivrable // participant to the livrable 84 **part; // null termiated (vers[i] = data[tn][stn][dn][j]) 85 // this->leader == 1 86 // vers[i] != this 87 // vers[i]->leader == 0 88 // vers[i]->partner != this->partner 89 int nbpart; // nombre de vers 77 90 } Tlivrable; 78 91 … … 215 228 double an[3]; 216 229 char* an_comment; 230 int leader; 217 231 int partner; 218 232 #.*\n ; 233 L=1 { leader=1; } 234 L=0 { leader=0; } 219 235 T=[0-9]+ { tn=atoi(yytext+2); } 220 236 S=[0-9]+ { stn=atoi(yytext+2); } 221 237 D=[0-9]+ { dn=atoi(yytext+2); } 222 D=none { dn=-2; }223 238 V=V[1-8F] { v=yytext[3]; } 224 239 ML=[0-9]+ { … … 282 297 p->hman[1] = an[1]; 283 298 p->hman[2] = an[2]; 299 p->leader = leader; 284 300 p->partner = partner; 285 301 p->title = title; … … 297 313 an_comment=0; 298 314 partner=0; 315 leader=0; 299 316 } 300 317 [ \t\n] ; … … 375 392 void prepare3(Tdata* data) 376 393 { 377 int tn,stn,dn,vn; 394 int tn,stn,dn,vn,cnt; 395 Tlivrable* tmp; 378 396 for (tn=0 ; tn<T_MAX ; tn++) 379 397 for (stn=0; stn<S_MAX; stn++) … … 382 400 if (p==0) continue; 383 401 p->nbvers=0 ; 384 for (vn=0 ; vn<V_MAX ; vn+=1) 385 if (data->ls[tn][stn][dn][vn]!=0) p->nbvers+=1; 402 p->nbpart=0 ; 403 for (vn=0 ; vn<V_MAX ; vn+=1) { 404 tmp = data->ls[tn][stn][dn][vn]; 405 if (tmp==0) continue; 406 if (tmp->leader==0) 407 p->nbpart+=1; 408 else 409 p->nbvers+=1; 410 } 386 411 p->vers=(Tlivrable**)malloc(sizeof(*p->vers)*(p->nbvers+1)); 387 for (vn=0 ; vn<p->nbvers ; vn+=1) { 388 p->vers[vn] = data->ls[tn][stn][dn][vn]; 389 data->ls[tn][stn][dn][vn]->nbvers = p->nbvers; 390 } 391 p->vers[vn] = 0; 412 for (vn=0,cnt=0 ; vn<V_MAX ; vn+=1) { 413 tmp = data->ls[tn][stn][dn][vn]; 414 if (tmp!=0 && tmp->leader==1) { 415 p->vers[cnt++] = tmp; 416 tmp->nbvers = p->nbvers; 417 } 418 } 419 p->vers[cnt] = 0; 420 if (p->nbpart!=0) { 421 p->part=(Tlivrable**)malloc(sizeof(*p->part)*(p->nbpart+1)); 422 for (vn=0,cnt=0 ; vn<V_MAX ; vn+=1) { 423 tmp = data->ls[tn][stn][dn][vn]; 424 if (tmp!=0 && tmp->leader==0) { 425 p->part[cnt++] = tmp; 426 } 427 } 428 p->part[cnt] = 0; 429 } 430 392 431 p->height = 1.0*DELIVRABLE_HEIGHT; 393 432 if (p->nbTitleLines>=1) { … … 429 468 for (stn=0 ; curr->ls[tn][stn][0][0]!=0 ; stn++) 430 469 for (dn=0 ; curr->ls[tn][stn][dn][0]!=0 ; dn++) { 431 if ( curr->ls[tn][stn][dn][0]-> dn<0 ) continue;470 if ( curr->ls[tn][stn][dn][0]->leader==0 ) continue; 432 471 nblivrables += 1; 433 472 height+=curr->ls[tn][stn][dn][0]->height; … … 635 674 } 636 675 676 Tlivrable* do_partner_table_getLivrable(Tlivrable** leader, Tlivrable* top, int partner) 677 { 678 int i; 679 Tlivrable* ret; 680 *leader=top->vers[top->nbvers-1]; 681 if (leader[0]->partner==partner) 682 return *leader; 683 for (i=0; i<top->nbpart ; i+=1) { 684 ret= top->part[i]; 685 if ( ret->partner==partner ) 686 return ret; 687 } 688 return 0; 689 } 690 637 691 void do_partner_table_full(int partner) 638 692 { … … 662 716 for (stn=0; stn<S_MAX; stn++) { 663 717 for (dn=0; dn<D_MAX; dn++) { 718 Tlivrable *lcurr,*leader; 664 719 Tlivrable* top=curr->ls[tn][stn][dn][v]; 665 720 if (top==0) continue; 666 Tlivrable* last=top->vers[top->nbvers-1];667 if (last->partner!=partner)continue;721 if ( (lcurr=do_partner_table_getLivrable(&leader,top,partner))==0 ) 722 continue; 668 723 double sum1,sum2,sum3,sum=0; 669 sum1 = l ast->hman[0]; sum +=sum1;670 sum2 = l ast->hman[1]; sum +=sum2;671 sum3 = l ast->hman[2]; sum +=sum3;724 sum1 = lcurr->hman[0]; sum +=sum1; 725 sum2 = lcurr->hman[1]; sum +=sum2; 726 sum3 = lcurr->hman[2]; sum +=sum3; 672 727 char label[1000],title[1000]; 673 gen_label_base(label,l ast);674 sprintf(title,"\\resstablestyletitle{%s}",l ast->title);728 gen_label_base(label,leader); 729 sprintf(title,"\\resstablestyletitle{%s}",leader->title); 675 730 fprintf(curr->os,"%s & %s & %2.1f & %2.1f & %2.1f & %2.1f \\\\\\hline\n", 676 731 label,title,sum1,sum2,sum3,sum); … … 680 735 an += sum ; tsk += sum ; 681 736 newlineadded=0; 682 if ( sum1==0 && l ast->nbma[0]!=0)737 if ( sum1==0 && leader->nbma[0]!=0) 683 738 fprintf(stderr,"ERROR: %-10s:%s probleme sur l'an 1 (in table=%2.1f, in gantt=%2.1f\n", 684 part->name,label,sum1,l ast->nbma[0]);685 else if (sum1!=0 && l ast->nbma[0]==0 )739 part->name,label,sum1,leader->nbma[0]); 740 else if (sum1!=0 && leader->nbma[0]==0 ) 686 741 fprintf(stderr,"ERROR: %-10s:%s probleme sur l'an 1 (in table=%2.1f, in gantt=%2.1f\n", 687 part->name,label,sum1,l ast->nbma[0]);688 else if (sum1!=0 && sum1>l ast->nbma[0] )742 part->name,label,sum1,leader->nbma[0]); 743 else if (sum1!=0 && sum1>leader->nbma[0] ) 689 744 fprintf(stderr,"WARNING: %-10s:%s probleme sur l'an 1 (in table=%2.1f, in gantt=%2.1f\n", 690 part->name,label,sum1,l ast->nbma[0]);691 if ( sum2==0 && l ast->nbma[1]!=0)745 part->name,label,sum1,leader->nbma[0]); 746 if ( sum2==0 && leader->nbma[1]!=0) 692 747 fprintf(stderr,"ERROR: %-10s:%s probleme sur l'an 2 (in table=%2.1f, in gantt=%2.1f\n", 693 part->name,label,sum2,l ast->nbma[1]);694 else if ( sum2!=0 && l ast->nbma[1]==0)748 part->name,label,sum2,leader->nbma[1]); 749 else if ( sum2!=0 && leader->nbma[1]==0) 695 750 fprintf(stderr,"ERROR: %-10s:%s probleme sur l'an 2 (in table=%2.1f, in gantt=%2.1f\n", 696 part->name,label,sum2,l ast->nbma[1]);697 else if (sum2!=0 && sum2>l ast->nbma[1])751 part->name,label,sum2,leader->nbma[1]); 752 else if (sum2!=0 && sum2>leader->nbma[1]) 698 753 fprintf(stderr,"WARNING: %-10s:%s probleme sur l'an 2 (in table=%2.1f, in gantt=%2.1f\n", 699 part->name,label,sum2,l ast->nbma[1]);700 if ( sum3==0 && l ast->nbma[2]!=0)754 part->name,label,sum2,leader->nbma[1]); 755 if ( sum3==0 && leader->nbma[2]!=0) 701 756 fprintf(stderr,"ERROR: %-10s:%s probleme sur l'an 3 (in table=%2.1f, in gantt=%2.1f\n", 702 part->name,label,sum3,l ast->nbma[2]);703 else if ( sum3!=0 && l ast->nbma[2]==0)757 part->name,label,sum3,leader->nbma[2]); 758 else if ( sum3!=0 && leader->nbma[2]==0) 704 759 fprintf(stderr,"ERROR: %-10s:%s probleme sur l'an 3 (in table=%2.1f, in gantt=%2.1f\n", 705 part->name,label,sum3,l ast->nbma[2]);706 else if (sum3!=0 && sum3>l ast->nbma[2])760 part->name,label,sum3,leader->nbma[2]); 761 else if (sum3!=0 && sum3>leader->nbma[2]) 707 762 fprintf(stderr,"WARNING: %-10s:%s probleme sur l'an 3 (in table=%2.1f, in gantt=%2.1f\n", 708 part->name,label,sum3,l ast->nbma[2]);763 part->name,label,sum3,leader->nbma[2]); 709 764 } 710 765 } … … 749 804 for (stn=0; stn<S_MAX; stn++) { 750 805 for (dn=0; dn<D_MAX; dn++) { 806 Tlivrable *lcurr,*leader; 751 807 Tlivrable* top=curr->ls[tn][stn][dn][v]; 752 808 if (top==0) continue; 753 Tlivrable* last=top->vers[top->nbvers-1];754 if (last->partner!=partner)continue;809 if ( (lcurr=do_partner_table_getLivrable(&leader,top,partner))==0 ) 810 continue; 755 811 double sum1,sum2,sum3,sum=0; 756 sum1 = l ast->hman[0]; sum +=sum1;757 sum2 = l ast->hman[1]; sum +=sum2;758 sum3 = l ast->hman[2]; sum +=sum3;812 sum1 = lcurr->hman[0]; sum +=sum1; 813 sum2 = lcurr->hman[1]; sum +=sum2; 814 sum3 = lcurr->hman[2]; sum +=sum3; 759 815 an1 += sum1 ; tsk1 += sum1 ; 760 816 an2 += sum2 ; tsk2 += sum2 ; … … 763 819 newlineadded=0; 764 820 char label[1000]; 765 gen_label_base(label,l ast);821 gen_label_base(label,leader); 766 822 } 767 823 } … … 829 885 Tlivrable* l = curr->ls[tn][stn][dn][v]; 830 886 if ( l==0 ) break; 831 if ( l-> dn<0 ) continue;887 if ( l->leader==0 ) continue; 832 888 char label[1000],resp[100],date[100],kind[100],desc[1000]; 833 889 gen_label_full(label,l); -
anr/task-0.tex
r278 r279 22 22 \subtask{Consortium agreement} This \ST consists in writing and ratifying the consortium agreement. 23 23 \begin{livrable} 24 \CoutHorsD{0}{36}{\Subs}{project management}{1:1:1}25 24 \itemL{0}{6}{d}{\Smds}{Consortium agreement}{1:0:0} 26 25 A document describing the consortium agreement, signed by all the partners. … … 29 28 organization of the project at all the levels. 30 29 \begin{livrable} 31 \itemL{0}{36}{d}{\Smds}{Global management}{1:1:1}30 \itemL{0}{36}{d}{\Smds}{Global project management}{1:1:1} 32 31 Global management of the project at all the 33 32 levels: progress monitoring, record keeping, meeting organization, review … … 38 37 project meetings and the communication with the project leader and the other partners. 39 38 \begin{livrable} 40 \itemL{0}{36}{}{\Supmc}{\upmc management}{1:1:1} Project management at the partner level. 41 \CoutHorsD{0}{36}{\Stima}{project management}{1:1:1} 39 \itemL{0}{36}{}{\mds}{Local project management}{.5:.5:.5} Project management at the partner level. 40 \OtherPartner{0}{36}{\Supmc}{.5:.5:.5} 41 \OtherPartner{0}{36}{\Subs} {.5:.5:.5} 42 \OtherPartner{0}{36}{\Stima}{.5:.5:.5} 43 \OtherPartner{0}{36}{\Slip} {.5:.5:.5} 42 44 \end{livrable} 43 45 \subtask{Setup of dissemination infrastructure} … … 53 55 infrastructure (adding \& suppressing account, retrieving forgotten passwords, 54 56 creation and closing development branch, ...) 55 \CoutHorsD{0}{36}{\Slip}{project management}{1:1:1}56 57 \end{livrable} 57 58 \end{workpackage} -
anr/task-1.tex
r278 r279 17 17 specifying: how to feed COACH (the inputs), how to use COACH (use model), 18 18 what is generated (the outputs). 19 %(definition of the generic architecture of the20 %MPSoC and its 3 targets hardware mapping).21 19 \begin{livrable} 22 \CoutHorsD{0}{12}{\Sbull}{User specification}{3:0:0} 23 \itemV{0}{6}{d}{\Supmc}{COACH specification} \setMacroInAuxFile{specGenManualI} 24 The first version of the COACH specification. 25 This document contains the general description of the framework, the use model and the 26 description of the architectural templates. 27 It refers to the HAS specification (deliverable {\specHasManual}) and 28 to the CSG specifcation (deliverable \specCsgManual) for the COACH input 29 descriptions. 30 \itemL{6}{12}{d}{\Supmc}{COACH specification}{1:0:0} \setMacroInAuxFile{specGenManual} 31 The final version of the {\specGenManualI} deliverable updated with the first 32 feed-backs of the demonstrator \STs. 33 \itemV{0}{6}{d}{\Stima}{CSG specification} \setMacroInAuxFile{specCsgManualI} 34 The first version of the CSG (COACH System Generator) specification. 35 It specifies how the task graph is described, the communication schemes and its 36 associated API (Application Programming Interface). 37 The base is the SRL library and the MWMR communication component defined by the SocLib 38 ANR project. 39 Nevertheless, these basic schemes will be enhanced to allow more efficient 40 synthesis. 41 \itemL{6}{12}{d}{\Stima}{CSG specification}{1:0:0} \setMacroInAuxFile{specCsgManual} 42 The final version of the {\specGenManualI} deliverable updated with the first 43 feed-backs of the demonstrator \STs. 44 \itemV{0}{6}{d}{\Subs}{HAS specification} \setMacroInAuxFile{specHasManualI} 45 The first version of the HAS (Hardware Accelerator Synthesis) specification. 46 It specifies how tasks must be written (C/C++ subset) and how 47 communication schemes defined in the {\specCsgManual} deliverable must be described for 48 coprocessor synthesis. 49 \itemL{6}{12}{d}{\Subs}{HAS specification}{2:0:0} \setMacroInAuxFile{specHasManual} 50 The final version of the {\specGenManualI} deliverable updated with the first 51 feed-backs of the demonstrator \STs. 20 \itemV{0}{6}{d}{\Supmc}{Use model specification} 21 This document describes the use modle of COACH. It will be a cooperative work. 22 Its main parts are: 23 \begin{description} 24 \item[General overview] (\Supmc) 25 \item[CSG specification] (\Stima) 26 Here the COACH System Generator Generator is specified: 27 how the task graph is described, the communication schemes and 28 its associated API (Application Programming Interface). 29 The base is the SRL library and the MWMR communication component defined 30 by the SocLib ANR project. 31 Nevertheless, these basic schemes will be enhanced to allow more efficient 32 synthesis. 33 \item[HAS specification] (\Subs) 34 This part focuses to the Hardware Accelerator Synthesis. 35 It specifies how tasks must be written (C/C++ subset) and how 36 communication schemes must be described for coprocessor synthesis. 37 \end{description} 38 \itemL{6}{12}{d}{\Supmc}{Use model specification}{3:0:0} 39 \setMacroInAuxFile{useModelSpecification} 40 The final version of the Use model specification enhanced 41 with the feed-backs of the demonstrator \STs. 42 \OtherPartner{0}{12}{\Slip} {2:0:0} 43 \OtherPartner{0}{12}{\Sirisa} {2:0:0} 44 \OtherPartner{0}{12}{\Stima} {3:0:0} 45 \OtherPartner{0}{12}{\Subs} {3:0:0} 46 \OtherPartner{0}{12}{\Sbull} {2:0:0} 47 \OtherPartner{0}{12}{\Sthales}{2:0:0} 48 \OtherPartner{0}{12}{\Smds} {2:0:0} 49 % \itemV{0}{6}{d}{\Supmc}{Use model specification} \setMacroInAuxFile{specGenManualI} 50 % The first version of the COACH specification. 51 % This document contains the general description of the framework, the use model and the 52 % description of the architectural templates. 53 % It refers to the HAS specification (deliverable {\specHasManual}) and 54 % to the CSG specifcation (deliverable \specCsgManual) for the COACH input 55 % descriptions. 56 % \itemL{6}{12}{d}{\Supmc}{COACH specification}{1:0:0} \setMacroInAuxFile{specGenManual} 57 % The final version of the {\specGenManualI} deliverable updated with the first 58 % feed-backs of the demonstrator \STs. 59 % \OtherPartner{0}{12}{\Sbull} {3:0:0} 60 % \OtherPartner{0}{12}{\Sthales}{1:0:0} 61 % \itemV{0}{6}{d}{\Stima}{CSG specification} \setMacroInAuxFile{specCsgManualI} 62 % The first version of the CSG (COACH System Generator) specification. 63 % It specifies how the task graph is described, the communication schemes and its 64 % associated API (Application Programming Interface). 65 % The base is the SRL library and the MWMR communication component defined by the SocLib 66 % ANR project. 67 % Nevertheless, these basic schemes will be enhanced to allow more efficient 68 % synthesis. 69 % \itemL{6}{12}{d}{\Stima}{CSG specification}{1:0:0} \setMacroInAuxFile{specCsgManual} 70 % The final version of the {\specGenManualI} deliverable updated with the first 71 % feed-backs of the demonstrator \STs. 72 % \itemV{0}{6}{d}{\Subs}{HAS specification} \setMacroInAuxFile{specHasManualI} 73 % The first version of the HAS (Hardware Accelerator Synthesis) specification. 74 % It specifies how tasks must be written (C/C++ subset) and how 75 % communication schemes defined in the {\specCsgManual} deliverable must be described for 76 % coprocessor synthesis. 77 % \itemL{6}{12}{d}{\Subs}{HAS specification}{2:0:0} \setMacroInAuxFile{specHasManual} 78 % The final version of the {\specGenManualI} deliverable updated with the first 79 % feed-backs of the demonstrator \STs. 52 80 \end{livrable} 53 81 \subtask{Internal software structure} … … 55 83 document listing all the COACH software components and how they cooperate. 56 84 \begin{livrable} 57 \CoutHorsD{0}{12}{\Sthales}{User specification}{1:0:0}58 85 \itemL{0}{6}{d}{\Supmc}{COACH internal \ganttlf software architecture}{1:0:0} 59 86 Description of the software list and the data flow among the tools. -
anr/task-6.tex
r278 r279 25 25 \itemV{6}{12}{x}{\Sbull}{\bull demonstrator} 26 26 The deliverable is the specification of the demonstrator in COACH input format 27 defined in the {\specGenManual} deliverable.27 defined in the \novers{\useModelSpecification} deliverable. 28 28 \itemL{12}{36}{d}{\Sbull}{\bull demonstrator}{2:6:10} 29 29 Validation of the demonstrator, the deliverable is a document -
anr/task-7.tex
r278 r279 36 36 final releases with their installation manuals and to publish then into the WEB 37 37 site. 38 \ CoutHorsD{12}{36}{\Stima}{dissemination}{0:2:1}38 \OtherPartner{12}{36}{\Stima}{0:2:1} 39 39 \end{livrable} 40 40 \subtask{\mustbecompleted{TITLE}} … … 73 73 This user manual shows how a task can be synthesized by using HLS tools developped in 74 74 the COACH project. 75 \ CoutHorsD{12}{36}{\Subs}{dissemination}{0:2:2}75 \OtherPartner{12}{36}{\Subs}{0:2:2} 76 76 \end{livrable} 77 77 \end{workpackage}
Note: See TracChangeset
for help on using the changeset viewer.