diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2002-05-17 12:55:53 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2002-05-17 12:55:53 (GMT) |
commit | bca854d17a36e160569a0aa2c2ff95508bbb8420 (patch) | |
tree | b59a887582271e3aad33a379541760df34878183 /src/H5Fpkg.h | |
parent | 019af0346418add6f855fbc16c790f3fd0a63a05 (diff) | |
download | hdf5-bca854d17a36e160569a0aa2c2ff95508bbb8420.zip hdf5-bca854d17a36e160569a0aa2c2ff95508bbb8420.tar.gz hdf5-bca854d17a36e160569a0aa2c2ff95508bbb8420.tar.bz2 |
[svn-r5431] Purpose:
Bug fix/Code improvement.
Description:
Currently, the chunk data allocation routine invoked to allocate space for
the entire dataset is inefficient. It writes out each chunk in the dataset,
whether it is already allocated or not. Additionally, this happens not
only when it is created, but also anytime it is opened for writing, or the
dataset is extended. Worse, there's too much parallel I/O syncronization,
which slows things down even more.
Solution:
Only attempt to write out chunks that don't already exist. Additionally,
share the I/O writing between all the nodes, instead of writing everything
with process 0. Then, only block with MPI_Barrier if chunks were actually
created.
Platforms tested:
IRIX64 6.5 (modi4)
Diffstat (limited to 'src/H5Fpkg.h')
-rw-r--r-- | src/H5Fpkg.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/H5Fpkg.h b/src/H5Fpkg.h index 964490f..cfd79d9 100644 --- a/src/H5Fpkg.h +++ b/src/H5Fpkg.h @@ -200,11 +200,13 @@ __DLL__ herr_t H5F_istore_write(H5F_t *f, hid_t dxpl_id, const struct H5O_fill_t *fill, const hssize_t offset[], const hsize_t size[], const void *buf); +#ifdef H5_HAVE_PARALLEL __DLL__ herr_t H5F_istore_allocate (H5F_t *f, hid_t dxpl_id, const struct H5O_layout_t *layout, const hsize_t *space_dim, const struct H5O_pline_t *pline, const struct H5O_fill_t *fill); +#endif /* H5_HAVE_PARALLEL */ /* Functions that operate on contiguous storage wrt boot block */ __DLL__ herr_t H5F_contig_read(H5F_t *f, hsize_t max_data, H5FD_mem_t type, haddr_t addr, hsize_t size, |