1
1

common/libfabric: move libfabric to ofi

This PR renames the common library for OFI libfabric from
libfabric to ofi.  There are a number of reasons this
is good to do:

1) its shorter and replaces 9 characters with three for
   function names for what may eventually be a fairly extensive interface
2) OFI is the term used for MTL and RML components that use
   the OFI libfabric interface
3) A planned OSC component will also use the OFI term.
4) Other HPC libraries that can use OFI libfabric tend to use
   the term "ofi" internally and also in their configure options
   relevant to OFI libfabric (i.e. MPICH/CH4, Intel MPI, Sandia SHMEM)

There seem to be comments in places in the Open MPI source
code that indicate that this common library will be going away.
Far from it as we will want to be able to share things like
AV objects between OMPI and possibly OSHMEM components that
use the OFI libfabric interface.

This PR also adds a synonym to the --with-libfabric(-libdir)
configury options: --with-ofi and with-ofi-libdir.

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
Этот коммит содержится в:
Howard Pritchard 2017-04-08 14:06:57 -06:00
родитель 88a4a163ae
Коммит 841192645b
17 изменённых файлов: 222 добавлений и 183 удалений

Просмотреть файл

@ -4,6 +4,8 @@
# Copyright (c) 2013 Mellanox Technologies, Inc.
# All rights reserved.
# Copyright (c) 2016 IBM Corporation. All rights reserved.
# Copyright (c) 2017 Los Alamos National Security, LLC. All rights
# reserved.
# This is the VERSION file for Open MPI, describing the precise
# version of Open MPI in this distribution. The various components of
@ -107,7 +109,7 @@ libmca_orte_common_alps_so_version=0:0:0
# OPAL layer
libmca_opal_common_cuda_so_version=0:0:0
libmca_opal_common_libfabric_so_version=0:0:0
libmca_opal_common_ofi_so_version=0:0:0
libmca_opal_common_sm_so_version=0:0:0
libmca_opal_common_ugni_so_version=0:0:0
libmca_opal_common_verbs_so_version=0:0:0

Просмотреть файл

