Bug fix
Description:
Previous checkin did a bad thing; 'make clean' failed in example directories.
Solution:
Fixed commence.am so that examples no longer break, and fixed a mistake
in conclude.am.
Platforms tested:
heping (minor makefile change)
Misc. update:
Add tests for optional APIs to support collective chunk IO
Description:
In order to test whether library picks up the user's options,
The number of chunks need to be varied for different processes,
Selection of the number of processes selected in one chunk also
need to be varied.
Solution:
Create two cases,
1. Each chunk only selected by one unique process, this case
library should use independent for collective call.
2. One-third of the processes occupies the top half of the whole domain,
The rest of the processes occupies the lower half of the domain.
The total number of chunk is a fixed number 8.
Platforms tested:
Linux 2.4 with mpich 1.2.6(only)
Since I only checked in the code that handles the selection, haven't added any new tests yet. So it won't affect any platforms.
Misc. update:
bug fix
Description:
percent relative error was done using integer arythmetic; use floating point instead
added the case for unsigned long long integer to float conversion
Solution:
Platforms tested:
linux (32,64)
AIX
solaris
Misc. update:
Bug fix
Description:
make check-clean didn't clean results of example tests
Solution:
Fixed Makefiles so that check-clean recurses into example directories.
Also a little Makefile cleanup.
Platforms tested:
mir, modi4, heping, copper
change the array size of collective chunking features of parallel tests.
Description:
Previously array size for collective optimization tests
including
cchunk1,
cchunk2,
cchunk3,
cchunk4,
ccontw,
ccontr,
cschunkw,
cschunkr,
ccchunkw,
ccchunkr
are fixed,
They are only valid for some good number of processors(1,2,3,4,6,8,12,16,24,32,48 etc).
Recently there are more requests for parallel tests to be valid on some odd number of processes such as 5,7,11,13 etc.
Solution:
I change the array size to be dynamic rather than static. Now the fastest change array size is a function of mpi_size. dim2 = constant *mpi_size. After some tunings, theoretically the above tests should be valid for any number of processors. However, other parallel tests still need to be tuned.
To verify the correctness of these tests, using mpirun -np 5 ./testphdf5 -b cchunk1 at heping.
Platforms tested:
h5committest(shanti is refused to be connected)
at heping, 5 and 7 processes are used to verify the correctness.
Misc. update:
portable issue on windows
Description:
setvbuf on visual studio 2005 needs the size to be greater or equal to 2.
<description of setvbuf from msdn library>
Buffer size in bytes. Allowable range: 2 <= size <=
INT_MAX (2147483647). Internally, the value supplied
for size is rounded down to the nearest multiple of 2.
h5import used linebuffer option of setvbuf for stderr and stdout and the size is
0 by default. This causes core dump with visual 2005 on windows 64-bit.
Solution:
1. Use HDsetvbuf inside h5import.c,
2. Define HDsetvbuf inside windows H5pubconf.h for windows to work around
the core dump of h5import test. This is probably a bug inside visual studio 2005.
Platforms tested:
h5commit(shanti is down)
VS 6.0 on windows XP
VS 8.0 on windows XP-64bit
Misc. update:
portable issue on windows
Description:
setvbuf on visual studio 2005 needs the size to be greater or equal to 2.
<description of setvbuf from msdn library>
Buffer size in bytes. Allowable range: 2 <= size <=
INT_MAX (2147483647). Internally, the value supplied
for size is rounded down to the nearest multiple of 2.
h5import used linebuffer option of setvbuf for stderr and stdout and the size is
0 by default. This causes core dump with visual 2005 on windows 64-bit.
Solution:
1. Use HDsetvbuf inside h5import.c,
2. Define HDsetvbuf inside windows H5pubconf.h for windows to work around
the core dump of h5import test. This is probably a bug inside visual studio 2005.
Platforms tested:
h5committest( shanti refuses to be connected)
windows 6.0 at XP
visual 2005 at XP-64bit
Misc. update:
portibility issue to windows
Description:
setvbuf on visual studio 2005 needs the size to be greater or equal to 2.
<description of setvbuf from msdn library>
Buffer size in bytes. Allowable range: 2 <= size <=
INT_MAX (2147483647). Internally, the value supplied
for size is rounded down to the nearest multiple of 2.
h5import used linebuffer option of setvbuf for stderr and stdout and the size is
0 by default. This causes core dump with visual 2005 on windows 64-bit.
Solution:
1. Use HDsetvbuf inside h5import.c,
2. Define HDsetvbuf inside windows H5pubconf.h for windows to work around
the core dump of h5import test. This is probably a bug inside visual studio 2005.
Platforms tested:
h5committest
windows 6.0 at XP
visual 2005 at XP-64bit
Misc. update:
Description: Unix remove function removes only the latest version of a file
on VMS. Some of our tests create multiple versions of the testfiles
and as a result, test programs may be confused, give false negative result,
etc.
Solution: Created HDremove_all function for VMS that removes all versions of the files.
HDremove on VMS is an alias to HDremove_all.
Platforms tested: VMS server and heping (to check that nothing is borken on UNIX side)
Misc. update:
Description: OpenVMS doesn't support denormalized floating-point values.
Disable the denormalized and special values for floating to floating-point
tests.
Platforms tested: OpenVMS - the only concerned machine.
Misc. update:
bug fix
Description:
1) added a more explainative usage message
2) the percent relative error for the integer type (division) was being done using integer arythmetic; use floating point arythmetic instead
3) added a new test for integer percent
Solution:
Platforms tested:
linux (32,64)
AIX
solaris
Misc. update:
Code cleanup
Description:
Update a couple of files that bin/reconfigure rearranged for me... :-)
Platforms tested:
FreeBSD 4.11 (sleipnir)
Too minor to require h5committest
Code cleanup
Description:
Add H5E header to this header, to make certain that the errors in the
"inline" routines are handled correctly.
Platforms tested:
FreeBSD 4.11 (sleipnir)
Linux 2.4 (chicago)
Mac OSX (amazon)
Code update
Description:
Add new minor error, for heap metadata operations.
Platforms tested:
FreeBSD 4.11 (sleipnir)
Linux 2.4 (chicago)
Mac OSX (amazon)
Disable debugging feature
Description:
Disable the "function stack" by default & take out it's dependency on
the "enable-debug" configure flag. The function stack code can slow things
down quite a bit and shouldn't be enabled for the upcoming alpha testing.
Platforms tested:
FreeBSD 4.11 (sleipnir)
Linux 2.4 (chicago)
Mac OSX (amazon)
Bug fix
Description:
The snapshot script was trying to install-doc, even though the docs are
no longer included in the cvs repo.
Solution:
Replaced 'make install install-doc' with 'make install-all', which should
have the same effect (installing the library and examples).
Platforms tested:
very minor change
Code cleanup
Description:
Clean up some compiler warnings (esp. those flagged on Windows builds)
Platforms tested:
FreeBSD 4.11 (sleipnir)
Too minor to require h5committest
bug fix
Description:
the compare check for the datatype sign was not done in the correct place, causing invalid
comparisons to be made
Solution:
put it on the correct place
Platforms tested:
linux 32, 64
AIX
Misc. update:
Code checkpoint
Description:
Update fractal heap code to insert & read heaps up to 64MB in size
(with my current configuration paramaters) and add initial support for
iteratively walking down nested indirect blocks.
Platforms tested:
FreeBSD 4.11 (sleipnir)
Linux 2.4 (chicago)
Solaris 9 (shanti)
Linux 2.4 (mir) w/64-bit
bug fix
Description:
1) the compare flag test was not being put in a correct place, making comparisons attempts that were not supposed to be done
2) some duplicate warnings were being made
Solution:
eliminate the duplicate warnings, put the if compare flag on the correct place
Platforms tested:
linux 32, 64
solaris
Misc. update:
Add more comments
Description:
Add more comments to H5Dmpio.c, which describes a little bit more about collective IO management.
Solution:
Platforms tested:
Only test at heping since only comments were added.
Misc. update:
Code update
Description:
Add basics of routine for reading information back out of a fractal heap.
Platforms tested:
FreeBSD 4.11 (sleipnir)
Too minor to require h5committest
Description: VMS stat structure doesn't have st_blocks filed. H5_HAVE_STAT_ST_BLOCKS
was defined in h5pubconf.h and therefore compilation of big.c
failed on VMS.
Solution: Undefined H5_HAVE_STAT_ST_BLOCKS in h5pubconf.h
Platforms tested: VMS server (change is local to VMS only)
Misc. update:
Description: Linking of cache test failed on VMS due to the missing
cache_common.* files
Solution: Added cache_common.* files to the approriate places in the make.com file.
Platforms tested: VMS server (this change is for VMS only)
Misc. update:
Checkpoint code
Description:
Rework code to support increasing size of root indirect block, in order
to add [at least] a second row of direct blocks.
Platforms tested:
FreeBSD 4.11 (sleipnir)
Solaris 9 (shanti) w/64-bit
Linux 2.4 (mir)
Enhancing the optimiziation of collective IO per chunk
Description:
When the user does one of the following two things:
1. to do collective IO per chunk without using our optimization code
2. or the user passes the percent of number of process per chunk to be 0 when choosing
to do collective IO per chunk
It is not necessary that the library uses MPI-IO collective calls to do any optimization.
Solution:
Modify the code so that no MPI communication-involved analyses will be done for the above cases. Chunk addresses are obtained globally and IO modes are assigned to collective always.
Platforms tested:
h5committest
Misc. update:
Description: Yesterday, H5E_NONE_MAJOR and H5E_NONE_MINOR were added to error
API by hand.
Solution: Today, correct the change by hand with the tool hdf5/bin/make_err.
The change by hand is only in src/H5err.txt.
Platforms tested: fuss - simple change.
Misc. update:
Code cleanup
Description:
Re-alphabetize the POSIX routines (again). Also, add proper prototype
to HDrand() definition.
Platforms tested:
FreeBSD 4.11 (sleipnir)
Too minor to require h5committest
Bug fix
Description:
There was a duplicate definition for HDsrandom and HDsrand left over in H5private.h
Solution:
Removed the two duplicate definitions.
Platforms tested:
heping (minor change)
Misc. update:
bug fixes
Description:
1) the option logic for the print of long types was done incorrectly (extra lines of code that were not supposed to be there)
2) the print of loong long types was incorrect
Solution:
1) removed the incorrect code
2) made a long long cast on the printf call
Platforms tested:
linux (32 and 64)
solaris
Misc. update:
Optimization
Description:
Get rid of unnecessary function call for systems that don't have rand_r.
Solution:
If rand_r isn't present on a system, then macros can be used to simply call
the underlying random function instead of calling the HDrand/HDsrand functions
that keep track of the random seed within the library.
Platforms tested:
heping (minor change)
Misc. update:
Description: Added H5E_NONE_MAJOR and H5E_NONE_MINOR as a major and minor
error message. Their messages are "no error", but because the old library
had them, they're added in for backward compatibility.
Platforms tested: fuss - simple change.
Code cleanup
Description:
Move VAX floating-point definitions down by the other machine specific ones.
Re-work the version handling for VAX byte ordered floating-point numbers.
Version numbers ought to be strictly increasing, not a bit-field.
Platforms tested:
FreeBSD 4.11 (sleipnir)