[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