Skip to content
This repository was archived by the owner on Sep 30, 2022. It is now read-only.
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
b0d975f
Performance tuning: make sure the individual component is selected fo…
edgargabriel Jul 30, 2015
78c901d
free the datatypes that were created using type_dup during file_set_view
edgargabriel Aug 7, 2015
4711106
Performance tuning. make sure we catch if the user wants to set the d…
edgargabriel Aug 7, 2015
1ab0545
Performance tuning: change the default behavior of ompio to *not* seg…
edgargabriel Aug 7, 2015
f12995a
free memory correctly in case of an error. Fixes CID 131540 and CID 1…
edgargabriel Aug 7, 2015
fcaa733
make sure the final number of aggregators is recorded correctly when …
edgargabriel Jul 30, 2015
23ad3d0
Performance tuning: increase the priority of the sm sharedfp componen…
edgargabriel Aug 7, 2015
2192530
pml/crcpw - remote crcpw pml
hppritcha Aug 11, 2015
d994f29
Merge pull request #488 from nrgraham23/java_handle_bugfix
hppritcha Aug 11, 2015
8516895
Merge pull request #487 from hppritcha/topic/crcpw_pml_removal
jsquyres Aug 11, 2015
78f85e0
Performance tuning: make sure the individual component is selected fo…
edgargabriel Jul 30, 2015
6f50ca1
free the datatypes that were created using type_dup during file_set_view
edgargabriel Aug 7, 2015
5318454
Performance tuning. make sure we catch if the user wants to set the d…
edgargabriel Aug 7, 2015
c53d974
Performance tuning: change the default behavior of ompio to *not* seg…
edgargabriel Aug 7, 2015
3fba27b
free memory correctly in case of an error. Fixes CID 131540 and CID 1…
edgargabriel Aug 7, 2015
59e07e5
Performance tuning: increase the priority of the sm sharedfp componen…
edgargabriel Aug 7, 2015
7d06364
Merge branch 'pr/performance-tuning' of github.com:edgargabriel/ompi-…
edgargabriel Aug 12, 2015
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions ompi/mca/fcoll/base/fcoll_base_file_select.c
Original file line number Diff line number Diff line change
Expand Up @@ -262,6 +262,9 @@ int mca_fcoll_base_query_table (struct mca_io_ompio_file_t *file, char *name)
file->f_cc_size >= file->f_stripe_size) {
return 1;
}
if ( 2 >= (int)file->f_size ){
return 1;
}
}
if (!strcmp (name, "dynamic")) {
if ((int)file->f_cc_size < file->f_bytes_per_agg &&
Expand Down
3 changes: 3 additions & 0 deletions ompi/mca/fcoll/individual/fcoll_individual_module.c
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,9 @@ mca_fcoll_individual_component_file_query (mca_io_ompio_file_t *fh, int *priorit
if (*priority < 50) {
*priority = 50;
}
if ( 2 >= fh->f_size ) {
*priority = 100;
}
}

return &individual;
Expand Down
8 changes: 4 additions & 4 deletions ompi/mca/io/ompio/io_ompio.c
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,6 @@ static int mca_io_ompio_merge_groups(mca_io_ompio_file_t *fh,
int num_merge_aggrs);



int ompi_io_ompio_set_file_defaults (mca_io_ompio_file_t *fh)
{

Expand Down Expand Up @@ -133,15 +132,16 @@ int ompi_io_ompio_set_file_defaults (mca_io_ompio_file_t *fh)
fh->f_init_num_aggrs = -1;
fh->f_init_aggr_list = NULL;

ompi_datatype_create_contiguous(1048576,
ompi_datatype_create_contiguous(MCA_IO_DEFAULT_FILE_VIEW_SIZE,
&ompi_mpi_byte.dt,
&default_file_view);
ompi_datatype_commit (&default_file_view);

fh->f_etype = &ompi_mpi_byte.dt;
fh->f_filetype = default_file_view;


ompi_datatype_duplicate ( &ompi_mpi_byte.dt, &fh->f_orig_filetype );


/* Default file View */
fh->f_iov_type = MPI_DATATYPE_NULL;
fh->f_stripe_size = mca_io_ompio_bytes_per_agg;
Expand Down
3 changes: 3 additions & 0 deletions ompi/mca/io/ompio/io_ompio.h
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,9 @@ OMPI_DECLSPEC extern int mca_io_ompio_coll_timing_info;
#define OMPIO_CONTIGUOUS_FVIEW 0x00000010
#define OMPIO_AGGREGATOR_IS_SET 0x00000020
#define OMPIO_SHAREDFP_IS_SET 0x00000040

#define QUEUESIZE 2048
#define MCA_IO_DEFAULT_FILE_VIEW_SIZE 4*1024*1024

#define OMPIO_MIN(a, b) (((a) < (b)) ? (a) : (b))
#define OMPIO_MAX(a, b) (((a) < (b)) ? (b) : (a))
Expand Down Expand Up @@ -320,6 +322,7 @@ struct mca_io_ompio_file_t {
size_t f_view_size;
ompi_datatype_t *f_etype;
ompi_datatype_t *f_filetype;
ompi_datatype_t *f_orig_filetype; /* the fileview passed by the user to us */
size_t f_etype_size;

/* contains IO requests that needs to be read/written */
Expand Down
6 changes: 3 additions & 3 deletions ompi/mca/io/ompio/io_ompio_component.c
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
#include "ompi/mca/io/io.h"
#include "io_ompio.h"

int mca_io_ompio_cycle_buffer_size = OMPIO_PREALLOC_MAX_BUF_SIZE;
int mca_io_ompio_cycle_buffer_size = -1;
int mca_io_ompio_bytes_per_agg = OMPIO_PREALLOC_MAX_BUF_SIZE;
int mca_io_ompio_num_aggregators = -1;
int mca_io_ompio_record_offset_info = 0;
Expand Down Expand Up @@ -162,10 +162,10 @@ static int register_component(void)
MCA_BASE_VAR_SCOPE_READONLY,
&mca_io_ompio_coll_timing_info);

mca_io_ompio_cycle_buffer_size = OMPIO_PREALLOC_MAX_BUF_SIZE;
mca_io_ompio_cycle_buffer_size = -1;
(void) mca_base_component_var_register(&mca_io_ompio_component.io_version,
"cycle_buffer_size",
"Cycle buffer size of individual reads/writes",
"Data size issued by individual reads/writes per call",
MCA_BASE_VAR_TYPE_INT, NULL, 0, 0,
OPAL_INFO_LVL_9,
MCA_BASE_VAR_SCOPE_READONLY,
Expand Down
12 changes: 12 additions & 0 deletions ompi/mca/io/ompio/io_ompio_file_open.c
Original file line number Diff line number Diff line change
Expand Up @@ -380,6 +380,18 @@ ompio_io_ompio_file_close (mca_io_ompio_file_t *ompio_fh)
ompi_datatype_destroy (&ompio_fh->f_iov_type);
}

if ( MPI_DATATYPE_NULL != ompio_fh->f_etype ) {
ompi_datatype_destroy (&ompio_fh->f_etype);
}
if ( MPI_DATATYPE_NULL != ompio_fh->f_filetype ){
ompi_datatype_destroy (&ompio_fh->f_filetype);
}

if ( MPI_DATATYPE_NULL != ompio_fh->f_orig_filetype ){
ompi_datatype_destroy (&ompio_fh->f_orig_filetype);
}


if (MPI_COMM_NULL != ompio_fh->f_comm && (ompio_fh->f_flags & OMPIO_SHAREDFP_IS_SET) ) {
ompi_comm_free (&ompio_fh->f_comm);
}
Expand Down
7 changes: 6 additions & 1 deletion ompi/mca/io/ompio/io_ompio_file_read.c
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,12 @@ int ompio_io_ompio_file_read (mca_io_ompio_file_t *fh,
&decoded_iov,
&iov_count);

bytes_per_cycle = mca_io_ompio_cycle_buffer_size;
if ( -1 == mca_io_ompio_cycle_buffer_size ) {
bytes_per_cycle = max_data;
}
else {
bytes_per_cycle = mca_io_ompio_cycle_buffer_size;
}
cycles = ceil((float)max_data/bytes_per_cycle);

#if 0
Expand Down
47 changes: 37 additions & 10 deletions ompi/mca/io/ompio/io_ompio_file_set_view.c
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2008-2014 University of Houston. All rights reserved.
* Copyright (c) 2008-2015 University of Houston. All rights reserved.
* Copyright (c) 2015 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
Expand Down Expand Up @@ -135,10 +135,16 @@ int mca_io_ompio_file_set_view (ompi_file_t *fp,
{
mca_io_ompio_data_t *data;
mca_io_ompio_file_t *fh;
size_t ftype_size;
OPAL_PTRDIFF_TYPE ftype_extent, lb;

data = (mca_io_ompio_data_t *) fp->f_io_selected_data;
fh = &data->ompio_fh;


ompi_datatype_destroy (&fh->f_etype);
ompi_datatype_destroy (&fh->f_filetype);
ompi_datatype_destroy (&fh->f_orig_filetype);

if (NULL != fh->f_decoded_iov) {
free (fh->f_decoded_iov);
fh->f_decoded_iov = NULL;
Expand All @@ -154,14 +160,35 @@ int mca_io_ompio_file_set_view (ompi_file_t *fp,

fh->f_flags |= OMPIO_FILE_VIEW_IS_SET;
fh->f_datarep = strdup (datarep);

mca_io_ompio_set_view_internal (fh,
disp,
etype,
filetype,
datarep,
info);
ompi_datatype_duplicate (filetype, &fh->f_orig_filetype );

opal_datatype_get_extent(&filetype->super, &lb, &ftype_extent);
opal_datatype_type_size (&filetype->super, &ftype_size);

if ( etype == filetype &&
ompi_datatype_is_predefined (filetype ) &&
ftype_extent == (OPAL_PTRDIFF_TYPE)ftype_size ){
ompi_datatype_t *newfiletype;
ompi_datatype_create_contiguous(MCA_IO_DEFAULT_FILE_VIEW_SIZE,
&ompi_mpi_byte.dt,
&newfiletype);
ompi_datatype_commit (&newfiletype);
mca_io_ompio_set_view_internal (fh,
disp,
etype,
newfiletype,
datarep,
info);
ompi_datatype_destroy ( &newfiletype );
}
else {
mca_io_ompio_set_view_internal (fh,
disp,
etype,
filetype,
datarep,
info);
}

if (OMPI_SUCCESS != mca_fcoll_base_file_select (&data->ompio_fh,
NULL)) {
Expand All @@ -186,7 +213,7 @@ int mca_io_ompio_file_get_view (struct ompi_file_t *fp,

*disp = fh->f_disp;
ompi_datatype_duplicate (fh->f_etype, etype);
ompi_datatype_duplicate (fh->f_filetype, filetype);
ompi_datatype_duplicate (fh->f_orig_filetype, filetype);
strcpy (datarep, fh->f_datarep);

return OMPI_SUCCESS;
Expand Down
7 changes: 6 additions & 1 deletion ompi/mca/io/ompio/io_ompio_file_write.c
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,12 @@ int ompio_io_ompio_file_write (mca_io_ompio_file_t *fh,
&decoded_iov,
&iov_count);

bytes_per_cycle = mca_io_ompio_cycle_buffer_size;
if ( -1 == mca_io_ompio_cycle_buffer_size ) {
bytes_per_cycle = max_data;
}
else {
bytes_per_cycle = mca_io_ompio_cycle_buffer_size;
}
cycles = ceil((float)max_data/bytes_per_cycle);

#if 0
Expand Down
42 changes: 0 additions & 42 deletions ompi/mca/pml/crcpw/Makefile.am

This file was deleted.

28 changes: 0 additions & 28 deletions ompi/mca/pml/crcpw/configure.m4

This file was deleted.

7 changes: 0 additions & 7 deletions ompi/mca/pml/crcpw/owner.txt

This file was deleted.

Loading