1. In H5Dwrite and H5Dread, let the data buffer point to a fake address if the application passes
in an empty buffer. This is mainly for MPIO programs that some processes may not have any
data to write or read but still participate the I/O. This solution solves some MPI's problem
like the ChaMPIon on tungsten which doesn't support empty buffer.
2. The ChaMPIon on tungsten doesn't support complex derived MPI data type correctly and collective
I/O when some processes don't have any data to write or read correctly. Detect the compiler
"cmpicc" in the system-specific config file and set the variables for these two cases to false.
The PHDF5 library already has set up a way to switch collective chunked I/O to independent
under these two cases.
3. A bug fix - During the work of the optimization for compound data I/O, the case for switching
collective chunked I/O to independent I/O was leftout. Fixed it by adding I/O caching to it in
H5D_multi_chunk_collective_io in H5Dmpio.c.
Tested on tungsten, cobalt, and kagiso for parallel; on linew and smirom for serial.
with Intel 10.0 compiler.
Solution: Use -O1 optimization flag with Intel 10.0
Platforms tested: abe and kagiso with Intel 10.0 and Intel 9.1 compilers; no committest
is needed since this is a compiler specific change.
Rename Mac OS X compiler configuration file to more generic name, which
should allow Intel Macs to configure better.
Tested on:
Mac OS X/32 10.4.10 (amazon)
QSC's mpi implementation does not do collection I/O correctly.
Need to turn some collective support off.
Tested platform:
LANL QSC.
-This line, and those below, will be ignored--
M config/dec-osf5.x
Straighten out some of the code for handling superblocks, in preparation
for revising the format of the latest version of the superblock before the
beta release.
Tested on:
Mac OS X/32 10.4.8 (amazon)
FreeBSD/32 6.2 (duty)
Description: Multiple copies of Copyright appeared in Makefile.in. This was
due to automake copying the copyright right in the included files such as
config/commence.am.
Solution: Automake treats double hashes as comments and does not copy them
to Makefile.in. Changed all the copyright notices in config/*.am to use
double hashes for the Copyright right notice.
Tested: kagiso via bin/reconfigure.
It seems that while Cygwin supports the time command, it has trouble with
the syntax
srcdir="../../hdf5/test" time ./testhdf5
and complains.
The solution is to test the above case in configure and not to use the time
command if it fails; Cygwin is fine with
srcdir="../../hdf5/test" ./testhdf5
Tested on Cygwin and kagiso. This feature shouldn't be a major compatibility
problem since every platform but Cygwin is already fine with the current
syntax.
Change AIX to use C99 standard by default.
Also removed -DSTDC as its need is unknown.
Also added a line to identify this is for IBM AIX platforms.
Tested:
Copper.
Should disable linking against shared libraries in Fortran for compilers that
don't support shared libraries.
Should also fix problem when the wrong Fortran file extension was specified.
If these changes don't solve the Daily Test issues, I'll look at backing out
the autotool version change until I have time to fix them.
Tested on heping, kagiso, juniper.
For some reason, only Visual Studio DLLs complained about these.
Current code compiles for me under Visual Studio and generates no related
warnings on juniper.
Daily tests failed for Absoft f95 compiler
Solution:
Failure was due to several typos in H5f90prpto.h file; fixed
I also removed redundant flags from the configration files.
Platforms tested: heping with f95, g95, pgf90; pommier with f95
Use a slightly less efficient method of computing the log2() on SGI IRIX64,
in order to avoid a compiler bug when optimizations are turned on.
Tested on:
SGI IRIX64 6.5 (atlantia)
Improve default settings.
Use mpicc, mpif90, mpirun as the default $CC, $FC, and $RUNPARALLEL if
enable-parallel.
Tested:
in TG-NCSA both serial and parallel.
Comment out the use of the "-Wpadded" flag, it's generating far too many
warnings that are impossible to correct and probably making it harder to see
other warnings that are more important.
Tested on:
Linux/32 2.6 (chicago)
Linux/64 2.6 (chicago2)
Since these examples need to follow filesystem paths, the Makefiles need
to create directories in the examples directory; added this to the
Makefile.am.
Tested on Windows, mir, juniper
-O3 flag causes compilation problems on most of the platforms with Intel compiler.
The problem exists in all vesrions of icc compiler up to the newest 9.1
Solution:
Use less agressive default setting O2 to avoid headache
Platforms tested: Linux 2.6 ia64 at UCAR (hal), cobalt (NCSA)
"make check-vfd" will now run all tests in the test directory with different
file drivers (at least, all of those tests that use the testing framework's
FAPL). Tests that fail will be skipped.
This is not a perfect fix, but is better than nothing.
Along with this change, check-vfd should be added to the Daily Tests.
Description: Added support for HPUX11.23
Solution: Added configuration file for the system.
Both C, C++, F90, HL 32-bit and 64-bit are supported. Known problems:
C++ library will not build in 64-bit mode if shared is enabled.
Platforms tested: HPUX 11.23 at UMKC
Misc. update:
Configuration feature
Description:
'make install' now tests both static and shared libraries if both are installed.
Solution:
Previously, shared libraries were only tested when static libraries were not installed.
Also cleaned up line in commence.am that was including HL library in all Makefiles.
Platforms tested:
mir (Makefile change only)
Bug fix.
Description:
C++ testhdf5 failed when it tried to inspect the size of a file
via the HDstat call. The reason was that the CFLAGS has -D_LARGE_FILES
hardset in it while the CXXFLAGS does not. So, C is using an off_t
that is 8 bytes while C++ is using off_t as 4 bytes. C is using
a version of 64bits stat/off_t/etc while C++ uses the 32 bits version.
Thus a failure.
Solution:
Added -D_LARGE_FILES to $CXXFLAGES so that both C and C++ are using
the same version of stat/off_t/etc.
Platforms tested:
Tested in Copper only, both 32 and 64 bits since the changes affected
the AIX platform only.
work-around solution for special cases in collective IO
Description:
For collective IO
if some processes don't have any contributions to IO, even with the new SGI compiler(7.4.4m), the testing program will be hanged. Previously only thought it didn't work with old compiler. It turned out not to be true.
Solution:
Turned off the special flag: H5_MPI_SPECIAL_COLLECTIVE_IO_WORKS
Platforms tested:
UCAR IRIX 6.5
this file only affects IRIX 6.x system. No need to test at other platforms.
Misc. update:
Purpose:
Bug fix
Description:
The Daily Test errors were due to H5_CFLAGS not being included when
configure tested the sizes of some values.
Rolled back the offending changes.
Solution:
There is a "correct" solution to this problem, which is to ensure that
the H5_CFLAGS are included in autoconf's tests.
This rollback is only temporary until the "real" fix can be applied.
Platforms tested:
copper (problem only in aix config file)
Purpose:
H5CC feature
Description:
Made H5_CFLAGS change to several more configuration files.
Solution:
Moved nonessential flags from CFLAGS to H5_CFLAGS for several more
platforms. If my guesses about which flags were nonessential were
wrong, we'll have Daily Test errors.
Platforms tested:
mir, cray, copper, juniper (OS X)
H5_CFLAGS change
Description:
Made the threadsafe flags in config/freebsd H5_CFLAGS so that they are
not passed on to h5cc.
Solution:
If user applications need the threadsafe flag to link properly against
the threadsafe HDF5 library, we'll see linking errors in make-install
when threadsafe is enabled, and can revert this change.
Platforms tested:
mir only (very minor change)
Description: In the past we had Fortran support only for 64bit mode
on IRIX64-6.5. This feature was hardcoded in the IRIX configuration file.
New automatic Fortran datatypes configuration should support both
32bit and 64bit modes. I finally verified that it worked.
Solution: Removed -64 flag from the configuration file.
Platforms tested: UCAR IRIX64-6.5 in 32 and 64bit modes.
Misc. update:
H5_CFLAGS change
Description:
Converted a few platforms to use H5_CFLAGS to "test the waters"
Solution:
Modified a few config/* files to use H5_CFLAGS for non-essential
flags.
Platforms tested:
mir, heping
Several bug fixes
Description:
Added config file for Cray X1 (previous file was misnamed)
Simplified some code in hyperslab.c test that seemed to have been
confusing compiler on Cray X1.
Fixed typo in config/commence.am
Cleaned up hl/src/Makefile.am
Solution:
All four fixes should be straightforward. The failure on Cray was
very difficult to debug, but involved arithmetic errors.
This change seems to fix it.
Platforms tested:
heping, copper, sol, some Cray X1 (more testing when system comes back up)
Description: Here is what I did:
modified MANIFEST according Quincey's instructions to fix
the problem exposed by bin/release (compilation fails
because some header files were not included in the distribution)
fixed small typo and modified include_HEADERS line in
src/Makefile.am to address the problem exposed by bin/release
ran bin/h5vers to change version number to 1.8.0-alpha0
ran bin/release to release tar ball to the ftp server
Solution:
Platforms tested: mir MANY,MANY,MANY times
Misc. update:
new feature
Description:
1) separated the HL library into "public" and "private" header files, with the same caracteristics as the basic library
2) added the public headers to hdf5.h (with a conditional include macro, defined in configure.in)
3) added the path to HL in all Makefile.am 's , because of the inclusion in hdf5.h
Solution:
Platforms tested:
linux 32, 64
AIX
solaris
with fortran and c++
(one packet table example fails)
Misc. update:
Removed -march flag
Description:
The -march optimization flag is bad in some circumstances
Solution:
Prevented HDF5 from adding the -march archicture-specific optimization
flag, so that users could have one version of HDF5 used by
several different machines.
Platforms tested:
heping (one of the few platforms that affected by this small change)
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:
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
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:
The previous check-in seems fixing the non-selection failure at heping.
Description:
release the special_collective_io_works macro at this platform.
Solution:
Platforms tested:
heping mpich 1.2.6
Misc. update:
Purpose:
bug fix
Description:
modi4's sgi compiler is too old to support collective IO when there are no contributions from
some processes.
Solution:
Disable mpi_special_collective_io_work macro.
Platforms tested:
NCAR SGI
MODI4
COOPER
Misc. update:
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:
Code cleanup/update
Description:
Update compiler flags for gcc 4.1.x & start cleaning up some of the C++
compatibility
Platforms tested:
FreeBSD 4.11 (sleipnir) w/gcc 4.1 and/or g++