[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:
This commit is contained in:
MuQun Yang 2005-07-12 14:16:39 -05:00
parent bee5c236e5
commit 0f1c1ae4b3

View File

@ -137,5 +137,19 @@ case $CXX_BASENAME in
PROFILE_CPPFLAGS= PROFILE_CPPFLAGS=
;; ;;
esac 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