summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMuQun Yang <ymuqun@hdfgroup.org>2005-07-12 19:16:39 (GMT)
committerMuQun Yang <ymuqun@hdfgroup.org>2005-07-12 19:16:39 (GMT)
commit0f1c1ae4b3c6ac7fad11b4c949f9f4c67cd2989a (patch)
treec8543226809b2d3f3c804a05a2060ceb43571f8f
parentbee5c236e56815d5d53dcb96f9cd3cbb64b4713a (diff)
downloadhdf5-0f1c1ae4b3c6ac7fad11b4c949f9f4c67cd2989a.zip
hdf5-0f1c1ae4b3c6ac7fad11b4c949f9f4c67cd2989a.tar.gz
hdf5-0f1c1ae4b3c6ac7fad11b4c949f9f4c67cd2989a.tar.bz2
[svn-r11066] 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/ia64-linux-gnu16
1 files changed, 15 insertions, 1 deletions
diff --git a/config/ia64-linux-gnu b/config/ia64-linux-gnu
index 11cfacb..f22bf21 100644
--- a/config/ia64-linux-gnu
+++ b/config/ia64-linux-gnu
@@ -137,5 +137,19 @@ case $CXX_BASENAME in
PROFILE_CPPFLAGS=
;;
esac
-
+# 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