@ -1,95 +0,0 @@
dnl -*- shell-script -*-
dnl
dnl Copyright (c) 2015-2016 Cisco Systems, Inc. All rights reserved.
dnl Copyright (c) 2016 Los Alamos National Security, LLC. All rights
dnl reserved.
dnl $COPYRIGHT$
dnl
dnl Additional copyrights may follow
dnl
dnl $HEADER$
dnl
# OPAL_CHECK_LIBFABRIC(prefix, [action-if-found], [action-if-not-found]
# --------------------------------------------------------
# Check if libfabric support can be found.
#
# Sets prefix_{CPPFLAGS, LDFLAGs, LIBS} as needed and runs
# action-if-found if there is support; otherwise executes
# action-if-not-found.
#
AC_DEFUN([OPAL_CHECK_LIBFABRIC],[
if test -z "$opal_check_libfabric_happy" ; then
OPAL_VAR_SCOPE_PUSH([opal_check_libfabric_$1_save_CPPFLAGS opal_check_libfabric_$1_save_LDFLAGS opal_check_libfabric_$1_save_LIBS])
# Add --with options
AC_ARG_WITH([libfabric],
[AC_HELP_STRING([--with-libfabric=DIR],
[Specify location of libfabric installation, adding DIR/include to the default search location for libfabric headers, and DIR/lib or DIR/lib64 to the default search location for libfabric libraries. Error if libfabric support cannot be found.])])
AC_ARG_WITH([libfabric-libdir],
[AC_HELP_STRING([--with-libfabric-libdir=DIR],
[Search for libfabric libraries in DIR])])
# Sanity check the --with values
OPAL_CHECK_WITHDIR([libfabric], [$with_libfabric],
[include/rdma/fabric.h])
OPAL_CHECK_WITHDIR([libfabric-libdir], [$with_libfabric_libdir],
[libfabric.*])
opal_check_libfabric_$1_save_CPPFLAGS=$CPPFLAGS
opal_check_libfabric_$1_save_LDFLAGS=$LDFLAGS
opal_check_libfabric_$1_save_LIBS=$LIBS
opal_check_libfabric_happy=yes
AS_IF([test "$with_libfabric" = "no"],
[opal_check_libfabric_happy=no])
AS_IF([test $opal_check_libfabric_happy = yes],
[AC_MSG_CHECKING([looking for libfabric in])
AS_IF([test "$with_libfabric" != "yes"],
[opal_libfabric_dir=$with_libfabric
AC_MSG_RESULT([($opal_libfabric_dir)])],
[AC_MSG_RESULT([(default search paths)])])
AS_IF([test ! -z "$with_libfabric_libdir" && \
test "$with_libfabric_libdir" != "yes"],
[opal_libfabric_libdir=$with_libfabric_libdir])
])
AS_IF([test $opal_check_libfabric_happy = yes],
[OPAL_CHECK_PACKAGE([opal_check_libfabric],
[rdma/fabric.h],
[fabric],
[fi_getinfo],
[],
[$opal_libfabric_dir],
[$opal_libfabric_libdir],
[],
[opal_check_libfabric_happy=no])])
CPPFLAGS=$opal_check_libfabric_$1_save_CPPFLAGS
LDFLAGS=$opal_check_libfabric_$1_save_LDFLAGS
LIBS=$opal_check_libfabric_$1_save_LIBS
OPAL_SUMMARY_ADD([[Transports]],[[OpenFabrics Libfabric]],[$1],[$opal_check_libfabric_happy])
OPAL_VAR_SCOPE_POP
fi
if test $opal_check_libfabric_happy = yes ; then
$1_CPPFLAGS="[$]$1_CPPFLAGS $opal_check_libfabric_CPPFLAGS"
$1_LIBS="[$]$1_LIBS $opal_check_libfabric_LIBS"
$1_LDFLAGS="[$]$1_LDFLAGS $opal_check_libfabric_LDFLAGS"
AC_SUBST($1_CPPFLAGS)
AC_SUBST($1_LDFLAGS)
AC_SUBST($1_LIBS)
fi
AS_IF([test $opal_check_libfabric_happy = yes],
[$2],
[AS_IF([test -n "$with_libfabric" && test "$with_libfabric" != "no"],
[AC_MSG_WARN([libfabric support requested (via --with-libfabric), but not found.])
AC_MSG_ERROR([Cannot continue.])])
$3])
])dnl

111
config/opal_check_ofi.m4 Обычный файл
Просмотреть файл

