[svn-r18992] Bug Fix: (ID 1921)

PHDF5 changed to use "mpiexec", instead of mpirun, as the default MPI
applications startup command as defined in the MPI-2 definition, section
4.1.  Note that only mpich related (using mpicc command) definitions are
changed to mpiexec. Other favors like hcc, AIX, champion, are not changed
since I don't have a way to verify them yet.

Tested:
jam and amani, using both current and new mpich.
Did not h5committested since this affects PHDF5 configure only.
This commit is contained in:
Albert Cheng 2010-06-11 18:37:33 -05:00
parent 935bf228d3
commit 4e4c5d3e0f
3 changed files with 37 additions and 34 deletions

30
configure vendored
View File

@ -1,5 +1,5 @@
#! /bin/sh
# From configure.in Id: configure.in 18709 2010-05-05 17:34:26Z mamcgree .
# From configure.in Id: configure.in 18976 2010-06-04 16:01:39Z lrknox .
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.65 for HDF5 1.9.70.
#
@ -7397,8 +7397,8 @@ fi
case "$CC_BASENAME" in
mpicc)
PARALLEL=mpicc
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for mpirun" >&5
$as_echo_n "checking for mpirun... " >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for mpiexec" >&5
$as_echo_n "checking for mpiexec... " >&6; }
cmd="`echo $CC | cut -f1 -d' '`"
if (echo $cmd | grep / >/dev/null); then
@ -7411,13 +7411,13 @@ $as_echo_n "checking for mpirun... " >&6; }
done
fi
if test -x $path/mpirun; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $path/mpirun" >&5
$as_echo "$path/mpirun" >&6; }
if test -x $path/mpiexec; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $path/mpiexec" >&5
$as_echo "$path/mpiexec" >&6; }
RUNSERIAL="${RUNSERIAL:-none}"
if test -z "$RUNPARALLEL"; then
RUNPARALLEL="$path/mpirun -np \$\${NPROCS:=3}"
RUNPARALLEL="$path/mpiexec -n \$\${NPROCS:=3}"
fi
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
@ -7496,8 +7496,8 @@ ac_compiler_gnu=$ac_cv_fc_compiler_gnu
case "$FC" in
*mpif90*)
PARALLEL=mpif90
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for mpirun" >&5
$as_echo_n "checking for mpirun... " >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for mpiexec" >&5
$as_echo_n "checking for mpiexec... " >&6; }
cmd=`echo $FC |cut -f1 -d' '`
if (echo $cmd |grep / >/dev/null); then
@ -7510,13 +7510,13 @@ $as_echo_n "checking for mpirun... " >&6; }
done
fi
if test -x $path/mpirun; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $path/mpirun" >&5
$as_echo "$path/mpirun" >&6; }
if test -x $path/mpiexec; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $path/mpiexec" >&5
$as_echo "$path/mpiexec" >&6; }
RUNSERIAL="${RUNSERIAL:-none}"
if test -z "$RUNPARALLEL"; then
RUNPARALLEL="$path/mpirun -np \$\${NPROCS:=2}"
RUNPARALLEL="$path/mpiexec -n \$\${NPROCS:=2}"
fi
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
@ -21490,7 +21490,7 @@ case "$host_cpu-$host_vendor-$host_os" in
AM_CPPFLAGS="-D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE $AM_CPPFLAGS"
fi
H5_CPPFLAGS="-D_POSIX_SOURCE $H5_CPPFLAGS"
H5_CPPFLAGS="-D_POSIX_SOURCE $H5_CPPFLAGS"
AM_CPPFLAGS="-D_BSD_SOURCE $AM_CPPFLAGS"
;;
@ -26383,7 +26383,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
fi
if test "X$PARALLEL" = "Xyes" -a -z "$RUNPARALLEL"; then
RUNPARALLEL="mpirun -np \$\${NPROCS:=3}"
RUNPARALLEL="mpiexec -n \$\${NPROCS:=3}"
fi
;;

View File

