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 }