Aggregator selection logic Part 2 and reorganized Part1
Этот коммит содержится в:
родитель
830df07202
Коммит
68d78fd718
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
@ -44,6 +44,7 @@ extern int mca_io_ompio_bytes_per_agg;
|
||||
extern int mca_io_ompio_num_aggregators;
|
||||
extern int mca_io_ompio_record_offset_info;
|
||||
extern int mca_io_ompio_sharedfp_lazy_open;
|
||||
extern int mca_io_ompio_grouping_option;
|
||||
OMPI_DECLSPEC extern int mca_io_ompio_coll_timing_info;
|
||||
|
||||
/*
|
||||
@ -91,7 +92,9 @@ OMPI_DECLSPEC extern int mca_io_ompio_coll_timing_info;
|
||||
|
||||
|
||||
/*AGGREGATOR GROUPING DECISIONS*/
|
||||
#define OMPIO_GROUPING_OPTION 1
|
||||
#define OMPIO_MERGE 1
|
||||
#define OMPIO_SPLIT 2
|
||||
#define OMPIO_RETAIN 3
|
||||
#define DATA_VOLUME 1
|
||||
#define UNIFORM_DISTRIBUTION 2
|
||||
#define OMPIO_UNIFORM_DIST_THRESHOLD 0.5
|
||||
@ -100,6 +103,7 @@ OMPI_DECLSPEC extern int mca_io_ompio_coll_timing_info;
|
||||
#define OPTIMIZE_GROUPING 4
|
||||
#define OMPIO_PROCS_PER_GROUP_TAG 0
|
||||
#define OMPIO_PROCS_IN_GROUP_TAG 1
|
||||
#define OMPIO_MERGE_THRESHOLD 0.5
|
||||
|
||||
/*---------------------------*/
|
||||
|
||||
@ -529,34 +533,16 @@ OMPI_DECLSPEC int ompi_io_ompio_set_aggregator_props (struct mca_io_ompio_file_t
|
||||
int num_aggregators,
|
||||
size_t bytes_per_proc);
|
||||
|
||||
OMPI_DECLSPEC int mca_io_ompio_create_groups(mca_io_ompio_file_t *fh,
|
||||
size_t bytes_per_proc);
|
||||
|
||||
OMPI_DECLSPEC int mca_io_ompio_cart_based_grouping(mca_io_ompio_file_t *ompio_fh);
|
||||
int mca_io_ompio_cart_based_grouping(mca_io_ompio_file_t *ompio_fh);
|
||||
|
||||
OMPI_DECLSPEC int mca_io_ompio_fview_based_grouping(mca_io_ompio_file_t *fh,
|
||||
int mca_io_ompio_fview_based_grouping(mca_io_ompio_file_t *fh,
|
||||
int *num_groups,
|
||||
contg *contg_groups);
|
||||
|
||||
OMPI_DECLSPEC int mca_io_ompio_finalize_initial_grouping(mca_io_ompio_file_t *fh,
|
||||
int num_groups,
|
||||
contg *contg_groups);
|
||||
|
||||
OMPI_DECLSPEC int mca_io_ompio_split_group(mca_io_ompio_file_t *fh,
|
||||
OMPI_MPI_OFFSET_TYPE *start_offsets_lens,
|
||||
OMPI_MPI_OFFSET_TYPE *end_offsets,
|
||||
int size_new_group,
|
||||
OMPI_MPI_OFFSET_TYPE *max_cci,
|
||||
OMPI_MPI_OFFSET_TYPE *min_cci,
|
||||
int *num_groups,
|
||||
int *size_smallest_group);
|
||||
|
||||
int mca_io_ompio_distribute_group(mca_io_ompio_file_t *fh,
|
||||
int size_old_group,
|
||||
int size_new_group,
|
||||
int size_last_group);
|
||||
|
||||
/*end of aggregator selection methods*/
|
||||
int mca_io_ompio_finalize_initial_grouping(mca_io_ompio_file_t *fh,
|
||||
int num_groups,
|
||||
contg *contg_groups);
|
||||
|
||||
|
||||
OMPI_DECLSPEC int ompi_io_ompio_break_file_view (mca_io_ompio_file_t *fh,
|
||||
|
@ -33,6 +33,8 @@ 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=0;
|
||||
|
||||
/*
|
||||
* Private functions
|
||||
*/
|
||||
@ -186,6 +188,7 @@ static int register_component(void)
|
||||
MCA_BASE_VAR_SCOPE_READONLY,
|
||||
&mca_io_ompio_num_aggregators);
|
||||
|
||||
|
||||
mca_io_ompio_sharedfp_lazy_open = 1;
|
||||
(void) mca_base_component_var_register(&mca_io_ompio_component.io_version,
|
||||
"sharedfp_lazy_open",
|
||||
@ -195,6 +198,14 @@ static int register_component(void)
|
||||
MCA_BASE_VAR_SCOPE_READONLY,
|
||||
&mca_io_ompio_sharedfp_lazy_open);
|
||||
|
||||
mca_io_ompio_grouping_option = 0;
|
||||
(void) mca_base_component_var_register(&mca_io_ompio_component.io_version,
|
||||
"grouping_option",
|
||||
"Option for grouping of processes in the aggregator selection",
|
||||
MCA_BASE_VAR_TYPE_INT, NULL, 0, 0,
|
||||
OPAL_INFO_LVL_9,
|
||||
MCA_BASE_VAR_SCOPE_READONLY,
|
||||
&mca_io_ompio_grouping_option);
|
||||
|
||||
return OMPI_SUCCESS;
|
||||
}
|
||||
|
Загрузка…
Ссылка в новой задаче
Block a user