@ -0,0 +1,111 @@
dnl -*- shell-script -*-
dnl
dnl Copyright (c) 2015-2016 Cisco Systems, Inc. All rights reserved.
dnl Copyright (c) 2016-2017 Los Alamos National Security, LLC. All rights
dnl reserved.
dnl $COPYRIGHT$
dnl
dnl Additional copyrights may follow
dnl
dnl $HEADER$
dnl
# OPAL_CHECK_OFI(prefix, [action-if-found], [action-if-not-found]
# --------------------------------------------------------
# Check if libfabric support can be found.
#
# Sets prefix_{CPPFLAGS, LDFLAGs, LIBS} as needed and runs
# action-if-found if there is support; otherwise executes
# action-if-not-found.
#
AC_DEFUN([OPAL_CHECK_OFI],[
if test -z "$opal_check_libfabric_happy" ; then
OPAL_VAR_SCOPE_PUSH([opal_check_libfabric_$1_save_CPPFLAGS opal_check_libfabric_$1_save_LDFLAGS opal_check_libfabric_$1_save_LIBS])
# Add --with options
AC_ARG_WITH([libfabric],
[AC_HELP_STRING([--with-libfabric=DIR],
[Deprecated synonym for --with-ofi])])
AC_ARG_WITH([libfabric-libdir],
[AC_HELP_STRING([--with-libfabric-libdir=DIR],
[Deprecated synonym for --with-ofi-libdir])])
AC_ARG_WITH([ofi],
[AC_HELP_STRING([--with-ofi=DIR],
[Specify location of OFI libfabric installation, adding DIR/include to the default search location for libfabric headers, and DIR/lib or DIR/lib64 to the default search location for libfabric libraries. Error if libfabric support cannot be found.])])
AC_ARG_WITH([ofi-libdir],
[AC_HELP_STRING([--with-ofi-libdir=DIR],
[Search for OFI libfabric libraries in DIR])])
if test "$with_ofi" = ""; then
with_ofi=$with_libfabric
fi
if test "$with_ofi_libdir" = ""; then
with_ofi_libdir=$with_libfabric_libdir
fi
# Sanity check the --with values
OPAL_CHECK_WITHDIR([ofi], [$with_ofi],
[include/rdma/fabric.h])
OPAL_CHECK_WITHDIR([ofi-libdir], [$with_ofi_libdir],
[libfabric.*])
opal_check_ofi_$1_save_CPPFLAGS=$CPPFLAGS
opal_check_ofi_$1_save_LDFLAGS=$LDFLAGS
opal_check_ofi_$1_save_LIBS=$LIBS
opal_check_ofi_happy=yes
AS_IF([test "$with_ofi" = "no"],
[opal_check_ofi_happy=no])
AS_IF([test $opal_check_ofi_happy = yes],
[AC_MSG_CHECKING([looking for OFI libfabric in])
AS_IF([test "$with_ofi" != "yes"],
[opal_ofi_dir=$with_ofi
AC_MSG_RESULT([($opal_ofi_dir)])],
[AC_MSG_RESULT([(default search paths)])])
AS_IF([test ! -z "$with_ofi_libdir" && \
test "$with_ofi_libdir" != "yes"],
[opal_ofi_libdir=$with_ofi_libdir])
])
AS_IF([test $opal_check_ofi_happy = yes],
[OPAL_CHECK_PACKAGE([opal_check_ofi],
[rdma/fabric.h],
[fabric],
[fi_getinfo],
[],
[$opal_ofi_dir],
[$opal_ofi_libdir],
[],
[opal_check_ofi_happy=no])])
CPPFLAGS=$opal_check_ofi_$1_save_CPPFLAGS
LDFLAGS=$opal_check_ofi_$1_save_LDFLAGS
LIBS=$opal_check_ofi_$1_save_LIBS
OPAL_SUMMARY_ADD([[Transports]],[[OpenFabrics Libfabric]],[$1],[$opal_check_ofi_happy])
OPAL_VAR_SCOPE_POP
fi
if test $opal_check_ofi_happy = yes ; then
$1_CPPFLAGS="[$]$1_CPPFLAGS $opal_check_ofi_CPPFLAGS"
$1_LIBS="[$]$1_LIBS $opal_check_ofi_LIBS"
$1_LDFLAGS="[$]$1_LDFLAGS $opal_check_ofi_LDFLAGS"
AC_SUBST($1_CPPFLAGS)
AC_SUBST($1_LDFLAGS)
AC_SUBST($1_LIBS)
fi
AS_IF([test $opal_check_ofi_happy = yes],
[$2],
[AS_IF([test -n "$with_ofi" && test "$with_ofi" != "no"],
[AC_MSG_WARN([OFI libfabric support requested (via --with-ofi or --with-libfabric), but not found.])
AC_MSG_ERROR([Cannot continue.])])
$3])
])dnl

Просмотреть файл

@ -12,7 +12,7 @@
# All rights reserved.
# Copyright (c) 2006-2016 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2006-2008 Sun Microsystems, Inc. All rights reserved.
# Copyright (c) 2006-2011 Los Alamos National Security, LLC. All rights
# Copyright (c) 2006-2017 Los Alamos National Security, LLC. All rights
# reserved.
# Copyright (c) 2009 Oak Ridge National Labs. All rights reserved.
# Copyright (c) 2011-2013 NVIDIA Corporation. All rights reserved.
@ -151,7 +151,7 @@ AC_SUBST(libopen_pal_so_version)
# transparently by adding some intelligence in autogen.pl
# and/or opal_mca.m4, but I don't have the cycles to do this
# right now.
AC_SUBST(libmca_opal_common_libfabric_so_version)
AC_SUBST(libmca_opal_common_ofi_so_version)
AC_SUBST(libmca_opal_common_cuda_so_version)
AC_SUBST(libmca_opal_common_sm_so_version)
AC_SUBST(libmca_opal_common_ugni_so_version)

