Bug fix.
Description:
"strong" file closing feature was re-using free'd memory for objects which
were still open in the file.
Solution:
Used the "dmalloc" tools to determine where the memory was being
re-used and re-arranged the code to avoid these cases.
Platforms tested:
FreeBSD 4.6 (sleipnir)
New feature
Description:
Add support in for "dmalloc" debugging malloc library to configure script
and library headers.
Platforms tested:
IRIX64 6.5 (modi4) and FreeBSD 4.6 (sleipnir)
Purpose:
Bug fix.
Description:
For nested VL datatype, the heap object of VL elements lower than top level
weren't freed.
Solution:
Read in the content of heap object for VL elements and free them in
function H5T_conv_vlen.
Platforms tested:
eirene
Purpose:
Add copyright and change "HDF5 Tutorial" link.
Description:
Added copyright statement and link.
Changed the "Tutorial" link to point to the copy on the HDF5 website.
Since the Tutorial is not maintained in CVS, the distributed
version of the Tutorial is being unlinked and removed from the
set of distributed files. It is hoped that we can begin
maintaining the Tutorial under CVS prior to Release 1.6 and
resume its distribution.
Platforms tested:
IE 5
Purpose:
Bugfix
Description:
Corrected H5Zregister description, syntax, and parameter descriptions.
There is one 'function' parameter, rather than the separate
'compression-function' and 'uncompression-function' parameters that
were previously listed.
Platforms tested:
IE 5
Purpose:
Clarification regarding sizes of some super block elements.
Description:
Added note to "HDF5 Super Block Layout" table that the last 5 items
are of the size specified in 'Size of Offsets'.
Platforms tested:
IE 5
Purpose:
Two new functions and a few copy-edits.
Description:
Added H5Pset/get_small_data_block_size.
Copy edits -- several typographic (spelling) corrections.
Platforms tested:
IE 5
Purpose:
New Test VL memory leak.
Description:
Test to see if VL type memory leaks when data is overwritten.
Platforms tested:
Linux 2.2(eirene), IRIX 6.5(paz).
Purpose:
Bug Fix.
Description:
VL type memory leak when data is overwritten.
Solution:
Free heap objects holding old data.
Platforms tested:
Linux 2.2(eirene), IRIX 6.5(paz).
Bug fix.
Description:
Correct the previous code for detecting 1-D contiguous hyperslabs to detect
an extra case that the development branch has, but the release branch
doesn't have.
Platforms tested:
IRIX64 6.5 (modi4) w/parallel
Bug fix.
Description:
1-D non-contiguous hyperslabs were erroneously being detected as contiguous
and were causing incorrect behavior for parallel I/O benchmark (and
parallel programs in general).
Solution:
Modified algorithm to handle 1-D case correctly.
Platforms tested:
IRIX64 6.5 (modi4)
Purpose:
Bug fix.
Description:
This test fails on TRUE64 system because a compound variable(fill_ctype
in test_rdwr) wasn't initialized.
Solution:
Initialize to zero.
Platforms tested:
Pittsburg's True64(lemieux) system.
Bring in sync with v1.4 versions that have copyright statements
added.
Platforms tested:
eirene(pp). Only one machine tested because all changes are merely
comments.
Porting to AIX 5.x
Description:
These have been tested out in v1.4. Folding them in here.
aclocal.m4:
Snow's names were not included in the special hack.
Added its names in.
Removed the trailing * in pacific.llnl.gov too.
configure.in:
fortran/configure.in:
Added a case to group all AIX 5.* versions as aix5.x. This allows
them to share one common config/*aix5.x file.
configure:
fortran/configure:
Derived from configure.in (done in eirene).
config/powerpc-ibm-aix4.x:
Added a comment explaining why not to cache sizeof size_t and off_t
fortran/config/powerpc-ibm-aix4.x:
Turned of cache of sizeof size_t and off_t because they are depedent
on compiler options.
config/powerpc-ibm-aix5.x:
fortran/config/powerpc-ibm-aix5.x:
New config file for AIX 5.X
Platforms tests:
LLNL Blue, Frost, Snow, both serial and parallel.
Purpose:
Fix bug
Description:
In function H5HG_remove, heap object header wasn't included for size.
Solution:
Added heap object header in.
Platforms tested:
Linux 2.2(eirene).
New Feature
Description:
Added interleaved block pattern to MPI and HDF5 access methods. Also,
changed the blocks to just use the same size as the regular blocks for I/O,
instead of a separate block size.
Platforms tested:
IRIX64 6.5 (modi4) w/parallel
Bug Fix
Description:
Was nulling out the RUNPARALLEL and other macros which shouldn't be
nulled out.
Solution:
Removed the code which does the nulling out of those macros.
Bug Fix.
Description:
Contiguous types created for "all" and contiguous hyperslab selections was
not being committed before using them.
Solution:
Commit them. :-) This fixes the problems on the LLNL Blue Pacific machine.
Platforms tested:
LLNL Blue Pacific w/parallel.
Bug Fix
Description:
Making of the programs when using the --srcdir option didn't work. It
couldn't find the files to compile.
Solution:
Specified where the files are by prepending the $(srcdir) macro to
them.
Platforms tested:
Linux
Bug Fix
Description:
Ported the bug fix for h5cc failing on platforms from the 1.4 branch
to 1.5 branch. In a nutshell, when we ran "make check" in the
examples directory, libtool would get in the way trying to compile
things to .lo for us. but we didn't want libtool to do this.
Solution:
Made it so that make check will compile only the .c files to
executables without the intervening .lo stage...
Platforms tested:
Linux (Dangermouse and Platinum)
Bug Fix
Description:
When parallel I/O is used, the MPI-I/O VFL driver uses a "lazy" model to
call MPI_File_set_view() in order to reduce the number of calls to this
function. However, this is unsafe, because if a collective I/O which uses
MPI derived types (and thus uses MPI_File_set_view()) is immediately
followed by an independent I/O, the code will attempt to call
MPI_File_set_view() in order to switch back to the default view of the
file. MPI_File_set_view() is a collective call however, and this causes
the application to hang.
Solution:
Removed "lazy" MPI_File_set_view() code, instead set the file view when it
is needed (with MPI derived types) and immediately set the file view back to
the default view before leaving the I/O routine.
Platforms tested:
IRIX64 6.5 (modi4) w/parallel. Also, tested with the latest development
and release code for the SAF library, which now works correctly with this
change. (Although the release branch of the SAF library seems to have a
bug, this 1.4.4 release candidate code gets as far as the version the SAF
library is released on top of (1.4.2-patch1, I believe)).
New feature.
Description:
There is some discussion among the SAF team as to whether it is better
to use MPI derived types for raw data transfers (thus needing a
MPI_File_set_view() call), or whether it is better to use a sequence of
low-level MPI types (i.e. MPI_BYTE) for the raw data transfer.
Solution:
Added an in internal flag to determine whether derived types are preferred
(the default), or whether they should be avoided. An environment variable
("HDF5_MPI_PREFER_DERIVED_TYPES") can be set by users to control whether MPI
types should be used or not. Set the environment variable to "0" (i.e.:
'setenv HDF5_MPI_PREFER_DERIVED_TYPES 0' to avoid using MPI derived types.
Platforms tested:
IRIX64 6.5 (modi4) w/parallel
Code cleanup
Description:
Changed ifdef name from "VERBOSE" to "BARRIER_CHECKS", to better describe
what it affects.
Platforms tested:
IRIX64 6.5 (modi4) w/parallel
Code improvement
Description:
Some small code cleanups and took out the code the was turning off the
metadata cache for parallel I/O (!)
Platforms tested:
IRIX64 6.5 (modi4) w/parallel
Code cleanup
Description:
Remove "COALESCE_READS" ifdefs, which were brought in by the DPSS VFL
driver and are no longer used.
Platforms tested:
IRIX64 6.5 (modi4) w/parallel
Bug fix.
Description:
The chunking code was using internal allocation routines to put blocks on
a free list for reuse, instead of using the system allocation routines (ie.
malloc, free, etc.). This causes problems when user filters attempt to
allocate/free chunks for their algorithm's use.
Solution:
Switched the chunking code back to using the system allocation routines,
we can address performance issues with them if it becomes a real problem.
Platforms tested:
Linux 2.2.x (eirene) && IRIX64 6.5 (modi4)
Code optimization
Description:
Avoid creating MPI types (and thus requiring a MPI_File_set_view() call)
when contiguous selections are used for dataset I/O. This should be a
performance improvement for those sorts of selections.
Platforms tested:
Linux 2.2.x (eirene) w/parallel && IRIX64 6.5 (modi4) w/parallel & FORTRAN
Feature Add
Description:
Allow you to specify the percentage you'd like a random buffer to be
compressible. It can go from 0% (non-compressible) to 100%
(completely compressible).
Platforms tested:
FreeBSD