mirror of
https://github.com/HDFGroup/hdf5.git
synced 2024-11-27 02:10:55 +08:00
[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:
parent
935bf228d3
commit
4e4c5d3e0f
30
configure
vendored
30
configure
vendored
@ -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
|
||||
;;
|
||||
|
||||
|
38
configure.in
38
configure.in
@ -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
|
||||
;;
|
||||
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user