Changeset 16266
- Timestamp:
- 09/27/13 12:45:50 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/analyses/ad_core.cpp
r16262 r16266 61 61 tapestats(my_rank,tape_stats); //reading of tape statistics 62 62 if(VerboseAutodiff()){ 63 int offset=50; 64 _printf0_(" ADOLC statistics: \n"); 65 _printf0_(" "<<setw(offset)<<left<<"#independents: " <<tape_stats[NUM_INDEPENDENTS] << "\n"); 66 _printf0_(" "<<setw(offset)<<left<<"#dependents: " <<tape_stats[NUM_DEPENDENTS] << "\n"); 67 _printf0_(" "<<setw(offset)<<left<<"max #live active variables: " <<tape_stats[NUM_MAX_LIVES] << "\n"); 68 _printf0_(" operations: \n"); 69 _printf0_(" "<<setw(offset)<<left<<" #entries in buffer (AutodiffObufsizeEnum) " <<tape_stats[OP_BUFFER_SIZE] << "\n"); 70 _printf0_(" "<<setw(offset)<<left<<" entry size " << sizeof(unsigned char) << "B\n"); 71 _printf0_(" "<<setw(offset)<<left<<" #entries total" <<tape_stats[NUM_OPERATIONS] << "\n"); 72 _printf0_(" "<<setw(offset)<<left<<" buffer written to file: " << (tape_stats[OP_FILE_ACCESS]?"y":"n") << "\n"); 73 _printf0_(" locations: \n"); 74 _printf0_(" "<<setw(offset)<<left<<" #entries in buffer (AutodiffLbufsizeEnum) " <<tape_stats[LOC_BUFFER_SIZE] << "\n"); 75 _printf0_(" "<<setw(offset)<<left<<" entry size " << sizeof(locint) << "B\n"); 76 _printf0_(" "<<setw(offset)<<left<<" #entries total" <<tape_stats[NUM_LOCATIONS] << "\n"); 77 _printf0_(" "<<setw(offset)<<left<<" buffer written to file: " << (tape_stats[LOC_FILE_ACCESS]?"y":"n") << "\n"); 78 _printf0_(" constant values: \n"); 79 _printf0_(" "<<setw(offset)<<left<<" #entries in buffer (AutodiffCbufsizeEnum) " <<tape_stats[VAL_BUFFER_SIZE] << "\n"); 80 _printf0_(" "<<setw(offset)<<left<<" entry size " << sizeof(double) << "B\n"); 81 _printf0_(" "<<setw(offset)<<left<<" #entries total" <<tape_stats[NUM_VALUES] << "\n"); 82 _printf0_(" "<<setw(offset)<<left<<" buffer written to file: " << (tape_stats[VAL_FILE_ACCESS]?"y":"n") << "\n"); 83 _printf0_(" Taylor stack: \n"); 84 _printf0_(" "<<setw(offset)<<left<<" #entries in buffer (AutodiffTbufsizeEnum) " <<tape_stats[TAY_BUFFER_SIZE] << "\n"); 85 _printf0_(" "<<setw(offset)<<left<<" entry size " << sizeof(revreal) << "B\n"); 86 _printf0_(" "<<setw(offset)<<left<<" #entries total" <<tape_stats[TAY_STACK_SIZE] << "\n"); 87 _printf0_(" "<<setw(offset)<<left<<" buffer written to file: " << (tape_stats[TAY_STACK_SIZE]>tape_stats[TAY_BUFFER_SIZE]?"y":"n") << "\n"); 63 int commSize=IssmComm::GetSize(); 64 int *sstats=new int[7]; 65 sstats[0]=tape_stats[NUM_OPERATIONS]; 66 sstats[1]=tape_stats[OP_FILE_ACCESS]; 67 sstats[2]=tape_stats[NUM_LOCATIONS]; 68 sstats[3]=tape_stats[LOC_FILE_ACCESS]; 69 sstats[4]=tape_stats[NUM_VALUES]; 70 sstats[5]=tape_stats[VAL_FILE_ACCESS]; 71 sstats[6]=tape_stats[TAY_STACK_SIZE]; 72 int *rstats=NULL; 73 if (my_rank==0) rstats=new int[commSize*7]; 74 ISSM_MPI_Gather(sstats,7,ISSM_MPI_INT,rstats,7,ISSM_MPI_INT,0,IssmComm::GetComm()); 75 if (my_rank==0) { 76 int offset=50; 77 int rOffset=(commSize/10)+1; 78 _printf_(" ADOLC statistics: \n"); 79 _printf_(" "<<setw(offset)<<left<<"#independents: " <<tape_stats[NUM_INDEPENDENTS] << "\n"); 80 _printf_(" "<<setw(offset)<<left<<"#dependents: " <<tape_stats[NUM_DEPENDENTS] << "\n"); 81 _printf_(" "<<setw(offset)<<left<<"max #live active variables: " <<tape_stats[NUM_MAX_LIVES] << "\n"); 82 _printf_(" operations: \n"); 83 _printf_(" "<<setw(offset)<<left<<" #entries in buffer (AutodiffObufsizeEnum) " <<tape_stats[OP_BUFFER_SIZE] << "\n"); 84 _printf_(" "<<setw(offset)<<left<<" entry size " << sizeof(unsigned char) << "B\n"); 85 for (int r=0;r<commSize;++r) 86 _printf_(" ["<<setw(rOffset)<<right<<r<<setw(offset-rOffset-1)<<"] #entries total" <<setw(12)<<right<<rstats[r*7+0] << (rstats[r*7+1]?" ->file":"") << "\n"); 87 _printf_(" locations: \n"); 88 _printf_(" "<<setw(offset)<<left<<" #entries in buffer (AutodiffLbufsizeEnum) " <<tape_stats[LOC_BUFFER_SIZE] << "\n"); 89 _printf_(" "<<setw(offset)<<left<<" entry size " << sizeof(locint) << "B\n"); 90 for (int r=0;r<commSize;++r) 91 _printf_(" ["<<setw(rOffset)<<right<<r<<setw(offset-rOffset-1)<<"] #entries total" <<setw(12)<<right<<rstats[r*7+2] << (rstats[r*7+3]?" ->file":"") << "\n"); 92 _printf_(" constant values: \n"); 93 _printf_(" "<<setw(offset)<<left<<" #entries in buffer (AutodiffCbufsizeEnum) " <<tape_stats[VAL_BUFFER_SIZE] << "\n"); 94 _printf_(" "<<setw(offset)<<left<<" entry size " << sizeof(double) << "B\n"); 95 for (int r=0;r<commSize;++r) 96 _printf_(" ["<<setw(rOffset)<<right<<r<<setw(offset-rOffset-1)<<"] #entries total" <<setw(12)<<right<<rstats[r*7+4] << (rstats[r*7+5]?"->file":"") << "\n"); 97 _printf_(" Taylor stack: \n"); 98 _printf_(" "<<setw(offset)<<left<<" #entries in buffer (AutodiffTbufsizeEnum) " <<tape_stats[TAY_BUFFER_SIZE] << "\n"); 99 _printf_(" "<<setw(offset)<<left<<" entry size " << sizeof(revreal) << "B\n"); 100 for (int r=0;r<commSize;++r) 101 _printf_(" ["<<setw(rOffset)<<right<<r<<setw(offset-rOffset-1)<<"] #entries total" <<setw(12)<<right<<rstats[r*7+6] << (rstats[r*7+6]>tape_stats[TAY_BUFFER_SIZE]?"->file":"") << "\n"); 102 delete []rstats; 103 } 104 delete [] sstats; 88 105 } 89 90 106 91 107 /*retrieve state variable: */
Note:
See TracChangeset
for help on using the changeset viewer.