Mercurial > cgi-bin > hgwebdir.cgi > VMS > VMS_Implementations > SSR_impls > SSR__MC_shared_impl
comparison dependency.c @ 48:593fe0543a22
added NtoN construct recording (in send/recv_type for now)
| author | Nina Engelhardt <nengel@mailbox.tu-berlin.de> |
|---|---|
| date | Wed, 21 Dec 2011 16:53:22 +0100 |
| parents | 23bcca1c3687 |
| children | 70d24e2343bb |
comparison
equal
deleted
inserted
replaced
| 2:3f7c27f1089c | 3:49024925906a |
|---|---|
| 10 newDep->to_task = to_task; | 10 newDep->to_task = to_task; |
| 11 } | 11 } |
| 12 return newDep; | 12 return newDep; |
| 13 } | 13 } |
| 14 | 14 |
| 15 NtoN* new_NtoN(int id){ | |
| 16 NtoN* newn = (NtoN*) VMS__malloc(sizeof(NtoN)); | |
| 17 newn->id = id; | |
| 18 newn->senders = makeListOfArrays(sizeof(Unit), 64); | |
| 19 newn->receivers = makeListOfArrays(sizeof(Unit), 64); | |
| 20 return newn; | |
| 21 } | |
| 22 | |
| 15 int set_dependency_file(FILE* file){ | 23 int set_dependency_file(FILE* file){ |
| 16 dependency_file = file; | 24 dependency_file = file; |
| 17 } | 25 } |
| 18 | 26 |
| 19 void print_ctl_dependency_to_file(void* _dep){ | 27 void print_ctl_dependency_to_file(void* _dep){ |
| 20 Dependency* dep = (Dependency*) _dep; | 28 Dependency* dep = (Dependency*) _dep; |
| 29 if(!dep) return; | |
| 21 fprintf(dependency_file,"ctlDep,%d,%d,%d,%d\n",dep->from_vp,dep->from_task,dep->to_vp,dep->to_task); | 30 fprintf(dependency_file,"ctlDep,%d,%d,%d,%d\n",dep->from_vp,dep->from_task,dep->to_vp,dep->to_task); |
| 22 } | 31 } |
| 23 | 32 |
| 24 void print_comm_dependency_to_file(void* _dep){ | 33 void print_comm_dependency_to_file(void* _dep){ |
| 25 Dependency* dep = (Dependency*) _dep; | 34 Dependency* dep = (Dependency*) _dep; |
| 35 if(!dep) return; | |
| 26 fprintf(dependency_file,"commDep,%d,%d,%d,%d\n",dep->from_vp,dep->from_task,dep->to_vp,dep->to_task); | 36 fprintf(dependency_file,"commDep,%d,%d,%d,%d\n",dep->from_vp,dep->from_task,dep->to_vp,dep->to_task); |
| 27 } | 37 } |
| 28 | 38 |
| 29 void print_dependency_to_file(void* _dep){ | 39 void print_dependency_to_file(void* _dep){ |
| 30 Dependency* dep = (Dependency*) _dep; | 40 Dependency* dep = (Dependency*) _dep; |
| 41 if(!dep) return; | |
| 31 fprintf(dependency_file,"VP_%d_%d -> VP_%d_%d;\n",dep->from_vp,dep->from_task,dep->to_vp,dep->to_task); | 42 fprintf(dependency_file,"VP_%d_%d -> VP_%d_%d;\n",dep->from_vp,dep->from_task,dep->to_vp,dep->to_task); |
| 32 } | 43 } |
| 33 | 44 |
| 34 void print_unit_to_file(void* _unit){ | 45 void print_unit_to_file(void* _unit){ |
| 35 Unit* unit = (Unit*) _unit; | 46 Unit* unit = (Unit*) _unit; |
| 47 if(!unit) return; | |
| 36 fprintf(dependency_file,"unit,%d,%d\n",unit->vp,unit->task); | 48 fprintf(dependency_file,"unit,%d,%d\n",unit->vp,unit->task); |
| 37 } | 49 } |
| 50 | |
| 51 void print_nton_set_helper(void* _u){ | |
| 52 Unit* u = (Unit*) _u; | |
| 53 if(!u) return; | |
| 54 fprintf(dependency_file,",%d,%d",u->vp,u->task); | |
| 55 } | |
| 56 | |
| 57 void print_nton_to_file(void* _nton){ | |
| 58 NtoN* nton = (NtoN*) _nton; | |
| 59 if(!nton) return; | |
| 60 //assert(nton->senders->next_free_index==nton->receivers->next_free_index); | |
| 61 int numInSet = nton->senders->next_free_index; | |
| 62 fprintf(dependency_file,"NtoN,%d",numInSet); | |
| 63 forAllInListOfArraysDo(nton->senders,&print_nton_set_helper); | |
| 64 forAllInListOfArraysDo(nton->receivers,&print_nton_set_helper); | |
| 65 fprintf(dependency_file,"\n"); | |
| 66 } |
