diff --git a/ompi/mca/io/ompio/io_ompio.h b/ompi/mca/io/ompio/io_ompio.h index 5f6a137a4f..4f54e9af6d 100644 --- a/ompi/mca/io/ompio/io_ompio.h +++ b/ompi/mca/io/ompio/io_ompio.h @@ -112,7 +112,7 @@ OMPI_DECLSPEC extern int mca_io_ompio_coll_timing_info; #define OMPIO_UNIFORM_DIST_THRESHOLD 0.5 #define OMPIO_CONTG_THRESHOLD 1048576 -#define OMPIO_CONTG_FACTOR 4 +#define OMPIO_CONTG_FACTOR 8 #define OMPIO_DEFAULT_STRIPE_SIZE 1048576 #define OMPIO_PROCS_PER_GROUP_TAG 0 #define OMPIO_PROCS_IN_GROUP_TAG 1 diff --git a/ompi/mca/io/ompio/io_ompio_component.c b/ompi/mca/io/ompio/io_ompio_component.c index 9007d2f401..af8918985c 100644 --- a/ompi/mca/io/ompio/io_ompio_component.c +++ b/ompi/mca/io/ompio/io_ompio_component.c @@ -38,7 +38,7 @@ int mca_io_ompio_record_offset_info = 0; int mca_io_ompio_coll_timing_info = 0; int mca_io_ompio_sharedfp_lazy_open = 1; -int mca_io_ompio_grouping_option=4; +int mca_io_ompio_grouping_option=5; /* * Private functions @@ -202,12 +202,12 @@ static int register_component(void) MCA_BASE_VAR_SCOPE_READONLY, &mca_io_ompio_sharedfp_lazy_open); - mca_io_ompio_grouping_option = 4; + mca_io_ompio_grouping_option = 5; (void) mca_base_component_var_register(&mca_io_ompio_component.io_version, "grouping_option", "Option for grouping of processes in the aggregator selection " - "1: Data volume based grouping 2: create uniform groups 3: maximimze " - "contiguity 4: hybrid optimization (default) 5: simple/no optimization " + "1: Data volume based grouping 2: maximizing group size uniformity 3: maximimze " + "data contiguity 4: hybrid optimization 5: simple (default) " "6: skip refinement step", MCA_BASE_VAR_TYPE_INT, NULL, 0, 0, OPAL_INFO_LVL_9, diff --git a/ompi/mca/io/ompio/io_ompio_file_set_view.c b/ompi/mca/io/ompio/io_ompio_file_set_view.c index c9b2f1087d..0cf04b1373 100644 --- a/ompi/mca/io/ompio/io_ompio_file_set_view.c +++ b/ompi/mca/io/ompio/io_ompio_file_set_view.c @@ -328,8 +328,8 @@ int mca_io_ompio_simple_grouping(mca_io_ompio_file_t *fh, group_size = (((int)stripe_size/(int)fh->f_cc_size) > fh->f_size ) ? fh->f_size : ((int)stripe_size/(int)fh->f_cc_size); *num_groups = fh->f_size / group_size; } - else if ( fh->f_cc_size < OMPIO_CONTG_FACTOR * stripe_size) { - *num_groups = fh->f_size / OMPIO_CONTG_FACTOR; + else if ( fh->f_cc_size <= OMPIO_CONTG_FACTOR * stripe_size) { + *num_groups = fh->f_size/OMPIO_CONTG_FACTOR > 0 ? (fh->f_size/OMPIO_CONTG_FACTOR) : 1 ; group_size = OMPIO_CONTG_FACTOR; } else { @@ -350,7 +350,7 @@ int mca_io_ompio_simple_grouping(mca_io_ompio_file_t *fh, k++; } } - + sleep (10); return OMPI_SUCCESS; }