diff options
Diffstat (limited to 'perform/pio_engine.c')
-rw-r--r-- | perform/pio_engine.c | 53 |
1 files changed, 52 insertions, 1 deletions
diff --git a/perform/pio_engine.c b/perform/pio_engine.c index 009e84a..9edf499 100644 --- a/perform/pio_engine.c +++ b/perform/pio_engine.c @@ -145,7 +145,7 @@ static void do_cleanupfile(iotype iot, char *fname); * Modifications: */ results -do_pio(parameters param) +do_pio(FILE *output, parameters param) { /* return codes */ herr_t ret_code = 0; /*return code */ @@ -164,6 +164,10 @@ do_pio(parameters param) /* HDF5 variables */ herr_t hrc; /*HDF5 return code */ + int myrank; + + MPI_Comm_rank(pio_comm_g, &myrank); + /* Sanity check parameters */ /* IO type */ @@ -252,6 +256,11 @@ buf_size=MIN(1024*1024, buf_size); GOTOERROR(FAIL); } + if (pio_debug_level >= 4) { + /* output all of the times for all iterations */ + output_report(output, "Timer details:\n"); + } + for (nf = 1; nf <= nfiles; nf++) { /* * Write performance measurement @@ -269,14 +278,30 @@ fprintf(stderr, "filename=%s\n", fname); set_time(res.timers, HDF5_GROSS_WRITE_FIXED_DIMS, START); + if (pio_debug_level >= 4) + /* output all of the times for all iterations */ + fprintf(output, " Proc %d: Gross Write Start: %.2f\n", + myrank, get_time(res.timers, HDF5_GROSS_WRITE_FIXED_DIMS)); + hrc = do_fopen(iot, fname, &fd, PIO_CREATE | PIO_WRITE); VRFY((hrc == SUCCESS), "do_fopen failed"); set_time(res.timers, HDF5_FINE_WRITE_FIXED_DIMS, START); + + if (pio_debug_level >= 4) + /* output all of the times for all iterations */ + fprintf(output, " Proc %d: Fine Write Start: %.2f\n", + myrank, get_time(res.timers, HDF5_FINE_WRITE_FIXED_DIMS)); + hrc = do_write(&fd, iot, ndsets, nelmts, buf_size, buffer); set_time(res.timers, HDF5_FINE_WRITE_FIXED_DIMS, STOP); + if (pio_debug_level >= 4) + /* output all of the times for all iterations */ + fprintf(output, " Proc %d: Fine Write Stop: %.2f\n", + myrank, get_time(res.timers, HDF5_FINE_WRITE_FIXED_DIMS)); + VRFY((hrc == SUCCESS), "do_write failed"); /* Close file for write */ @@ -284,6 +309,11 @@ fprintf(stderr, "filename=%s\n", fname); set_time(res.timers, HDF5_GROSS_WRITE_FIXED_DIMS, STOP); + if (pio_debug_level >= 4) + /* output all of the times for all iterations */ + fprintf(output, " Proc %d: Gross Write Stop: %.2f\n", + myrank, get_time(res.timers, HDF5_GROSS_WRITE_FIXED_DIMS)); + VRFY((hrc == SUCCESS), "do_fclose failed"); MPI_Barrier(pio_comm_g); @@ -294,14 +324,30 @@ fprintf(stderr, "filename=%s\n", fname); /* Open file for read */ set_time(res.timers, HDF5_GROSS_READ_FIXED_DIMS, START); + if (pio_debug_level >= 4) + /* output all of the times for all iterations */ + fprintf(output, " Proc %d: Gross Read Start: %.2f\n", + myrank, get_time(res.timers, HDF5_GROSS_READ_FIXED_DIMS)); + hrc = do_fopen(iot, fname, &fd, PIO_READ); VRFY((hrc == SUCCESS), "do_fopen failed"); set_time(res.timers, HDF5_FINE_READ_FIXED_DIMS, START); + + if (pio_debug_level >= 4) + /* output all of the times for all iterations */ + fprintf(output, " Proc %d: Fine Read Start: %.2f\n", + myrank, get_time(res.timers, HDF5_FINE_READ_FIXED_DIMS)); + hrc = do_read(&fd, iot, ndsets, nelmts, buf_size, buffer); set_time(res.timers, HDF5_FINE_READ_FIXED_DIMS, STOP); + if (pio_debug_level >= 4) + /* output all of the times for all iterations */ + fprintf(output, " Proc %d: Fine Read Stop: %.2f\n", + myrank, get_time(res.timers, HDF5_FINE_READ_FIXED_DIMS)); + VRFY((hrc == SUCCESS), "do_read failed"); /* Close file for read */ @@ -309,6 +355,11 @@ fprintf(stderr, "filename=%s\n", fname); set_time(res.timers, HDF5_GROSS_READ_FIXED_DIMS, STOP); + if (pio_debug_level >= 4) + /* output all of the times for all iterations */ + fprintf(output, " Proc %d: Gross Read Stop: %.2f\n", + myrank, get_time(res.timers, HDF5_GROSS_READ_FIXED_DIMS)); + VRFY((hrc == SUCCESS), "do_fclose failed"); MPI_Barrier(pio_comm_g); |