@@ -18,9 +18,15 @@ endif
if EXT_TYPE_IB
XFLAGS = -DDAT_EXTENSIONS
XPROGRAMS = dapl/openib_common/ib_extensions.c
+if COLL_TYPE_FCA
+XFLAGS += -DDAT_IB_COLLECTIVES -DDAT_FCA_PROVIDER
+XPROGRAMS += dapl/openib_common/collectives/fca_provider.c
+XLIBS = -lfca
+endif
else
XFLAGS =
XPROGRAMS =
+XLIBS =
endif
if DEFINE_ATTR_LINK_LAYER
@@ -210,7 +216,7 @@ dapl_udapl_libdaplofa_la_SOURCES = dapl/udapl/dapl_init.c \
dapl_udapl_libdaplofa_la_LDFLAGS = -version-info 2:0:0 $(daplofa_version_script) \
-Wl,-init,dapl_init -Wl,-fini,dapl_fini \
- -lpthread -libverbs -lrdmacm
+ -lpthread -libverbs -lrdmacm $(XLIBS)
#
# uDAPL OpenFabrics Socket CM version for IB: libdaplscm.so
@@ -324,7 +330,7 @@ dapl_udapl_libdaploscm_la_SOURCES = dapl/udapl/dapl_init.c \
dapl_udapl_libdaploscm_la_LDFLAGS = -version-info 2:0:0 $(daploscm_version_script) \
-Wl,-init,dapl_init -Wl,-fini,dapl_fini \
- -lpthread -libverbs -lrdmacm
+ -lpthread -libverbs -lrdmacm $(XLIBS)
#
# uDAPL OpenFabrics UD CM version for IB: libdaplucm.so
@@ -438,7 +444,7 @@ dapl_udapl_libdaploucm_la_SOURCES = dapl/udapl/dapl_init.c \
dapl_udapl_libdaploucm_la_LDFLAGS = -version-info 2:0:0 $(daploscm_version_script) \
-Wl,-init,dapl_init -Wl,-fini,dapl_fini \
- -lpthread -libverbs -lrdmacm
+ -lpthread -libverbs -lrdmacm $(XLIBS)
libdatincludedir = $(includedir)/dat2
@@ -498,7 +504,7 @@ EXTRA_DIST = dat/common/dat_dictionary.h \
dapl/include/dapl_ipoib_names.h \
dapl/include/dapl_vendor.h \
dapl/openib_common/dapl_ib_dto.h \
- dapl/openib_common/dapl_ib_common.h \
+ dapl/openib_common/dapl_ib_common.h
dapl/openib_cma/dapl_ib_util.h \
dapl/openib_cma/linux/openib_osd.h \
dapl/openib_scm/dapl_ib_util.h \
@@ -540,7 +546,7 @@ EXTRA_DIST = dat/common/dat_dictionary.h \
test/dapltest/include/dapl_transaction_stats.h \
test/dapltest/include/dapl_transaction_test.h \
test/dapltest/include/dapl_version.h \
- test/dapltest/mdep/linux/dapl_mdep_user.h
+ test/dapltest/mdep/linux/dapl_mdep_user.h $(XPROGRAMS)
dist-hook: dapl.spec
cp dapl.spec $(distdir)
@@ -83,6 +83,28 @@ AC_ARG_ENABLE(ext-type,
],[ext_type=ib])
AM_CONDITIONAL(EXT_TYPE_IB, test "$ext_type" = "ib")
+dnl Support IB MPI collective extension build - if enable-coll-type == vendor_name
+AC_ARG_ENABLE(coll-type,
+[ --enable-coll-type Enable IB collective support: fca, none, default=fca],
+ [ if test "x$enableval" = "xfca" ; then
+ coll_type=fca
+ AC_CHECK_HEADER(fca/fca_api.h, [],
+ AC_MSG_ERROR([<fca/fca_api.h> not found. Is libfca devel package installed?]))
+ AC_CHECK_LIB(mverbs, ibv_m_post_send, [],
+ AC_MSG_ERROR([ibv_m_post_send() not found. Is libmverbs installed?]))
+ AC_CHECK_LIB(fca, fca_init, [],
+ AC_MSG_ERROR([fca_init() not found. Is libfca library installed?]))
+ elif test "x$enableval" = "xnone" ; then
+ coll_type=none
+ else
+ echo
+ echo "Error!"
+ echo "Unknown IB collective type' type"
+ exit -1
+ fi
+ ],[coll_type=fca])
+AM_CONDITIONAL(COLL_TYPE_FCA, test "$coll_type" = "fca")
+
dnl Check for Redhat EL release 4
AC_CACHE_CHECK(Check for RHEL4 system, ac_cv_rhel4,
if test -f /etc/redhat-release &&
New collective support and the FCA provider will only be built with configure option of "--enable-coll-type=fca". Dependencies include fca devel package, fca library, and mverbs library. This will not be included in default builds. Signed-off-by: Arlin Davis <arlin.r.davis@intel.com> --- Makefile.am | 16 +++++++++++----- configure.in | 22 ++++++++++++++++++++++ 2 files changed, 33 insertions(+), 5 deletions(-)