From c2f2ef0507ec2a87d6a8fbf5fe0ca158e5c3b8d2 Mon Sep 17 00:00:00 2001 From: Camilo Date: Fri, 25 May 2018 13:34:16 -0300 Subject: [PATCH] Fixed run repetitions time measurement --- examples/less_tasks_trec.json | 76 +++++++++++++++++++++++++++++++ src/iore_run.c | 9 ++-- test/mpiio_file_view.c | 86 ----------------------------------- 3 files changed, 81 insertions(+), 90 deletions(-) create mode 100644 examples/less_tasks_trec.json delete mode 100644 test/mpiio_file_view.c diff --git a/examples/less_tasks_trec.json b/examples/less_tasks_trec.json new file mode 100644 index 0000000..70069bb --- /dev/null +++ b/examples/less_tasks_trec.json @@ -0,0 +1,76 @@ +{ + "runs": [ + { + "num_repetitions": 1, + "test": { + "file_mode": "Nx1", + "file_name": "./testfile", + "file_name_append_sequence_num": true, + "workload": { + "num_tasks": 4, + "offset": { + "access_pattern": "sequential", + "data_sizes": [ + "100M" + ], + "request_sizes": [ + "1K" + ] + } + }, + "afio": { + "posix": { + } + } + } + }, + { + "num_repetitions": 1, + "test": { + "file_mode": "Nx1", + "file_name": "./testfile", + "file_name_append_sequence_num": true, + "workload": { + "num_tasks": 2, + "offset": { + "access_pattern": "sequential", + "data_sizes": [ + "100M" + ], + "request_sizes": [ + "1K" + ] + } + }, + "afio": { + "posix": { + } + } + } + }, + { + "num_repetitions": 1, + "test": { + "file_mode": "Nx1", + "file_name": "./testfile", + "file_name_append_sequence_num": true, + "workload": { + "num_tasks": 4, + "offset": { + "access_pattern": "sequential", + "data_sizes": [ + "100M" + ], + "request_sizes": [ + "1K" + ] + } + }, + "afio": { + "posix": { + } + } + } + } + ] +} diff --git a/src/iore_run.c b/src/iore_run.c index 00ba3fa..9d13cc1 100644 --- a/src/iore_run.c +++ b/src/iore_run.c @@ -64,16 +64,15 @@ run_exec (iore_run_t *this, unsigned int rpl_id) { unsigned int i; for (i = 1; i <= this->num_repetitions && !rerr; i++) - { - rerr = run_rept_exec (this, rpl_id, i); - MPI_Barrier (ctx.comm); - } + rerr = run_rept_exec (this, rpl_id, i); } rerr = run_post (); iore_trec_run_t *trec_run = trec_run_stop (); run_show_summary (trec_run); + MPI_Barrier (ctx.comm); + return rerr; } /* run_exec () */ @@ -133,6 +132,8 @@ run_rept_exec (iore_run_t *run, unsigned int rpl_id, unsigned int rpt_id) iore_trec_run_rept_t *trec_run_rept = trec_run_rept_stop (); run_rept_show_summary (trec_run_rept); + MPI_Barrier (ctx.comm); + return rerr; } /* run_rept_exec () */ diff --git a/test/mpiio_file_view.c b/test/mpiio_file_view.c deleted file mode 100644 index c078023..0000000 --- a/test/mpiio_file_view.c +++ /dev/null @@ -1,86 +0,0 @@ -#include -#include -#include -#include - -/* matrix (8 x 16) divided by 4 processes */ -#define NUM_DIMS 2 -#define G_X_SIZE 8 -#define G_Y_SIZE 16 -#define NUM_PROCS 4 -#define FILE_NAME "./test_mpi_fview.txt" - -int -main (int argc, char **argv) -{ - MPI_Init (&argc, &argv); - - int rank, nprocs; - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - - if (nprocs != NUM_PROCS) - { - fputs ("Must have 4 MPI ranks.\n", stderr); - MPI_Abort (MPI_COMM_WORLD, -1); - } - - /* matrix (8 x 16) */ - int g_sizes[NUM_DIMS] = - { G_X_SIZE, G_Y_SIZE }; - - /* sub-matrix (4 x 8) */ - int l_sizes[NUM_DIMS] = - { (G_X_SIZE / 2), (G_Y_SIZE / 2) }; - int l_coord[NUM_DIMS] = - { ((rank % 2) * l_sizes[0]), (((rank / 2) % 2) * l_sizes[1]) }; - size_t size = l_sizes[0] * l_sizes[1] * sizeof(char); - char *buf = malloc (size); - assert(buf); - int i; - for (i = 0; i < size; i++) - buf[i] = (rank % 26) + 'a'; - - /* Open file */ - MPI_File fh; - if (MPI_File_open (MPI_COMM_WORLD, FILE_NAME, - MPI_MODE_CREATE | MPI_MODE_WRONLY, - MPI_INFO_NULL, &fh)) - { - fputs ("Open failed\n", stderr); - MPI_Abort (MPI_COMM_WORLD, -1); - } - - /* MPI file type */ - MPI_Datatype file_type; - if (MPI_Type_create_subarray (NUM_DIMS, g_sizes, l_sizes, l_coord, - MPI_ORDER_C, - MPI_CHAR, &file_type)) - { - fputs ("Create subarray failed\n", stderr); - MPI_Abort (MPI_COMM_WORLD, -1); - } - MPI_Type_commit (&file_type); - if (MPI_File_set_view (fh, 0, MPI_CHAR, file_type, "native", MPI_INFO_NULL)) - { - fputs ("Set view failed\n", stderr); - MPI_Abort (MPI_COMM_WORLD, -1); - } - - /* write sub-matrix to file */ - if (MPI_File_write (fh, buf, size, MPI_CHAR, MPI_STATUS_IGNORE)) - { - fputs ("Write failed\n", stderr); - MPI_Abort (MPI_COMM_WORLD, -1); - } - - /* close file */ - MPI_File_close (&fh); - - MPI_Finalize (); - - free (buf); - - exit (EXIT_SUCCESS); -} /* main () */ -