| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup/bug fix
Description:
The "metadata accumulator" cache in the library (which is designed to catch
small metadata writes/reads and bundle them together into larger I/O
buffers) was incorrectly detecting the important case of metadata pieces
being written sequentially to the file, adjoining but not overlapping.
Additionally, the metadata accumulator was not being used to cache data
read in from disk, only caching writes.
Solution:
Fix accumulator to correctly cache adjoining metadata writes and also to
cache metadata read from disk.
Between these two fixes, the number of I/O requests which resulted in actual
reads/writes to the filesystem dropped from 393 requests to 82 for the
particular test I was using. :-)
Platforms tested:
Solaris 2.7 (arabica) w/FORTRAN & FreeBSD 4.5 (sleipnir) w/C++
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Document Bug Fix
Description:
Under certain [obscure] circumstances, an object header would get paged out
of the metadata cache, and when it was accessed again and brought back into
the cache, and immediately had additional metadata added to it (an
attribute, usually, or perhaps adding an object to a group), and needed to
be extended with a continuation message, but there was no room in any
existing object header chunks for the continuation message and an existing
object header message needed to be moved to the new object header chunk (I
told you it was obscure :-), the object header message moved to the new
chunk (not the new metadata being added) would get corrupted. *whew* :-)
Solution:
Actually copy the "raw" object header message information of the object
header message being moved to the new chunk, instead of relying on the
"native" object header message information being re-encoded when the object
header is flushed. This is because when an object header is paged out of
the metadata cache and subsequently brought back in, the "native"
information pointer in memory is reset to NULL and only the "raw"
information exists.
Platforms tested:
Solaris 2.7 (arabica) & FreeBSD 4.5 (sleipnir)
|
| |
|
|
|
|
|
|
|
|
|
| |
Purpose:
update, remove hdf4-related stuff.
Description:
hdf4 related tools have been moved out of HDF5 CVS tree, The install doc should reflect this.
Solution:
Platforms tested:
|
|
|
|
| |
Document VFL "flush" changes.
|
|
|
|
|
|
|
|
|
|
| |
Document Code improvement below:
Description:
Propagated the "fill time" property into the parallel chunk allocation
routine, allowing it to avoid writing fill values to each new chunk
allocated. This improves the performance of chunked datasets in parallel
I/O to be on par with contiguous datasets again (on modi4).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Document Bug fix/Code improvement below:
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.
|
|
|
|
| |
Document Bug Fix
|
|
|
|
| |
Document Performance enhancement
|
|
|
|
|
|
|
| |
Back out change
Description:
Back out description of VFL 'flush' change.
|
|
|
|
|
|
|
| |
Update
Description:
Added documentation on how you can install in a different directory
than the one you specified during configuration.
|
|
|
|
| |
Document new VFL flush parameter.
|
|
|
|
| |
Update release notes about rotating metadata writes.
|
|
|
|
|
|
| |
Update
Description:
Updated how to compile HDF5 with Intel compilers (ecc or icc).
|
|
|
|
|
|
|
|
| |
Purpose:
Maintenance
Description:
Added information about Parallel Fortran Support for HP-UX 11.00 SysV
and write/read overloaded subroutines (bug #670)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug Fix
Description:
Selection offsets were not being used correctly when iterating through
all hyperslabs selections and point selections.
Solution:
Use the selection offset appropriately.
Platforms tested:
FreeBSD 4.5 (sleipnir)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Purpose:
New feature
Description:
Allow H5Glink and H5Gmove to handle links across different locations.
Solution:
Added H5Glink2 and H5Gmove2 functions with new parameter of destination
location.
Platforms tested:
Linux 2.2(eirene)
|
|
|
|
|
|
|
|
| |
Updated the installation instruction for the Tflops machine.
Moved the parallel HDF5 building instructions to the front
and putting in a NOTE that the sequential version is not supported
any more because it has little practical value to build sequential
applications for the Tflops machine.
|
| |
|
|
|
|
|
|
|
|
|
| |
Update
Description:
Added the support platform summary paragraph.
Thread safe is supported for solaris 2.8_32bit.
Platforms tested:
hdfsun8
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Maintenance
Description:
The tflops option local modification in bin/config.sub was wiped out
during the latest autoconfigure tools upgrade. Instead of adding it
in for every autoconfigure tools upgrade, I changed the instruction
to use a standard feature in configure.
./configure --host=i386-intel-osf1
This is a bit more typing but no more local modification.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
When several level deep nested compound & VL datatypes are used, the data
in the nested compound datatypes is incorrectly sharing the same "background
buffer", causing data corruption when the data is written to the file.
Solution:
Allocate a separate background buffer for each level of the nested types
to convert. (Also allocate temporary background buffers for array
datatypes, where this sort of problem could occur also)
Added more regression tests to check for these errors.
Platforms tested:
FreeBSD 4.5 (sleipnir) & Solaris 2.6 (baldric)
|
| |
|
|
|
|
|
| |
Purpose:
added description of H5Dset_extent
|
|
|
|
|
|
|
|
|
|
|
| |
Purpose:
New feature
Description:
Fill-value's behaviors for contiguous dataset have been redefined.
Basicly, dataset won't allocate space until it's necessary. Full details
are available at http://hdf.ncsa.uiuc.edu/RFC/Fill_Value, at this moment.
Platforms tested:
Linux 2.2.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New Feature
Description:
Added new H5Dfill() routine to fill the elements in a selection for a
memory buffer with a fill value. This is a user API wrapper around some
internal routines which were needed for the fill-value modifications
from Raymond as well as Pedro's code for reducing the size of a chunked
dataset.
Platforms tested:
FreeBSD 4.5 (sleipnir) [and IRIX64 6.5 (modi4) in parallel, in a few
minutes]
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Purpose:
New feature
Description:
Added a query function H5Tget_member_index for compound and enumeration
data types, to retrieve member's index by its name.
Platforms tested:
Linux 2.2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug Fix & Code Cleanup
Description:
The MPI-IO optimized transfer routines
(H5S_mpio_spaces_read/H5S_mpio_space_write) are not being invoked in all
the cases where they could be used.
Additionally, the code for determining if an optimized transfer is wrapped
into the actual I/O transfer routine in a very confusing way.
Solution:
Re-enabled MPI-IO optimized transfer routines in all the cases where they
should work.
Extracted all the pre-conditions for optimized transfers into separate
routines from the transfer routines.
Platforms tested:
FreeBSD 4.5 (sleipnir) & IRIX64 6.5 (modi4)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug Fix & Feature
Description:
The selection offset was being ignored for optimized hyperslab selection
I/O operations.
Additionally, I've found that the restrictions on optimized selection
I/O operations were too strict and found a way to allow more hyperslabs
to use the optimized I/O routines.
Solution:
Incorporate the selection offset into the selection location when performing
optimized I/O operations.
Allow optimized I/O on any single hyperslab selection and also allow
hyperslab operations on chunked datasets.
Platforms tested:
FreeBSD 4.5 (sleipnir)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Purpose:
Bug fix(#697)
Description:
Variable-length string is not treated as string.
Solution:
Added character set and padding as VL string's attributes. They can be
set and retrieved.
Platforms tested:
Solaris 8, IRIX64 6.5 parallel, and FreeBSD.
|
|
|
|
|
|
| |
Doc Change
Description:
Documented the fix for the 1024 byte object name limitation...
|
|
|
|
|
|
| |
Update release notes
Description:
Document H5Gget_objinfo() bug fix (fixes bug #732)
|
|
|
|
| |
Update release notes.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Windows support
Description:
Added the install file to 1.5 specifically for C++ API on Windows.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug Fix
Description:
If a non-zero fill-value is used for a chunked dataset, any non-existent
chunked read with an "all" selection (or a contiguous hyperslab selection)
will return zero for those instead of the user's fill-value.
Solution:
Fixed I/O code to pass down fill-value to "optimized" I/O routines, so it
will be available to fill the user's buffer with.
Platforms tested:
FreeBSD 4.5 (sleipnir)
|
|
|
|
| |
Update readme for latest bug fix
|
| |
|
|
|
|
|
|
|
| |
Feature add
Description:
Added note about a new API function.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code speedup
Description:
Chunking I/O routines are reading in an entire chunk when performing I/O
on the chunk, even if the chunk will be too large to cache.
Solution:
If the chunk is too large to cache, uncompressed and has been allocated
space in the file, or if we are using the MPI-I/O VFD, perform the I/O
directly to the chunk, instead of reading the chunk into memory, updating
it and immediately writing the entire chunk back out.
Platforms tested:
FreeBSD 4.5 (sleipnir) (using serial access) and IRIX64 6.5 (modi4) (using
parallel access with MPI-I/O)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug Fix
Description:
When file space was returned to the file space free-list for reuse,
occasionally raw data allocations which used space from the free-list
would overlap with the metadata accumulator and get over-written with
the cached information in the accumulator, corrupting the data.
Solution:
Check if the space about to be recycled on the free-list is going to be
used for raw data and also overlaps with the metadata accumulator cache,
avoiding using space that fits those criteria.
This fixes bug #701
Platforms tested:
FreeBSD 4.5 (sleipnir)
|