diff options
author | jhendersonHDF <jhenderson@hdfgroup.org> | 2023-08-02 20:13:34 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-02 20:13:34 (GMT) |
commit | 3fc5e34d71c9300ec10e87f2534bccec8df85756 (patch) | |
tree | c787fa4e198ac69084e0ad0b1d2b100eed06b35d /src/H5Fio.c | |
parent | 179b4a0d45cdafcc385c7edec81a70633431893d (diff) | |
download | hdf5-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.c | 20 |
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) */ |