diff options
author | Albert Cheng <acheng@hdfgroup.org> | 1998-07-01 21:10:09 (GMT) |
---|---|---|
committer | Albert Cheng <acheng@hdfgroup.org> | 1998-07-01 21:10:09 (GMT) |
commit | 0b5e6ee7a13dca7e315ad73886b569af1a7c3554 (patch) | |
tree | fbcd746caa5ea6fef07672f588d1b718f576d1d3 /src/H5F.c | |
parent | 1b3a1f8014b630208013c7a18cfe8e7c0539e161 (diff) | |
download | hdf5-0b5e6ee7a13dca7e315ad73886b569af1a7c3554.zip hdf5-0b5e6ee7a13dca7e315ad73886b569af1a7c3554.tar.gz hdf5-0b5e6ee7a13dca7e315ad73886b569af1a7c3554.tar.bz2 |
[svn-r438] Changes for PHDF5 to support extendable datasets.
H5D.c:
If a dataset, using chunk storage, is created/opened and if its data
file is accessed via MPIO, allocate file space for the chunks immediately.
Also do the allocation when a dataset is extended. Must do it at these
points because H5Dcreate, H5Dopen and H5Dextend are collective calls
in MPIO access mode and are the only chance to get all MPI processes
to synchonize their meta-data.
Also disallow opening/creating datasets with compression option if
MPIO is used. Not easy to support concurrent compression writes in
an efficient way. But read-only access should be fine. Will implement
that later.
H5F.c:
Disable file cache if MPIO is used by forcing cache size and number
of elements to zero.
H5Fistore.c:
Added two new routines, H5F_istore_get_addr and H5F_istore_allocate.
H5F_istore_allocate supports allocating file space for the chunks
of a dataset. H5F_istore_get_addr returns the file space address
of a chunk that has been allocated.
Changed H5F_istore_read and H5F_istore_write to bypass the chunk
cache read/write mechanism. Instead, they do read/write directly
with the file for only the elements requested.
(Some debug statements, enclosed by #ifdef AKC, are still in the
file. I am still working on some code. They would be cleaned
out soon.)
Diffstat (limited to 'src/H5F.c')
-rw-r--r-- | src/H5F.c | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -529,6 +529,18 @@ H5F_new(H5F_file_t *shared, const H5F_create_t *fcpl, const H5F_access_t *fapl) "unable to copy file access property list"); } +#ifdef HAVE_PARALLEL + /* + * Disable cache if file is open using MPIO driver. Parallel + * does not permit caching. (maybe able to relax it for + * read only open.) + */ + if (f->shared->access_parms->driver==H5F_LOW_MPIO){ + f->shared->access_parms->rdcc_nbytes = 0; + f->shared->access_parms->mdc_nelmts = 0; + } +#endif + /* * Create a meta data cache with the specified number of elements. * The cache might be created with a different number of elements and |