[mpich-commits] [mpich] MPICH primary repository branch, master, updated. v3.2-470-g887e0d3
Service Account
noreply at mpich.org
Mon Oct 3 16:37:09 CDT 2016
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "MPICH primary repository".
The branch, master has been updated
via 887e0d30f8fe8e939a509aceed02324fef7eca38 (commit)
from 72c266f9eca8697e60384897b339f54b334be3f9 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://git.mpich.org/mpich.git/commitdiff/887e0d30f8fe8e939a509aceed02324fef7eca38
commit 887e0d30f8fe8e939a509aceed02324fef7eca38
Author: Wesley Bland <wesley.bland at intel.com>
Date: Thu Aug 4 10:28:04 2016 -0500
CH4/OFI: Enable forced embedding
If the user wants to force using an embedded OFI library, we shouldn't
check for the default library locations because "embedded/lib" won't be
a valid location. This is triggered by using the configure flag
--with-libfabric=embedded.
Signed-off-by: Ken Raffenetti <raffenet at mcs.anl.gov>
diff --git a/autogen.sh b/autogen.sh
index c5dd677..3215a68 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -164,6 +164,10 @@ MAKE=${MAKE-make}
# external packages that require autogen.sh to be run for each of them
externals="src/pm/hydra src/mpi/romio src/openpa"
+if [ -e src/mpid/ch4/netmod/ofi/libfabric ]; then
+ externals="${externals} src/mpid/ch4/netmod/ofi/libfabric"
+fi
+
# amdirs are the directories that make use of autoreconf
amdirs=". src/mpl src/util/logging/rlog"
diff --git a/src/mpid/ch4/netmod/ofi/subconfigure.m4 b/src/mpid/ch4/netmod/ofi/subconfigure.m4
index 0c07763..9eb0ed6 100644
--- a/src/mpid/ch4/netmod/ofi/subconfigure.m4
+++ b/src/mpid/ch4/netmod/ofi/subconfigure.m4
@@ -119,23 +119,53 @@ AM_COND_IF([BUILD_CH4_NETMOD_OFI],[
AC_SUBST([ofilib])
PAC_SET_HEADER_LIB_PATH(libfabric)
- PAC_PUSH_FLAG(LIBS)
- PAC_CHECK_HEADER_LIB([rdma/fabric.h], [fabric], [fi_getinfo], [have_libfabric=yes], [have_libfabric=no])
- PAC_POP_FLAG(LIBS)
- if test "${have_libfabric}" = "yes" ; then
- AC_MSG_NOTICE([CH4 OFI Netmod: Using an external libfabric])
- PAC_APPEND_FLAG([-lfabric],[WRAPPER_LIBS])
- elif test ! -z "${with_libfabric}" ; then
- AC_MSG_ERROR([Provided libfabric installation (--with-libfabric=${with_libfabric}) could not be configured.])
+
+ ofi_embedded=""
+ dnl Use embedded libfabric if we specify to do so or we didn't specify and the source is present
+ if test "${with_libfabric}" = "embedded" ; then
+ ofi_embedded="yes"
+ elif test -z ${with_libfabric} ; then
+ if test -f ${use_top_srcdir}/src/mpid/ch4/netmod/ofi/libfabric/configure ; then
+ ofi_embedded="yes"
+ else
+ ofi_embedded="no"
+ fi
else
- # fallback to embedded libfabric
+ ofi_embedded="no"
+ fi
+
+ if test "${ofi_embedded}" = "yes" ; then
AC_MSG_NOTICE([CH4 OFI Netmod: Using an embedded libfabric])
- PAC_CONFIG_SUBDIR_ARGS([src/mpid/ch4/netmod/ofi/libfabric],[],[],[AC_MSG_ERROR(libfabric configure failed)])
+ ofi_subdir_args="--enable-embedded"
+
+ dnl Unset all of these env vars so they don't pollute the libfabric configuration
+ PAC_PUSH_FLAG(CPPFLAGS)
+ PAC_CONFIG_SUBDIR_ARGS([src/mpid/ch4/netmod/ofi/libfabric],[$ofi_subdir_args],[],[AC_MSG_ERROR(libfabric configure failed)])
+ PAC_POP_FLAG(CPPFLAGS)
PAC_APPEND_FLAG([-I${master_top_builddir}/src/mpid/ch4/netmod/ofi/libfabric/include], [CPPFLAGS])
PAC_APPEND_FLAG([-I${use_top_srcdir}/src/mpid/ch4/netmod/ofi/libfabric/include], [CPPFLAGS])
+ if test "$do_direct_provider" = "true" ; then
+ if test "x${enable_direct}" != "x" && test "${enable_direct}" != "no" ; then
+ PAC_APPEND_FLAG([-I${master_top_builddir}/src/mpid/ch4/netmod/ofi/libfabric/prov/${enable_direct}/include], [CPPFLAGS])
+ PAC_APPEND_FLAG([-I${use_top_srcdir}/src/mpid/ch4/netmod/ofi/libfabric/prov/${enable_direct}/include], [CPPFLAGS])
+ else
+ AC_MSG_ERROR([Enabled direct OFI provider but didn't specify which one])
+ fi
+ fi
+
ofisrcdir="${master_top_builddir}/src/mpid/ch4/netmod/ofi/libfabric"
ofilib="src/mpid/ch4/netmod/ofi/libfabric/src/libfabric.la"
+ else
+ PAC_PUSH_FLAG(LIBS)
+ PAC_CHECK_HEADER_LIB([rdma/fabric.h], [fabric], [fi_getinfo], [have_libfabric=yes], [have_libfabric=no])
+ PAC_POP_FLAG(LIBS)
+ if test "${have_libfabric}" = "yes" ; then
+ AC_MSG_NOTICE([CH4 OFI Netmod: Using an external libfabric])
+ PAC_APPEND_FLAG([-lfabric],[WRAPPER_LIBS])
+ else
+ AC_MSG_ERROR([Provided libfabric installation (--with-libfabric=${with_libfabric}) could not be configured.])
+ fi
fi
])dnl end AM_COND_IF(BUILD_CH4_NETMOD_OFI,...)
-----------------------------------------------------------------------
Summary of changes:
autogen.sh | 4 ++
src/mpid/ch4/netmod/ofi/subconfigure.m4 | 50 ++++++++++++++++++++++++------
2 files changed, 44 insertions(+), 10 deletions(-)
hooks/post-receive
--
MPICH primary repository
More information about the commits
mailing list