summaryrefslogtreecommitdiffstats
path: root/src/H5Dmpio.c
diff options
context:
space:
mode:
authorJordan Henderson <jhenderson@hdfgroup.org>2017-07-05 13:40:09 (GMT)
committerJordan Henderson <jhenderson@hdfgroup.org>2017-07-05 13:40:09 (GMT)
commit3ce78d0d8d8bb23e887ccd694b86dfcd5c96176c (patch)
tree4bdbc2bb9523fe037f8239cedd6f654bf78d3f43 /src/H5Dmpio.c
parent4e121c3913d0031913738a6d3a5d8ac4ec8aa2f1 (diff)
downloadhdf5-3ce78d0d8d8bb23e887ccd694b86dfcd5c96176c.zip
hdf5-3ce78d0d8d8bb23e887ccd694b86dfcd5c96176c.tar.gz
hdf5-3ce78d0d8d8bb23e887ccd694b86dfcd5c96176c.tar.bz2
Add comment for full overwrite special case
Diffstat (limited to 'src/H5Dmpio.c')
-rw-r--r--src/H5Dmpio.c8
1 files changed, 8 insertions, 0 deletions
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 =