Code cleanup, Feature enhancement
Description:
Improve hashing algorithm to not generate as many clashes.
Avoid using H5MD_realloc when changing the size of a chunk on disk.
Instead, use H5MF_free followed by H5MF_alloc, which avoids copying the
information from the space for the previous chunk to the space for the
new chunk, since we are going to overwrite the chunk with new data anyway.
This change should both improve I/O performance in situations where
compressed chunks are being overwritten as well as reduce the space used
in the file during that situation.
Cleaned up error handling in a few cases.
Removed old debugging printf()s.
Platforms tested:
Tested h5committest {arabica (fortran), eirene (fortran, C++)
modi4 (parallel, fortran)}
FreeBSD 4.7 (sleipnir)
Bug Fix
Description:
Free blocks of space in the file which were merged with a block before them
were not updating the free list information correctly, allowing space in
the file to over-allocated and potentially corrupted.
Solution:
Correct address of free block during merging.
Platforms tested:
Tested h5committest {arabica (fortran), eirene (fortran, C++)
modi4 (parallel, fortran)}
FreeBSD 4.7 (sleipnir)
New feature
Description:
Added TIMESTAMP and event markers. Easier to tell the chronical events.
Turned of echo mode. Added an option to turn it on.
Platforms tested:
Only in eirene.
Purpose:
add "shuffle" filter note
Description:
Solution:
Platforms tested:
Misc. update:
Update MANIFEST if you add or remove any file.
Update release_docs/RELEASE for bug fixes, new features, etc.
Update applicable document files too.
Purpose:
Add a testing case for shuffling algorithm.
Description:
A control test:
Since shuffling 8-bit array should not change the original result; so we use a
8-bit array to test whether after shuffling the array keeps the same values.
Solution:
Platforms tested:
eirene,arabica,modi4
Misc. update:
Update MANIFEST if you add or remove any file.
Update release_docs/RELEASE for bug fixes, new features, etc.
Update applicable document files too.
Purpose:
Adding internal shuffle filter
Description:
With the combination of shuffling filter with general compression
algorithm, the compression ratio may be improved without adding much
encoding and decoding time for many real NASA datasets(especially
floating data) and other application
datasets(See techNotes).
Solution:
SHuffle the bytes within the data to utilize the locality.
Platforms tested:
arabica , eirene, modi4
Misc. update:
Update MANIFEST if you add or remove any file.
Update release_docs/RELEASE for bug fixes, new features, etc.
Update applicable document files too.
FPHDF5 Fixups
Description:
- Stopped using API calls in the H5FPclient code. It now uses
internal library calls.
- Removed some FIXME comments because they've been fixed.
- Small fix for an enum starting at 37 for no reason :-)
Platforms tested:
Eirene (only affects FPHDF5, so no need to test 3 platforms just yet).
Code cleanup
Description:
Added some comments and made some minor code cleanups
Platforms tested:
minor change, only testing on FreeBSD 4.7 (sleipnir) w/parallel
Update
Description:
Changed some of the asserts to check that a non-NULL H5F_t* is passed
in.
Platforms tested:
Eirene PP
Arabica Fortran
Modi4 PP Fortran
Update
Description:
Added code which performs an update when there's a dataset creation.
Commented on some FIXMEs which were in the code.
Platforms tested:
Eirene PP
Arabica Fortran
Modi4 PP Fortran
Code Movement
Description:
Moved definition of the H5D_t data structure into the H5Dprivate.h
header file. With the FPHDF5 stuff, we need access to this data
structure.
Platforms tested:
Eirene...change small, so no need for all three tests.
New feature.
Description:
Add in '--enable-filters=filter1,filter2' flag to configure script. This
can also be used as '--enable-filters=all' or just '--enable-filters' to
enable all the internal I/O filters in the library.
This flag can also be set to '--disable-filters' to disable all the internal
I/O filters. Individual filters can not be disabled due to the limitations
of autoconf.
Additionally, added "H5_HAVE_FILTER_<foo>" macros to H5pubconf.h header
file, so the presence of each filter can be detected.
This is in preparation for Kent's shuffling filter to be imported shortly.
Platforms tested:
Tested h5committest {arabica (fortran), eirene (fortran, C++)
modi4 (parallel, fortran)}
Tested FreeBSD 4.7 (sleipnir) also
Fix Windows portability bug
Description:
"long long" is not defined on Windows.
Solution:
Use our internal definition of "long_long" instead.
Platforms tested:
eyeballed.
Fix Windows portability bug
Description:
"long long" is not defined on Windows.
Solution:
Use our internal definition of "long_long" instead.
Platforms tested:
eyeballed.
Improvement
Description:
if neither -f option nor $HDF5_PARAPREFIX was set, it exited.
Solution:
Use '.' (current directory) if neither -f option nor $HDF5_PARAPREFIX
is used. Try to proceed as much as possible.
Platforms tested:
only sleipnir since it was a simple fix and was failing in sleipnir
only.
Code Cleanup
Description:
A function was returning "NULL" instead of "FAIL" for an error
condition. Renamed the variable "class" to "h5_class" since class is
a keyword in C++ and might mess up with a C++ compiler...
Platforms tested:
Eirene pp (too small a change for 3 tests)
Code cleanup
Description:
Cleaned up some error values that were incorrect, added some assertions
and refactored the integer & floating-point native conversions some.
Platforms tested:
FreeBSD 4.7 (sleipnir), too small for h5committest
Purpose:
New function.
Description:
H5Dget_offset returns the offset of a dataset's data relative to the
beginning of a file.
Platforms tested:
arabica(simple function, one test should be enough.)
Misc. update:
RELEASE.txt
New Feature. Support for new FPHDF5 Feature
Description:
More support for the FPHDF5 feature. This splits the H5D_create
function into separate parts which update the metadata cache. It was
necessary to split apart the H5O_create function to do a similar
thing since it would allocate real space on the hard disk.
I'm checking this up now so that I don't get too far away from what
the CVS repository has and so that others may look at the code and
retch^H^H^H^H^Hmarvel at it. If there are any comments, send them my
way.
There is one outstanding issue, though. I need to use non-API
functions in the FPHDF5 stuff. I'm using some APIs right now and
should migrate to using others. At the moment, I'm putting that on
the back burner until I'm more along in the implementation.
Platforms tested:
Arabica (C++)
Eirene (Parallel)
Modi4 (Parallel)
New feature
Description:
Add support for scalar dataspaces in parallel I/O.
Platforms tested:
Tested h5committest {arabica (fortran), eirene (fortran, C++)
modi4 (parallel, fortran)}
Also, FreeBSD 4.7 (sleipnir) serial & parallel
Misc. update:
Update release_docs/RELEASE for bug fixes, new features, etc.
Add benchmark
Description:
Add multi-D hyperslab benchmark to repo. It's not hooked up to any makefiles
yet, so it's not being compiled or tested, etc. I'm just stashing it here
so I don't forget about it until I have time to integrate it properly.
Testing fix.
Description:
Correctly detect when one of the parallel tests fails and stop the make
from proceeding.
Platforms tested:
modi4 (parallel), sleipnir (parallel)
Bug fix & code cleanup
Description:
Hyperslab code for collapsing dimensions was incorrectly collapsing
selections inappropriately when the fastest changing dimension couldn't
be collapsed.
Also add some more assertions which will make similar bugs easier to find.
Solution:
Break out of loop earlier.
Platforms tested:
modi4 (parallel), too small to triple check.
Improvement
Description:
fillval will fail to find the pre-exist data file if it is run
in --srcdir mode without setting $srcdir properly. This is
setup properly in the Makefile but unsuspecting users trying just
./fillval were puzzled by the failure.
Solution:
put in a more descriptive error message with a possible remedy.
Platforms tested:
Modi4 only since this is just adding a printf statment.
Purpose:
Change release note for new functions(H5Gget_comment, H5Arename,
H5Aget_storage_size).
Misc. update:
Update release_docs/RELEASE for bug fixes, new features, etc.
Code cleanup
Description:
Add more comments and clean up small bits of the FPH5 code.
Platforms tested:
FreeBSD 4.7 (sleipnir), changes too minor to affect other platforms.
Another Oops
Description:
I accidentally checked in the H5D.c module when I shouldn't have.
Solution:
Rolled back to 1.281 version
Platforms tested:
Linux
Oops
Description:
The H5FPprivate.h file was being #included even if PARALLEL was
turned off.
Solution:
put the #include of the H5FPprivate.h file within the #ifdef block so
that it doesn't get included if H5_HAVE_FPHDF5 isn't defined.
Platforms tested:
Linux...