Setting appropriate macro during configuration.
Description:
We found special collective IO doesn't work in mpich 1.2.5 and 1.2.6.
Solution:
Use this script to detect this during configuration and set the correct macro.
Platforms tested:
heping,mir and copper
Misc. update:
Add new tests
Description:
Collective IO doesn't work for some platforms/mpio packages when more than
one process has no contributions to IO.
Solution:
1. Add a collective IO test to verify the correctness of the library when
more than one process has no contributions to IO.
2. Add the similar MPI-IO test in t_mpi to help us maintain in more platforms.
Platforms tested:
heping, mir, copper
Misc. update:
Description:
Two functions (HDsrand and HDrand) are not declared. They caused
compiling errors on Windows. Declare these two functions:
H5_DLL int HDrand();
H5_DLL void HDsrand(unsigned int seed);
Solution:
Platforms tested:
Windows XP and heping
Misc. update:
Description: Return value from H5Pget_layout is 0 for the compact datasets;
It was assumed in the code that it was always greater than 0; therefore
assertion failed when h5stat walked a compact dataset.
Solution: Fixed assertion statement
Platforms tested: h5stat doesn't have testscript yet; tested manually
with tfilters.h5 file on heping.
Fix is too minor to test it on multiple platforms.
Misc. update:
Bug fix/Feature
Description:
Modify the library to use rand_r, when available, instead of srand. If
rand_r is not available, it will try to use srandom/random, and then finally
fall back to srand/rand.
Solution:
A couple places in the library use the srand() function to seed the random
number generator. This can cause problems on certain platforms and could theoretically
cause problems for users who expect a certain sequence of random numbers following their
own call to srand().
Most platforms have an implementation of rand_r, which is identical to rand, except that
it allows for explicit storage of the seed value. The configure script will now check
for the existence of rand_r to facilitate its use in the library.
Two new functions are added, to replace the macros HDsrand/HDrand. These functions are HDrand and
HDsrand. HDrand will call rand_r, if available, or random(), if available, and fall back to rand() if neither
of those is available. HDsrand will store the seed value locally, if rand_r is available. Otherwise, it will call
srandom if available, and fall back to srand otherwise.
Platforms tested:
heping, mir. Really need to test on Red Storm, since that platform motivated this fix, but the machine
is currently not available.
Misc. update:
Bug fix
Description:
Correct problem with new log2(n) routine on 64-bit machines.
Solution:
Put some casts in to make certain that the values are computed as 32-bit
integers.
Platforms tested:
Linux 2.4 (mir) - 64-bit
Bug fix (sorta)
Description:
Disable the fractal heap tests until I can look into them more thoroughly.
(they are failing on 64-bit machines currently)
Platforms tested:
None - trivial change.
New feature & code cleanup
Description:
Update fractal heap to be able to insert objects into a direct block
hanging off the header.
Extract "octal dump" code into separate routine so that both the local
heaps & fractal heaps can use it.
Other code cleanups & support to get this far.
Platforms tested:
FreeBSD 4.11 (sleipnir)
Linux 2.4
Moved gif2h5 tool to hl directory
Description:
Added a tools directory under the hl directory and moved the gif2h5 tool
to that directory.
Solution:
The gif2h5 tool was originally built in the tools directory, but this
introduced dependency issues that required special checks in the
Makefiles.am and required the top-level build order to be changed
because it depended on the HL library.
For simplicity in the Makefiles now and in the future, the gif2h5 tool
was moved to be underneath the hl library.
Platforms tested:
mir, copper, modi4, shanti
Maintenance on Windows
Description:
Correct echo errors.
Echo Start building C++ libraries when start building both C/C++.
Solution:
Platforms tested:
Misc. update:
Added HL examples
Description:
Examples existed for the HL lite, image, and table interfaces, but
were never included in the distro... until now!
Solution:
Added source files to CVS, updated Makefile and MANIFEST.
Platforms tested:
mir, heping, shanti
Improvement.
Description:
The t_cache takes a long long time to run and it tests HDF5 calls.
Move it to the back and let more basic tests to run first so that
basic features are tested first.
Platforms tested:
Tested in heping with pp.
Porting.
Description:
Red Storm's lustre used srand and rand to initialize their user mode
of lustre. HDF5 also uses srand and that messes up Lustre.
Solution:
Use -DRED_STORM to block out the HDF5 code that calls srand.
This is a temporary fix since Lustre has fixed its code from
calling srand and rand but the fix is not deployed at Red_storm
yet.
Platforms tested:
Tested at Red-Storm.