diff options
author | MuQun Yang <ymuqun@hdfgroup.org> | 2005-07-12 19:14:18 (GMT) |
---|---|---|
committer | MuQun Yang <ymuqun@hdfgroup.org> | 2005-07-12 19:14:18 (GMT) |
commit | bee5c236e56815d5d53dcb96f9cd3cbb64b4713a (patch) | |
tree | b3affb7bf0a6c3cccb237c5eb7006e0c893f8cbd | |
parent | b73a072f69a9fdcaa79af326d2eee263e0fa360e (diff) | |
download | hdf5-bee5c236e56815d5d53dcb96f9cd3cbb64b4713a.zip hdf5-bee5c236e56815d5d53dcb96f9cd3cbb64b4713a.tar.gz hdf5-bee5c236e56815d5d53dcb96f9cd3cbb64b4713a.tar.bz2 |
[svn-r11065] Purpose:
Updating phase 2 work of collective IO
Description:
When the size is bigger than some value for MPI derived data type, mpich 1.2.5 and lower
version won't work any more, so in the configuration file, we will check the version number
and switch from collective IO to independent IO by turning off complex derived datatype.
Solution:
Platforms tested:
linux 2.4, AIX 5.1, Linux 2.4 IA64 and IRIX 6.5
Misc. update:
-rw-r--r-- | config/linux-gnulibc1 | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/config/linux-gnulibc1 b/config/linux-gnulibc1 index 49054a1..454a829 100644 --- a/config/linux-gnulibc1 +++ b/config/linux-gnulibc1 @@ -112,3 +112,20 @@ if test -z "$CXX"; then CXX=g++ CXX_BASENAME=g++ fi + +# We know that for mpich 1.2.5 and previous version, complicated derived datatype is +# supported, we need to set the macro to hdf5_mpi_complex_derived_datatype_works to no. +# Notice that this fix will only work if the compiler name is mpicc and mpi package is +# mpich 1.x.x. + +if [ -z "$hdf5_mpi_complex_derived_datatype_works" -a $CC_BASENAME = mpicc ]; then + ccversion=`$CC -v 2>&1 | sed -e 's/.*for //p'` + ccversion1=`echo $ccversion | cut -f1 -d.` + ccversion2=`echo $ccversion | cut -f2 -d.` + ccversiontemp=`echo $ccversion | cut -f3 -d.` + ccversion3=`echo $ccversiontemp | cut -c1` + ccversionval=`expr $ccversion1 \* 100 + $ccversion2 \* 10 + $ccversion3` + if [ $ccversionval -lt 126 ]; then + hdf5_mpi_complex_derived_datatype_works='no' + fi +fi |