From 3ce78d0d8d8bb23e887ccd694b86dfcd5c96176c Mon Sep 17 00:00:00 2001 From: Jordan Henderson Date: Wed, 5 Jul 2017 08:40:09 -0500 Subject: Add comment for full overwrite special case --- src/H5Dmpio.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/H5Dmpio.c b/src/H5Dmpio.c index a5899d4..e818c3f 100644 --- a/src/H5Dmpio.c +++ b/src/H5Dmpio.c @@ -2664,6 +2664,14 @@ H5D__construct_filtered_io_info_list(const H5D_io_info_t *io_info, const H5D_typ HGOTO_ERROR(H5E_DATASET, H5E_CANTCOUNT, FAIL, "dataspace is invalid") local_info_array[i].io_size = (size_t) select_npoints * type_info->src_type_size; + /* XXX: Currently the full overwrite status of a chunk is only obtained on a per-process + * basis. This means that if the total selection in the chunk, as determined by the combination + * of selections of all of the processes interested in the chunk, covers the entire chunk, + * the performance optimization of not reading the chunk from the file is still valid, but + * is not applied in the current implementation. Something like an appropriately placed + * MPI_Allreduce or a running total of the number of chunk points selected during chunk + * redistribution should suffice for implementing this case - JTH. + */ if ((chunk_npoints = H5S_GET_EXTENT_NPOINTS(chunk_info->fspace)) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTCOUNT, FAIL, "dataspace is invalid") local_info_array[i].full_overwrite = -- cgit v0.12