diff options
author | Neil Fortner <nfortne2@hdfgroup.org> | 2021-09-16 19:43:57 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-16 19:43:57 (GMT) |
commit | c1e73fd70ff3c49b05712a3fb7329f82fae3401c (patch) | |
tree | a871d249a660cfda3648e381a7bf69417ad5a4ed /src/H5Dio.c | |
parent | 19f94643389881e1f2c27c688c405f9ba5568c18 (diff) | |
parent | 2023495f320ed22febe41eb6c95a4bc687a8b676 (diff) | |
download | hdf5-c1e73fd70ff3c49b05712a3fb7329f82fae3401c.zip hdf5-c1e73fd70ff3c49b05712a3fb7329f82fae3401c.tar.gz hdf5-c1e73fd70ff3c49b05712a3fb7329f82fae3401c.tar.bz2 |
Merge pull request #986 from fortnern/parallel_selection_io
Add support for independent parallel I/O with selection I/O
Diffstat (limited to 'src/H5Dio.c')
-rw-r--r-- | src/H5Dio.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/H5Dio.c b/src/H5Dio.c index 03400cf..cc5f5bb 100644 --- a/src/H5Dio.c +++ b/src/H5Dio.c @@ -622,6 +622,10 @@ H5D__ioinfo_init(H5D_t *dset, const H5D_type_info_t *type_info, H5D_storage_t *s io_info->io_ops.single_write = H5D__scatgath_write; } /* end else */ + /* Start with selection I/O off, layout callback will turn it on if + * appropriate */ + io_info->use_select_io = FALSE; + #ifdef H5_HAVE_PARALLEL /* Determine if the file was opened with an MPI VFD */ io_info->using_mpi_vfd = H5F_HAS_FEATURE(dset->oloc.file, H5FD_FEAT_HAS_MPI); @@ -841,8 +845,11 @@ H5D__ioinfo_adjust(H5D_io_info_t *io_info, const H5D_t *dset, const H5S_t *file_ H5CX_set_mpio_actual_io_mode(H5D_MPIO_NO_COLLECTIVE); } /* end if */ - /* Make any parallel I/O adjustments */ - if (io_info->using_mpi_vfd) { + /* Make any parallel I/O adjustments. Do not use collective code path if + * we're using selection I/O - in this case the file driver will handle it. + */ + /* Check for selection/vector support in file driver? -NAF */ + if (io_info->using_mpi_vfd /*&& !H5_use_selection_io_g*/) { H5FD_mpio_xfer_t xfer_mode; /* Parallel transfer for this request */ htri_t opt; /* Flag whether a selection is optimizable */ |