Mercurial > cgi-bin > hgwebdir.cgi > VMS > VMS_Implementations > VMS_impls > VMS__MC_shared_impl
comparison VMS.c @ 166:aefd87f9d12f
loop graph
| author | Nina Engelhardt |
|---|---|
| date | Tue, 18 Oct 2011 15:53:04 +0200 |
| parents | 395f58384a5c |
| children | 981acd1db6af |
comparison
equal
deleted
inserted
replaced
| 57:daa5859e7392 | 79:2d9162b961f3 |
|---|---|
| 188 | 188 |
| 189 #ifdef DETECT_DEPENDENCIES | 189 #ifdef DETECT_DEPENDENCIES |
| 190 _VMSMasterEnv->dependencies = VMS__malloc(10*sizeof(void*)); | 190 _VMSMasterEnv->dependencies = VMS__malloc(10*sizeof(void*)); |
| 191 _VMSMasterEnv->dependenciesInfo = makePrivDynArrayInfoFrom((void***)&(_VMSMasterEnv->dependencies),10); | 191 _VMSMasterEnv->dependenciesInfo = makePrivDynArrayInfoFrom((void***)&(_VMSMasterEnv->dependencies),10); |
| 192 #endif | 192 #endif |
| 193 | 193 |
| 194 #ifdef DETECT_LOOP_GRAPH | |
| 195 _VMSMasterEnv->loop_graph = VMS__malloc(10*sizeof(void*)); | |
| 196 _VMSMasterEnv->loop_graph_array_info = makePrivDynArrayInfoFrom((void***)&(_VMSMasterEnv->loop_graph),10); | |
| 197 int loop_i; | |
| 198 for(loop_i=0;loop_i<NUM_CORES;loop_i++){ | |
| 199 _VMSMasterEnv->loop_counter[loop_i]=0; | |
| 200 } | |
| 201 | |
| 202 #endif | |
| 203 | |
| 194 #ifdef MEAS__PERF_COUNTERS | 204 #ifdef MEAS__PERF_COUNTERS |
| 195 _VMSMasterEnv->counter_history = VMS__malloc(10*sizeof(void*)); | 205 _VMSMasterEnv->counter_history = VMS__malloc(10*sizeof(void*)); |
| 196 _VMSMasterEnv->counter_history_array_info = makePrivDynArrayInfoFrom((void***)&(_VMSMasterEnv->counter_history),10); | 206 _VMSMasterEnv->counter_history_array_info = makePrivDynArrayInfoFrom((void***)&(_VMSMasterEnv->counter_history),10); |
| 197 //printf("Creating HW counters..."); | 207 //printf("Creating HW counters..."); |
| 198 FILE* output; | 208 FILE* output; |
| 807 printf("Opening Dependencies file failed. Please check that folder \"counters\" exists in run directory.\n"); | 817 printf("Opening Dependencies file failed. Please check that folder \"counters\" exists in run directory.\n"); |
| 808 } else { | 818 } else { |
| 809 printf("Could not open Dependencies file, please clean \"counters\" folder. (Must contain less than 255 files.)\n"); | 819 printf("Could not open Dependencies file, please clean \"counters\" folder. (Must contain less than 255 files.)\n"); |
| 810 } | 820 } |
| 811 #endif | 821 #endif |
| 822 #ifdef DETECT_LOOP_GRAPH | |
| 823 FILE* loop_output; | |
| 824 int loop_n; | |
| 825 char loop_filename[255]; | |
| 826 for(loop_n=0;loop_n<255;loop_n++) | |
| 827 { | |
| 828 sprintf(loop_filename, "./counters/LoopGraph.%d.dot",loop_n); | |
| 829 loop_output = fopen(loop_filename,"r"); | |
| 830 if(loop_output) | |
| 831 { | |
| 832 fclose(loop_output); | |
| 833 }else{ | |
| 834 break; | |
| 835 } | |
| 836 } | |
| 837 if(loop_n<255){ | |
| 838 printf("Saving Loop Graph to File: %s ...\n", loop_filename); | |
| 839 loop_output = fopen(loop_filename,"w+"); | |
| 840 if(loop_output!=NULL){ | |
| 841 set_dependency_file(loop_output); | |
| 842 fprintf(loop_output,"digraph Loop {\n"); | |
| 843 set_loop_file(loop_output); | |
| 844 forAllInDynArrayDo(_VMSMasterEnv->counter_history_array_info, &print_dot_node_info ); | |
| 845 forAllInDynArrayDo( _VMSMasterEnv->loop_graph_array_info, &print_per_slot_to_file ); | |
| 846 //int coreIdx; | |
| 847 //for(coreIdx=0;coreIdx<NUM_CORES;coreIdx++){ | |
| 848 // fprintf(loop_output,"sync%d_%d [shape=rect,label=\"Sync\"];\n",coreIdx,_VMSMasterEnv->loop_counter[coreIdx]); | |
| 849 //} | |
| 850 fprintf(loop_output,"}\n"); | |
| 851 } else | |
| 852 printf("Opening Loop Graph file failed. Please check that folder \"counters\" exists in run directory.\n"); | |
| 853 } else { | |
| 854 printf("Could not open Loop Graph file, please clean \"counters\" folder. (Must contain less than 255 files.)\n"); | |
| 855 } | |
| 856 #endif | |
| 812 #ifdef MEAS__TIME_PLUGIN | 857 #ifdef MEAS__TIME_PLUGIN |
| 813 printHist( _VMSMasterEnv->reqHdlrLowTimeHist ); | 858 printHist( _VMSMasterEnv->reqHdlrLowTimeHist ); |
| 814 saveHistToFile( _VMSMasterEnv->reqHdlrLowTimeHist ); | 859 saveHistToFile( _VMSMasterEnv->reqHdlrLowTimeHist ); |
| 815 printHist( _VMSMasterEnv->reqHdlrHighTimeHist ); | 860 printHist( _VMSMasterEnv->reqHdlrHighTimeHist ); |
| 816 saveHistToFile( _VMSMasterEnv->reqHdlrHighTimeHist ); | 861 saveHistToFile( _VMSMasterEnv->reqHdlrHighTimeHist ); |
