summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMuQun Yang <ymuqun@hdfgroup.org>2005-07-12 19:14:18 (GMT)
committerMuQun Yang <ymuqun@hdfgroup.org>2005-07-12 19:14:18 (GMT)
commitbee5c236e56815d5d53dcb96f9cd3cbb64b4713a (patch)
treeb3affb7bf0a6c3cccb237c5eb7006e0c893f8cbd
parentb73a072f69a9fdcaa79af326d2eee263e0fa360e (diff)
downloadhdf5-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-gnulibc117
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