annotate dependency.c @ 59:471c89d1d545

try 40 cores
author Nina Engelhardt <nengel@mailbox.tu-berlin.de>
date Fri, 09 Mar 2012 19:01:21 +0100
parents 70d24e2343bb
children 3c9ed64db705
rev   line source
Nina@39 1 #include "dependency.h"
nengel@57 2 #include "../VMS_impl/VMS.h"
Nina@39 3
Nina@39 4 Dependency* new_dependency(int from_vp, int from_task, int to_vp, int to_task){
Nina@39 5 Dependency* newDep = (Dependency*) VMS__malloc(sizeof(Dependency));
Nina@39 6 if (newDep!=NULL){
Nina@39 7 newDep->from_vp = from_vp;
Nina@39 8 newDep->from_task = from_task;
Nina@39 9 newDep->to_vp = to_vp;
Nina@39 10 newDep->to_task = to_task;
Nina@39 11 }
Nina@39 12 return newDep;
Nina@39 13 }
Nina@39 14
nengel@48 15 NtoN* new_NtoN(int id){
nengel@48 16 NtoN* newn = (NtoN*) VMS__malloc(sizeof(NtoN));
nengel@48 17 newn->id = id;
nengel@48 18 newn->senders = makeListOfArrays(sizeof(Unit), 64);
nengel@48 19 newn->receivers = makeListOfArrays(sizeof(Unit), 64);
nengel@48 20 return newn;
nengel@48 21 }
nengel@48 22
Nina@39 23 int set_dependency_file(FILE* file){
Nina@39 24 dependency_file = file;
Nina@39 25 }
Nina@39 26
nengel@46 27 void print_ctl_dependency_to_file(void* _dep){
nengel@46 28 Dependency* dep = (Dependency*) _dep;
nengel@48 29 if(!dep) return;
nengel@46 30 fprintf(dependency_file,"ctlDep,%d,%d,%d,%d\n",dep->from_vp,dep->from_task,dep->to_vp,dep->to_task);
nengel@46 31 }
nengel@46 32
nengel@46 33 void print_comm_dependency_to_file(void* _dep){
nengel@46 34 Dependency* dep = (Dependency*) _dep;
nengel@48 35 if(!dep) return;
nengel@46 36 fprintf(dependency_file,"commDep,%d,%d,%d,%d\n",dep->from_vp,dep->from_task,dep->to_vp,dep->to_task);
nengel@46 37 }
nengel@46 38
nengel@49 39 void print_dyn_dependency_to_file(void* _dep){
nengel@49 40 Dependency* dep = (Dependency*) _dep;
nengel@49 41 if(!dep) return;
nengel@49 42 fprintf(dependency_file,"dynDep,%d,%d,%d,%d\n",dep->from_vp,dep->from_task,dep->to_vp,dep->to_task);
nengel@49 43 }
nengel@49 44
nengel@49 45 void print_hw_dependency_to_file(void* _dep){
nengel@49 46 Dependency* dep = (Dependency*) _dep;
nengel@49 47 if(!dep) return;
nengel@49 48 fprintf(dependency_file,"hwDep,%d,%d,%d,%d\n",dep->from_vp,dep->from_task,dep->to_vp,dep->to_task);
nengel@49 49 }
nengel@49 50
Nina@39 51 void print_dependency_to_file(void* _dep){
Nina@39 52 Dependency* dep = (Dependency*) _dep;
nengel@48 53 if(!dep) return;
Nina@39 54 fprintf(dependency_file,"VP_%d_%d -> VP_%d_%d;\n",dep->from_vp,dep->from_task,dep->to_vp,dep->to_task);
Nina@39 55 }
nengel@47 56
nengel@47 57 void print_unit_to_file(void* _unit){
nengel@47 58 Unit* unit = (Unit*) _unit;
nengel@48 59 if(!unit) return;
nengel@47 60 fprintf(dependency_file,"unit,%d,%d\n",unit->vp,unit->task);
nengel@48 61 }
nengel@48 62
nengel@48 63 void print_nton_set_helper(void* _u){
nengel@48 64 Unit* u = (Unit*) _u;
nengel@48 65 if(!u) return;
nengel@48 66 fprintf(dependency_file,",%d,%d",u->vp,u->task);
nengel@48 67 }
nengel@48 68
nengel@48 69 void print_nton_to_file(void* _nton){
nengel@48 70 NtoN* nton = (NtoN*) _nton;
nengel@48 71 if(!nton) return;
nengel@48 72 //assert(nton->senders->next_free_index==nton->receivers->next_free_index);
nengel@48 73 int numInSet = nton->senders->next_free_index;
nengel@48 74 fprintf(dependency_file,"NtoN,%d",numInSet);
nengel@48 75 forAllInListOfArraysDo(nton->senders,&print_nton_set_helper);
nengel@48 76 forAllInListOfArraysDo(nton->receivers,&print_nton_set_helper);
nengel@48 77 fprintf(dependency_file,"\n");
nengel@47 78 }