Add collective chunk IO supports
Description:
Added a macro hdf5_mpi_special_collective_io_works to filter out
some mpi-io packages that don't support collective IO for no IO
contributions in some processes.
Solution:
1.
"hdf5_mpi_special_collective_io_works=${hdf5_mpi_special_collective_io_works=
'no'}"
has been added at the end of file ia64-linux-gnu and linux-gnulibc1
2. Some comments are added in ia64-linux-gnu and linux-gnulibc1.
3. Documents are added inside RELEASE.txt.
Platforms tested:
Parallel:
IBM AIX 5.2(copper)
Linux (heping) mpich-1.2.6
SDSC Teragrid mpich-1.2.5
Linux(Tungsten) mpich-1.2.6
Altix(NCSA cobalt)
Seq:
Linux(heping)
Misc. update:
Supports for collective chunk IO inside parallel HDF5
Description:
Added a macro hdf5_mpi_special_collective_io_works to filter out
some mpi-io packages that don't support collective IO for no IO
contributions in some processes.
Solution:
Using AC_CACHE_VAL to do the job.
Platforms tested:
Parallel:
IBM AIX 5.2(copper)
Linux (heping) mpich-1.2.6
SDSC Teragrid mpich-1.2.5
Linux(Tungsten) mpich-1.2.6
Altix(NCSA cobalt)
Seq:
Linux(heping)
Misc. update:
New feature.
Description:
Added the feature to make a release tarball for the documents tree too.
Platforms tested:
Feature code was created by James. I just did some touch up and
tested it by hand in heping. I am checking it in while he is absent.
Misc. update:
Cleanup
Description:
v1.7:
Removed some debug files left by previous change.
Uncommented the removal of the temporary working directory.
v1.6:
Moved the code of removal of the temporary working directory
to a later location in order to stay in sync with v1.7.
(The later location is needed for v1.7 code but makes no different
to v1.6)
Platforms tested:
Tested by hand.
bug fix
Description:
the --disable-hl switch was causing linking errors on gif2h5 that uses image api (bugzilla #1)
Solution:
used the condional macro for hl to build gif2h5
Platforms tested:
linux
Misc. update:
bug fix
Description:
the linking order in Makefile.am of the gif2h5 tool was causing linking errors on some configurations (pgcc, --disable-shared)
Solution:
changed the order of the linking (hl before hdf5)
Platforms tested:
linux, several configurations
solaris
Misc. update:
bug fix
Description:
the build order of the several folders was causing linking errors
Solution:
changed the "." to be the last to avoid it
Platforms tested:
linux
Misc. update:
Maintenance on Windows
Description:
Add hdf hl library as the dependency of gifconv and gifconvdll
Solution:
Platforms tested:
Windows XP
Misc. update:
improvement.
Description:
Release must be run at the top of the hdf5 source directory.
Added a test to verify this condition at the beginning of the
command.
Platforms tested:
Tested by hand.
bug fix , bugzilla bug #1
Description:
the gif2h5 was not writing HDF5 images correctly
Solution:
use the Image API to write the image, rewrote the writing functionY
Platforms tested:
linux
solaris
Misc. update:
Bug fix in release script
Description:
release --private should create a release without changing the current
version of the library. This wasn't working for the libtool version, which
was getting bumped regardless.
Solution:
Fixed the release and h5vers scripts to leave the source directory
unchanged when bin/release --private is run.
Platforms tested:
mir (changes to scripts only)
Attempt to ensure that the parallel cache test runs at a reasonable
speed with large numbers of processors.
Description:
In some cases, the number of random locks and unlocks was a multiple of
the MPI rank.
Solution:
Use rank % 4 instead of simply rank.
Platforms tested:
copper
Misc. update:
Add a file that I forgot in my last checkin.
Description:
t_cache.c is the source file for the new parallel metadata cache test.
Solution:
See above.
Platforms tested:
h5committested before the last checkin. Will run another
h5committest shortly, but it shouldn't be necessary as there
are no new changes.
Misc. update:
Add files that I forgot in my last checkin.
Description:
cache_api.c cache_common.c cache_common.h are new files that result
from breaking the old cache test into two tests.
Solution:
See above.
Platforms tested:
h5committested before the last checkin. Will run another
h5committest shortly, but it shouldn't be necessary as there
are no new changes.
Misc. update:
Bug fix/additional tests
Description:
Add additional tests for holding open an object of a given type (dataset,
group, etc) while incorrectly trying to open that object with a different
type of API routine (i.e. using the group open call on a dataset, etc.)
Platforms tested:
FreeBSD 4.11 (sleipnir)
Too minor to require h5committest
Bug fix & new feature
Description:
Support variable-length datatypes in compact data storage and chunked
data storage, along with attributes.
Bug fix on the H5T_vlen_set_loc to allow for changing the file on a
variable-length datatype on disk.
Platforms tested:
FreeBSD 4.11 (sleipnir)
Linux 2.4
Can't h5committest right now, due to missing cache files.
1) Add parallel test for metadata cache
2) Split serial test for metadata cache into two parts
3) Fix bug in which cache was flushed needlessly when the
cache wasn't full.
4) Performance improvements
5) Update API for parallel cache coherency bug fix.
Description:
See above.
Solution:
See above.
Platforms tested:
h5committest
Misc. update:
1) Add parallel test for metadata cache
2) Split serial test for metadata cache into two parts
3) Fix bug in which cache was flushed needlessly when the
cache wasn't full.
4) Performance improvements
Description:
See above.
Solution:
See above.
Platforms tested:
h5committest
Misc. update:
Bug fix.
Description:
Seems like some compilers don't like the "inline" function spec.
Solution:
Removed the inline description for the sub_time function.
Platforms tested:
heping and tg-login.
Misc. update:
Feature, address bug #426
Description:
The h5perf test now also keeps track of the time it takes to:
open a file: Time between start of open and start first read/write
close a file: Time between end of last read/write and end of close.
This information is only displayed if debug output printing is enabled (level 3 or higher)
Solution:
The test actually has all of the data necessary to compute the time it takes to open
and close a file; it just wasn't recording it. Added 4 new timers:
HDF5_FILE_READ_OPEN
HDF5_FILE_READ_CLOSE
HDF5_FILE_WRITE_OPEN
HDF5_FILE_WRITE_CLOSE
that keep track of the time to open/close a file opened for reading/writing.
Platforms tested:
heping and mir
Misc. update:
Description: h5_group example didn't work on VMS; it turned out
that a group was not closed and since the default
file close degree is "weak", file was not closed either.
When program attempted to open the same file, system reported
an error since the file was "locked by another user".
UNIX systems apperently do not care and open the same file
without any problem.
Solution: Added H5Gclose calls.
Platforms tested: VMS server and heping
Misc. update:
Code cleanup
Description:
Check in some of the code cleanups from working on the external link
support. (This doesn't include any of the external link features)
Platforms tested:
FreeBSD 4.11 (sleipnir)
Mac OSX.4 (amazon)
Linux 2.4
Description:
Removed the call to h5_test from dsets.cpp, since resetting
the library made the C++ global constants become invalid.
Platforms tested:
Linux 2.4 (heping)
SunOS 5.8 64-bit (sol)
Description: Revise a few details of H5LTtext_to_dtype() and H5LTdtype_to_text(),
1. changed the DDL definition of string, opaque, and compound types.
2. added a new parameter of H5LT_lang_t type to these two functions.
Platforms tested: h5committest and fuss.
bug fix
a call to sprintf was giving incorrect output in the system Fedora Core 4 with gcc 4.0
(not supported by us, but user reported)
Solution:
the call was using the same buffer for source and destination variables, used different ones
Platforms tested:
linux (mir)
solaris (sol)
Misc. update:
Bug fix.
Description:
Fixed a typo and also moved initialization of n_xxxx variables to the
common declaration place.
Platforms tested:
Tested in v1.6 branch already.
Bug fix.
Description:
getenv_all, like some implementations of getenv, keeps an internal buffer
for the getenv values. Application must make a copy of the content of the
returned pointer before calling getenv_all again IF it wants to use the
first content later. The previous code violated this rule and caused
error.
Solution:
Did a small revamp of the h5_fixname to fix the above problem by moving
the getenv_all for HDF5_NOCLEANUP eariler to avoid it clashing the
call of getenv_all for HDF5_PARAPREFIX. No a good permenant fix. Need
to really recode this routine.
Platforms tested:
h5committested.
Copyright fix
Description:
The packet table examples were breaking the copyright checking script.
Fixed them.
Also caught a one-line copyright problem in another file.
Platforms tested:
Only changed comments.
Bug fix.
Description:
getenv_all will be called even when it is NOT an MPI application.
Solution:
Moved the use of getenv_all("HDF5_NOCLEANUP") to fix_name so that it will
be invoked only if a parallel driver is used.
Platforms tested:
hand tested in copper.
Makefile fix
Description:
perform/h5perf is (currently) a test for parallel performance, but was
being built when parallel was disabled. Fixed this.
perform/perf had the same problem.
Solution:
Actually, perf and h5perf were being "built but not executed"
using two different mechansims. They now use the same mechanism,
being built and executed in parallel only.
Platforms tested:
mir, heping, sleipnir