Просмотреть файл

@ -2,6 +2,8 @@
# Copyright (c) 2013-2015 Intel, Inc. All rights reserved
#
# Copyright (c) 2014-2015 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2017 Los Alamos National Security, LLC. All rights
# reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
@ -11,7 +13,7 @@
EXTRA_DIST = post_configure.sh
AM_CPPFLAGS = $(ompi_mtl_ofi_CPPFLAGS) $(opal_common_libfabric_CPPFLAGS)
AM_CPPFLAGS = $(ompi_mtl_ofi_CPPFLAGS) $(opal_common_ofi_CPPFLAGS)
dist_ompidata_DATA = help-mtl-ofi.txt
@ -44,7 +46,7 @@ mca_mtl_ofi_la_LDFLAGS = \
$(ompi_mtl_ofi_LDFLAGS) \
-module -avoid-version
mca_mtl_ofi_la_LIBADD = $(ompi_mtl_ofi_LIBS) \
$(OPAL_TOP_BUILDDIR)/opal/mca/common/libfabric/lib@OPAL_LIB_PREFIX@mca_common_libfabric.la
$(OPAL_TOP_BUILDDIR)/opal/mca/common/ofi/lib@OPAL_LIB_PREFIX@mca_common_ofi.la
noinst_LTLIBRARIES = $(component_noinst)
libmca_mtl_ofi_la_SOURCES = $(mtl_ofi_sources)

Просмотреть файл

