diff options
author | Raymond Lu <songyulu@hdfgroup.org> | 2007-08-20 21:55:38 (GMT) |
---|---|---|
committer | Raymond Lu <songyulu@hdfgroup.org> | 2007-08-20 21:55:38 (GMT) |
commit | 6262a14f2e6f669f72e0212b4ce3654c9526f1dc (patch) | |
tree | 04eb74edc28e9abf1bfc1e9cf064291890b39c49 /config/linux-gnulibc1 | |
parent | 2ab6b11aafaab9b09ba96781b19463e262990052 (diff) | |
download | hdf5-6262a14f2e6f669f72e0212b4ce3654c9526f1dc.zip hdf5-6262a14f2e6f669f72e0212b4ce3654c9526f1dc.tar.gz hdf5-6262a14f2e6f669f72e0212b4ce3654c9526f1dc.tar.bz2 |
[svn-r14096] There're 3 changes in this checkin as below:
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.
Diffstat (limited to 'config/linux-gnulibc1')
-rw-r--r-- | config/linux-gnulibc1 | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/config/linux-gnulibc1 b/config/linux-gnulibc1 index 5ece750..015d079 100644 --- a/config/linux-gnulibc1 +++ b/config/linux-gnulibc1 @@ -116,6 +116,16 @@ fi # Check MPICH settings . $srcdir/config/mpich + +# The ChaMPIon on NCSA tungsten doesn't work correctly for either of the following +# cases: +# 1. collective I/O when some processes don't have any contributions; +# 2. complex derived MPI data type. +if test $CC_BASENAME = cmpicc; then + hdf5_mpi_special_collective_io_works=${hdf5_mpi_special_collective_io_works='no'} + hdf5_mpi_complex_derived_datatype_works=${hdf5_mpi_complex_derived_datatype_works='no'} +fi + #Comment out the following line if your system supports collective IO when some processes #don't have any contributions to IOs. #hdf5_mpi_special_collective_io_works=${hdf5_mpi_special_collective_io_works='no'} |