Esempio n. 1
0
/* OptEdgeProfAtExitHandler - When the program exits, just write out the
 * profiling data.
 */
static void OptEdgeProfAtExitHandler() {
  /* Note that, although the array has a counter for each edge, not all
   * counters are updated, the ones that are not used are initialised with -1.
   * When loading this information the counters with value -1 have to be
   * recalculated, it is guaranteed that this is possible.
   */
  write_profiling_data(OptEdgeInfo, ArrayStart, NumElements);
}
Esempio n. 2
0
/* EdgeProfAtExitHandler - When the program exits, just write out the profiling
 * data.
 */
static void EdgeProfAtExitHandler(void) {
  /* Note that if this were doing something more intelligent with the
   * instrumentation, we could do some computation here to expand what we
   * collected into simple edge profiles.  Since we directly count each edge, we
   * just write out all of the counters directly.
   */
  write_profiling_data(EdgeInfo, ArrayStart, NumElements);
}
Esempio n. 3
0
/* EdgeProfAtExitHandler - When the program exits, just write out the profiling
 * data.
 */
static void MPIProfAtExitHandler(void) {
  /* Note that if this were doing something more intelligent with the
   * instrumentation, we could do some computation here to expand what we
   * collected into simple edge profiles.  Since we directly count each edge, we
   * just write out all of the counters directly.
   */
  unsigned* MapTable = ArrayStart + NumElements;
  unsigned* VisitTable = MapTable + FORTRAN_DATATYPE_MAP_SIZE;
  unsigned i;
  for(i=0;i<FORTRAN_DATATYPE_MAP_SIZE;++i){
    if(*VisitTable++ == 1 && *MapTable++ == 0)
      fprintf(stderr, "WARNNING: doesn't consider MPI Fortran Type %d\n", i);
  }
  write_profiling_data(MPIFullInfo, ArrayStart, NumElements);
}
Esempio n. 4
0
/* FuncProfAtExitHandler - When the program exits, just write out the profiling
 * data.
 */
static void FuncProfAtExitHandler() {
  /* Just write out the data we collected.
   */
  write_profiling_data(FunctionInfo, ArrayStart, NumElements);
}
/* WriteAndFlushBBTraceData - write out the currently accumulated trace data
 * and reset the cursor to point to the beginning of the buffer.
 */
static void WriteAndFlushBBTraceData () {
  write_profiling_data(BBTraceInfo, ArrayStart, (ArrayCursor - ArrayStart));
  ArrayCursor = ArrayStart;
}