@ -3,6 +3,8 @@
# Copyright (c) 2013-2014 Intel, Inc. All rights reserved
#
# Copyright (c) 2014-2015 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2017 Los Alamos National Security, LLC. All rights
# reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
@ -23,10 +25,10 @@ AC_DEFUN([MCA_ompi_mtl_ofi_POST_CONFIG], [
AC_DEFUN([MCA_ompi_mtl_ofi_CONFIG],[
AC_CONFIG_FILES([ompi/mca/mtl/ofi/Makefile])
# ensure we already ran the common libfabric config
AC_REQUIRE([MCA_opal_common_libfabric_CONFIG])
# ensure we already ran the common OFI/libfabric config
AC_REQUIRE([MCA_opal_common_ofi_CONFIG])
AS_IF([test "$opal_common_libfabric_happy" = "yes"],
AS_IF([test "$opal_common_ofi_happy" = "yes"],
[$1],
[$2])
])dnl

Просмотреть файл

@ -14,6 +14,8 @@
# Copyright (c) 2010-2015 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2015 Intel, Inc. All rights reserved.
# Copyright (c) 2016 IBM Corporation. All rights reserved.
# Copyright (c) 2017 Los Alamos National Security, LLC. All rights
# reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
@ -21,7 +23,7 @@
# $HEADER$
#
AM_CPPFLAGS = -DBTL_IN_OPAL=1 $(opal_common_libfabric_CPPFLAGS) -DOMPI_LIBMPI_NAME=\"$(OMPI_LIBMPI_NAME)\"
AM_CPPFLAGS = -DBTL_IN_OPAL=1 $(opal_common_ofi_CPPFLAGS) -DOMPI_LIBMPI_NAME=\"$(OMPI_LIBMPI_NAME)\"
EXTRA_DIST = README.txt README.test
@ -91,7 +93,7 @@ mca_btl_usnic_la_LDFLAGS = \
$(opal_btl_usnic_LDFLAGS) \
-module -avoid-version
mca_btl_usnic_la_LIBADD = \
$(OPAL_TOP_BUILDDIR)/opal/mca/common/libfabric/lib@OPAL_LIB_PREFIX@mca_common_libfabric.la
$(OPAL_TOP_BUILDDIR)/opal/mca/common/ofi/lib@OPAL_LIB_PREFIX@mca_common_ofi.la
noinst_LTLIBRARIES = $(lib)
libmca_btl_usnic_la_SOURCES = $(lib_sources)

Просмотреть файл

@ -13,6 +13,8 @@
# Copyright (c) 2006 Sandia National Laboratories. All rights
# reserved.
# Copyright (c) 2010-2015 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2017 Los Alamos National Security, LLC. All rights
# reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
@ -93,27 +95,27 @@ AC_DEFUN([_OPAL_BTL_USNIC_DO_CONFIG],[
AC_MSG_RESULT([$opal_btl_usnic_happy])
])
# The usnic BTL requires libfabric support.
# The usnic BTL requires OFI libfabric support.
AS_IF([test "$opal_btl_usnic_happy" = "yes"],
[AC_MSG_CHECKING([whether libfabric support is available])
AS_IF([test "$opal_common_libfabric_happy" = "yes"],
[AC_MSG_CHECKING([whether OFI libfabric support is available])
AS_IF([test "$opal_common_ofi_happy" = "yes"],
[opal_btl_usnic_happy=yes],
[opal_btl_usnic_happy=no])
AC_MSG_RESULT([$opal_btl_usnic_happy])
])
# The usnic BTL requires at least libfabric v1.1 (there was a
# The usnic BTL requires at least OFI libfabric v1.1 (there was a
# critical bug in libfabric v1.0).
AS_IF([test "$opal_btl_usnic_happy" = "yes"],
[AC_MSG_CHECKING([whether libfabric is >= v1.1])
[AC_MSG_CHECKING([whether OFI libfabric is >= v1.1])
opal_btl_usnic_CPPFLAGS_save=$CPPFLAGS
CPPFLAGS="$opal_common_libfabric_CPPFLAGS $CPPFLAGS"
CPPFLAGS="$opal_common_ofi_CPPFLAGS $CPPFLAGS"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <rdma/fabric.h>]],
[[
#if !defined(FI_MAJOR_VERSION)
#error your version of libfabric is too old
#error your version of OFI libfabric is too old
#elif FI_VERSION(FI_MAJOR_VERSION, FI_MINOR_VERSION) < FI_VERSION(1, 1)
#error your version of libfabric is too old
#error your version of OFI libfabric is too old
#endif
]])],
[opal_btl_usnic_happy=yes],
@ -122,10 +124,10 @@ AC_DEFUN([_OPAL_BTL_USNIC_DO_CONFIG],[
CPPFLAGS=$opal_btl_usnic_CPPFLAGS_save
])
# Make sure we can find the libfabric usnic extensions header
# Make sure we can find the OFI libfabric usnic extensions header
AS_IF([test "$opal_btl_usnic_happy" = "yes" ],
[opal_btl_usnic_CPPFLAGS_save=$CPPFLAGS
CPPFLAGS="$opal_common_libfabric_CPPFLAGS $CPPFLAGS"
CPPFLAGS="$opal_common_ofi_CPPFLAGS $CPPFLAGS"
AC_CHECK_HEADER([rdma/fi_ext_usnic.h],
[],
[opal_btl_usnic_happy=no])

Просмотреть файл

@ -1,16 +0,0 @@
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
/*
* Copyright (c) 2015 Intel, Inc. All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#ifndef OPAL_MCA_COMMON_LIBFABRIC_H
#define OPAL_MCA_COMMON_LIBFABRIC_H
OPAL_DECLSPEC int mca_common_libfabric_register_mca_variables(void);
#endif /* OPAL_MCA_COMMON_LIBFABRIC_H */

Просмотреть файл

@ -1,30 +0,0 @@
# -*- shell-script -*-
#
# Copyright (c) 2011-2013 NVIDIA Corporation. All rights reserved.
# Copyright (c) 2013 The University of Tennessee and The University
# of Tennessee Research Foundation. All rights
# reserved.
# Copyright (c) 2015 Intel, Inc. All rights reserved.
# Copyright (c) 2015 Cisco Systems, Inc. All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
#
# $HEADER$
#
AC_DEFUN([MCA_opal_common_libfabric_CONFIG],[
AC_CONFIG_FILES([opal/mca/common/libfabric/Makefile])
# Check for libfabric. Note that $opal_common_libfabric_happy is
# used in other configure.m4's to know if libfabric configured
# successfully.
OPAL_CHECK_LIBFABRIC([opal_common_libfabric],
[opal_common_libfabric_happy=yes
common_libfabric_WRAPPER_EXTRA_LDFLAGS=$opal_common_libfabric_LDFLAGS
common_libfabric_WRAPPER_EXTRA_LIBS=$opal_common_libfabric_LIBS
$1],
[opal_common_libfabric_happy=no
$2])
])dnl

Просмотреть файл

@ -12,6 +12,8 @@
# Copyright (c) 2011-2013 NVIDIA Corporation. All rights reserved.
# Copyright (c) 2014 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2015 Intel, Inc. All rights reserved.
# Copyright (c) 2017 Los Alamos National Security, LLC. All rights
# reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
@ -21,22 +23,22 @@
# A word of explanation...
#
# This library is linked against various MCA components because the
# support for libfabrics is needed in various places.
# support for ofis is needed in various places.
#
# Note that building this common component statically and linking
# against other dynamic components is *not* supported!
AM_CPPFLAGS = $(opal_common_libfabric_CPPFLAGS)
AM_CPPFLAGS = $(opal_common_ofi_CPPFLAGS)
# Header files
headers = \
common_libfabric.h
common_ofi.h
# Source files
sources = \
common_libfabric.c
common_ofi.c
# As per above, we'll either have an installable or noinst result.
# The installable one should follow the same MCA prefix naming rules
@ -55,24 +57,25 @@ sources = \
lib_LTLIBRARIES =
noinst_LTLIBRARIES =
comp_inst = lib@OPAL_LIB_PREFIX@mca_common_libfabric.la
comp_noinst = lib@OPAL_LIB_PREFIX@mca_common_libfabric_noinst.la
comp_inst = lib@OPAL_LIB_PREFIX@mca_common_ofi.la
comp_noinst = lib@OPAL_LIB_PREFIX@mca_common_ofi_noinst.la
if MCA_BUILD_opal_common_libfabric_DSO
if MCA_BUILD_opal_common_ofi_DSO
lib_LTLIBRARIES += $(comp_inst)
else
noinst_LTLIBRARIES += $(comp_noinst)
endif
lib@OPAL_LIB_PREFIX@mca_common_libfabric_la_SOURCES = $(headers) $(sources)
lib@OPAL_LIB_PREFIX@mca_common_libfabric_la_LDFLAGS = \
$(opal_common_libfabric_LDFLAGS) \
-version-info $(libmca_opal_common_libfabric_so_version)
lib@OPAL_LIB_PREFIX@mca_common_libfabric_la_LIBADD = $(opal_common_libfabric_LIBS)
lib@OPAL_LIB_PREFIX@mca_common_ofi_la_SOURCES = $(headers) $(sources)
lib@OPAL_LIB_PREFIX@mca_common_ofi_la_LDFLAGS = \
$(opal_common_ofi_LDFLAGS) \
-version-info $(libmca_opal_common_ofi_so_version)
lib@OPAL_LIB_PREFIX@mca_common_ofi_la_LIBADD = $(opal_common_ofi_LIBS)
lib@OPAL_LIB_PREFIX@mca_common_libfabric_noinst_la_SOURCES = $(headers) $(sources)
lib@OPAL_LIB_PREFIX@mca_common_libfabric_noinst_la_LDFLAGS = $(opal_common_libfabric_LDFLAGS)
lib@OPAL_LIB_PREFIX@mca_common_libfabric_noinst_la_LIBADD = $(opal_common_libfabric_LIBS)
lib@OPAL_LIB_PREFIX@mca_common_ofi_noinst_la_SOURCES = $(headers) $(sources)
lib@OPAL_LIB_PREFIX@mca_common_ofi_noinst_la_LDFLAGS = $(opal_common_ofi_LDFLAGS)
lib@OPAL_LIB_PREFIX@mca_common_ofi_noinst_la_LIBADD = $(opal_common_ofi_LIBS)
# Conditionally install the header files

Просмотреть файл

@ -1,5 +1,7 @@
/*
* Copyright (c) 2015 Intel, Inc. All rights reserved.
* Copyright (c) 2017 Los Alamos National Security, LLC. All rights
* reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@ -13,9 +15,9 @@
#include <errno.h>
#include <unistd.h>
#include "common_libfabric.h"
#include "common_ofi.h"
int mca_common_libfabric_register_mca_variables(void)
int mca_common_ofi_register_mca_variables(void)
{
return OPAL_SUCCESS;
}

18
opal/mca/common/ofi/common_ofi.h Обычный файл
Просмотреть файл

@ -0,0 +1,18 @@
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
/*
* Copyright (c) 2015 Intel, Inc. All rights reserved.
* Copyright (c) 2017 Los Alamos National Security, LLC. All rights
* reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#ifndef OPAL_MCA_COMMON_OFI_H
#define OPAL_MCA_COMMON_OFI_H
OPAL_DECLSPEC int mca_common_ofi_register_mca_variables(void);
#endif /* OPAL_MCA_COMMON_OFI_H */

32
opal/mca/common/ofi/configure.m4 Обычный файл
Просмотреть файл

@ -0,0 +1,32 @@
# -*- shell-script -*-
#
# Copyright (c) 2011-2013 NVIDIA Corporation. All rights reserved.
# Copyright (c) 2013 The University of Tennessee and The University
# of Tennessee Research Foundation. All rights
# reserved.
# Copyright (c) 2015 Intel, Inc. All rights reserved.
# Copyright (c) 2015 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2017 Los Alamos National Security, LLC. All rights
# reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
#
# $HEADER$
#
AC_DEFUN([MCA_opal_common_ofi_CONFIG],[
AC_CONFIG_FILES([opal/mca/common/ofi/Makefile])
# Check for ofi. Note that $opal_common_ofi_happy is
# used in other configure.m4's to know if ofi configured
# successfully.
OPAL_CHECK_OFI([opal_common_ofi],
[opal_common_ofi_happy=yes
common_ofi_WRAPPER_EXTRA_LDFLAGS=$opal_common_ofi_LDFLAGS
common_ofi_WRAPPER_EXTRA_LIBS=$opal_common_ofi_LIBS
$1],
[opal_common_ofi_happy=no
$2])
])dnl

Просмотреть файл

Просмотреть файл

@ -11,6 +11,8 @@
# All rights reserved.
# Copyright (c) 2010 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2015-2017 Intel, Inc. All rights reserved.
# Copyright (c) 2017 Los Alamos National Security, LLC. All rights
# reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
@ -18,7 +20,7 @@
# $HEADER$
#
AM_CPPFLAGS = $(opal_common_libfabric_CPPFLAGS)
AM_CPPFLAGS = $(opal_common_ofi_CPPFLAGS)
sources = \
rml_ofi.h \
@ -42,7 +44,7 @@ mcacomponentdir = $(ortelibdir)
mcacomponent_LTLIBRARIES = $(component_install)
mca_rml_ofi_la_SOURCES = $(sources)
mca_rml_ofi_la_LDFLAGS = -module -avoid-version
mca_rml_ofi_la_LIBADD = $(OPAL_TOP_BUILDDIR)/opal/mca/common/libfabric/lib@OPAL_LIB_PREFIX@mca_common_libfabric.la
mca_rml_ofi_la_LIBADD = $(OPAL_TOP_BUILDDIR)/opal/mca/common/ofi/lib@OPAL_LIB_PREFIX@mca_common_ofi.la
noinst_LTLIBRARIES = $(component_noinst)
libmca_rml_ofi_la_SOURCES = $(sources)

Просмотреть файл

@ -3,6 +3,8 @@
# Copyright (c) 2013-2014 Intel, Inc. All rights reserved
#
# Copyright (c) 2014-2015 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2017 Los Alamos National Security, LLC. All rights
# reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
@ -20,10 +22,10 @@
AC_DEFUN([MCA_orte_rml_ofi_CONFIG],[
AC_CONFIG_FILES([orte/mca/rml/ofi/Makefile])
# ensure we already ran the common libfabric config
AC_REQUIRE([MCA_opal_common_libfabric_CONFIG])
# ensure we already ran the common OFI libfabric config
AC_REQUIRE([MCA_opal_common_ofi_CONFIG])
AS_IF([test "$opal_common_libfabric_happy" = "yes"],
AS_IF([test "$opal_common_ofi_happy" = "yes"],
[$1],
[$2])
])dnl