@ -681,7 +681,7 @@ dnl RUNSERIAL -- This is a command which will be prepended to
dnl the executable name to run the executable using
dnl a single process. For serial versions of the
dnl library this will normally be empty. For parallel
dnl versions it might be something like `mpirun -np 1'.
dnl versions it might be something like `mpiexec -n 1'.
dnl The value of this variable is substituted in *.in
dnl files.
dnl
@ -706,15 +706,15 @@ dnl ----------------------------------------------------------------------
dnl If the compiler is obviously a parallel compiler then we're building
dnl a parallel version of hdf5 and should define HAVE_PARALLEL. Furthermore,
dnl the name of the compiler might tell us how to run the resulting
dnl executable. For `mpicc' the executable should be run with `mpirun' from
dnl executable. For `mpicc' the executable should be run with `mpiexec' from
dnl the same directory as mpicc if it exists.
dnl
case "$CC_BASENAME" in
mpicc)
dnl The mpich compiler. Use mpirun from the same directory if it
dnl The mpich compiler. Use mpiexec from the same directory if it
dnl exists.
PARALLEL=mpicc
AC_MSG_CHECKING([for mpirun])
AC_MSG_CHECKING([for mpiexec])
dnl Find the path where mpicc is located.
cmd="`echo $CC | cut -f1 -d' '`"
@ -728,13 +728,13 @@ case "$CC_BASENAME" in
done
fi
dnl Is there an mpirun at that path?
if test -x $path/mpirun; then
AC_MSG_RESULT([$path/mpirun])
dnl Is there an mpiexec at that path?
if test -x $path/mpiexec; then
AC_MSG_RESULT([$path/mpiexec])
RUNSERIAL="${RUNSERIAL:-none}"
if test -z "$RUNPARALLEL"; then
RUNPARALLEL="$path/mpirun -np \$\${NPROCS:=3}"
RUNPARALLEL="$path/mpiexec -n \$\${NPROCS:=3}"
fi
else
AC_MSG_RESULT([none])
@ -811,7 +811,7 @@ dnl If the Fortran compiler is obviously a parallel compiler then we're
dnl building a parallel version of hdf5 and should define HAVE_PARALLEL.
dnl Furthermore, the name of the compiler might tell us how to run the
dnl resulting executable. For `mpif90' the executable should be run with
dnl `mpirun' from the same directory as mpif90 if it exists.
dnl `mpiexec' from the same directory as mpif90 if it exists.
dnl
if test "X$HDF_FORTRAN" = "Xyes"; then
dnl Change to the Fortran 90 language
@ -819,10 +819,10 @@ if test "X$HDF_FORTRAN" = "Xyes"; then
case "$FC" in
*mpif90*)
dnl The Fortran mpich compiler. Use mpirun from the same directory
dnl The Fortran mpich compiler. Use mpiexec from the same directory
dnl if it exists.
PARALLEL=mpif90
AC_MSG_CHECKING([for mpirun])
AC_MSG_CHECKING([for mpiexec])
dnl Find the path where mpif90 is located.
cmd=`echo $FC |cut -f1 -d' '`
@ -836,13 +836,13 @@ if test "X$HDF_FORTRAN" = "Xyes"; then
done
fi
dnl Is there an mpirun at that path?
if test -x $path/mpirun; then
AC_MSG_RESULT([$path/mpirun])
dnl Is there an mpiexec at that path?
if test -x $path/mpiexec; then
AC_MSG_RESULT([$path/mpiexec])
RUNSERIAL="${RUNSERIAL:-none}"
if test -z "$RUNPARALLEL"; then
RUNPARALLEL="$path/mpirun -np \$\${NPROCS:=2}"
RUNPARALLEL="$path/mpiexec -n \$\${NPROCS:=2}"
fi
else
AC_MSG_RESULT([none])
@ -2593,9 +2593,9 @@ case "X-$enable_parallel" in
AC_LANG_POP(Fortran)
fi
dnl Set RUNPARALLEL to mpirun if not set yet.
dnl Set RUNPARALLEL to mpiexec if not set yet.
dnl Check for building on Cray if RUNPARALLEL is not yet set by checking
dnl for 'aprun' command (which is the parallel job launcher, like mpirun).
dnl for 'aprun' command (which is the parallel job launcher, like mpiexec).
if test "X$PARALLEL" = "Xyes" -a -z "$RUNPARALLEL"; then
dnl Find the path where aprun is located.
for path in `echo $PATH | ${TR} ":" " "`; do
@ -2606,9 +2606,9 @@ case "X-$enable_parallel" in
done
fi
dnl Set RUNPARALLEL to mpirun if not set yet.
dnl Set RUNPARALLEL to mpiexec if not set yet.
if test "X$PARALLEL" = "Xyes" -a -z "$RUNPARALLEL"; then
RUNPARALLEL="mpirun -np \$\${NPROCS:=3}"
RUNPARALLEL="mpiexec -n \$\${NPROCS:=3}"
fi
;;

View File

@ -39,6 +39,9 @@ New Features
Configuration:
-------------
- PHDF5 changed to use "mpiexec", instead of mpirun, as the default MPI
applications startup command as defined in the MPI-2 definition, section
4.1. (AKC - 2010/6/11 - Bug 1921)
- Configure now adds appropriate defines for supporting large (64-bit)
files on all systems, where supported, by default, instead of only linux.
This largefile support is controllable with the --enable-largefile