summaryrefslogtreecommitdiffstats
path: root/src/H5Fio.c
diff options
context:
space:
mode:
authorjhendersonHDF <jhenderson@hdfgroup.org>2023-08-02 20:13:34 (GMT)
committerGitHub <noreply@github.com>2023-08-02 20:13:34 (GMT)
commit3fc5e34d71c9300ec10e87f2534bccec8df85756 (patch)
treec787fa4e198ac69084e0ad0b1d2b100eed06b35d /src/H5Fio.c
parent179b4a0d45cdafcc385c7edec81a70633431893d (diff)
downloadhdf5-3fc5e34d71c9300ec10e87f2534bccec8df85756.zip
hdf5-3fc5e34d71c9300ec10e87f2534bccec8df85756.tar.gz
hdf5-3fc5e34d71c9300ec10e87f2534bccec8df85756.tar.bz2
Switch parallel compression to use vector I/O (#3245) (#3327)
Updates parallel compression feature to use vector I/O instead of creating and passing down MPI derived types to VFD
Diffstat (limited to 'src/H5Fio.c')
-rw-r--r--src/H5Fio.c20
1 files changed, 18 insertions, 2 deletions
diff --git a/src/H5Fio.c b/src/H5Fio.c
index 1924004..09d57e8 100644
--- a/src/H5Fio.c
+++ b/src/H5Fio.c
@@ -328,8 +328,16 @@ H5F_shared_vector_read(H5F_shared_t *f_sh, uint32_t count, H5FD_mem_t types[], h
* for now, assume the caller has done this already.
*/
#ifndef NDEBUG
- for (uint32_t i = 0; i < count; i++)
+ for (uint32_t i = 0; i < count; i++) {
+ /* Break early if H5FD_MEM_NOLIST was specified
+ * since a full 'count'-sized array may not
+ * have been passed for 'types'
+ */
+ if (i > 0 && types[i] == H5FD_MEM_NOLIST)
+ break;
+
assert(types[i] != H5FD_MEM_GHEAP);
+ }
#endif
/* Pass down to file driver layer (bypass page buffer for now) */
@@ -373,8 +381,16 @@ H5F_shared_vector_write(H5F_shared_t *f_sh, uint32_t count, H5FD_mem_t types[],
* for now, assume the caller has done this already.
*/
#ifndef NDEBUG
- for (uint32_t i = 0; i < count; i++)
+ for (uint32_t i = 0; i < count; i++) {
+ /* Break early if H5FD_MEM_NOLIST was specified
+ * since a full 'count'-sized array may not
+ * have been passed for 'types'
+ */
+ if (i > 0 && types[i] == H5FD_MEM_NOLIST)
+ break;
+
assert(types[i] != H5FD_MEM_GHEAP);
+ }
#endif
/* Pass down to file driver layer (bypass page buffer for now) */