add unconnect datagram connection manager (udcm)
This commit was SVN r25160.
Этот коммит содержится в:
родитель
8cd550f49f
Коммит
98b56108c4
@ -11,7 +11,7 @@
|
||||
# Copyright (c) 2004-2005 The Regents of the University of California.
|
||||
# All rights reserved.
|
||||
# Copyright (c) 2006-2010 Cisco Systems, Inc. All rights reserved.
|
||||
# Copyright (c) 2006-2007 Los Alamos National Security, LLC. All rights
|
||||
# Copyright (c) 2006-2011 Los Alamos National Security, LLC. All rights
|
||||
# reserved.
|
||||
# Copyright (c) 2006-2009 Mellanox Technologies. All rights reserved.
|
||||
# Copyright (c) 2010-2011 Oracle and/or its affiliates. All rights reserved.
|
||||
@ -68,6 +68,14 @@ AC_DEFUN([OMPI_CHECK_OPENIB],[
|
||||
[Enable ConnectX XRC support. If you do not have InfiniBand ConnectX adapters, you may disable the ConnectX XRC support. If you do not know which InfiniBand adapter is installed on your cluster, leave this option enabled (default: enabled)])],
|
||||
[enable_connectx_xrc="$enableval"], [enable_connectx_xrc="yes"])
|
||||
|
||||
#
|
||||
# Unconnect Datagram (UD) based connection manager
|
||||
#
|
||||
AC_ARG_ENABLE([openib-udcm],
|
||||
[AC_HELP_STRING([--enable-openib-udcm],
|
||||
[Enable datagram connection support in openib BTL (default: enabled)])],
|
||||
[enable_openib_udcm="$enableval"], [enable_openib_udcm="yes"])
|
||||
|
||||
#
|
||||
# Openfabrics RDMACM
|
||||
#
|
||||
@ -158,6 +166,7 @@ AC_DEFUN([OMPI_CHECK_OPENIB],[
|
||||
# Set these up so that we can do an AC_DEFINE below
|
||||
# (unconditionally)
|
||||
$1_have_xrc=0
|
||||
$1_have_udcm=0
|
||||
$1_have_rdmacm=0
|
||||
$1_have_opensm_devel=0
|
||||
|
||||
@ -176,6 +185,11 @@ AC_DEFUN([OMPI_CHECK_OPENIB],[
|
||||
AC_CHECK_FUNCS([ibv_create_xrc_rcv_qp], [$1_have_xrc=1])
|
||||
fi
|
||||
|
||||
# is udcm enabled
|
||||
if test "$enable_openib_udcm" = "yes"; then
|
||||
$1_have_udcm=1
|
||||
fi
|
||||
|
||||
if test "no" != "$enable_openib_dynamic_sl"; then
|
||||
# We need ib_types.h file, which is installed with opensm-devel
|
||||
# package. However, ib_types.h has a bad include directive,
|
||||
@ -264,6 +278,14 @@ AC_DEFUN([OMPI_CHECK_OPENIB],[
|
||||
AC_MSG_RESULT([no])
|
||||
fi
|
||||
|
||||
AC_DEFINE_UNQUOTED([OMPI_HAVE_UDCM], [$$1_have_udcm],
|
||||
[Whether UD CM is available or not])
|
||||
if test "1" = "$$1_have_udcm"; then
|
||||
AC_MSG_RESULT([yes])
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING([if OpenFabrics RDMACM support is enabled])
|
||||
AC_DEFINE_UNQUOTED([OMPI_HAVE_RDMACM], [$$1_have_rdmacm],
|
||||
[Whether RDMA CM is available or not])
|
||||
|
@ -90,6 +90,15 @@ sources += \
|
||||
dist_pkgdata_DATA += connect/help-mpi-btl-openib-cpc-rdmacm.txt
|
||||
endif
|
||||
|
||||
# If we have udcm support, build that CPC
|
||||
if MCA_btl_openib_have_udcm
|
||||
sources += \
|
||||
connect/btl_openib_connect_udcm.c \
|
||||
connect/btl_openib_connect_udcm.h
|
||||
|
||||
# dist_pkgdata_DATA += connect/help-mpi-btl-openib-cpc-ud.txt
|
||||
endif
|
||||
|
||||
# If we have dynamic SL support, build those files
|
||||
if MCA_btl_openib_have_dynamic_sl
|
||||
sources += \
|
||||
|
@ -26,6 +26,7 @@ AC_DEFUN([MCA_ompi_btl_openib_POST_CONFIG], [
|
||||
AM_CONDITIONAL([MCA_btl_openib_have_xrc], [test $1 -eq 1 -a "x$btl_openib_have_xrc" = "x1"])
|
||||
AM_CONDITIONAL([MCA_btl_openib_have_rdmacm], [test $1 -eq 1 -a "x$btl_openib_have_rdmacm" = "x1"])
|
||||
AM_CONDITIONAL([MCA_btl_openib_have_dynamic_sl], [test $1 -eq 1 -a "x$btl_openib_have_opensm_devel" = "x1"])
|
||||
AM_CONDITIONAL([MCA_btl_openib_have_udcm], [test $1 -eq 1 -a "x$btl_openib_have_udcm" = "x1"])
|
||||
])
|
||||
|
||||
|
||||
@ -57,7 +58,7 @@ AC_DEFUN([MCA_ompi_btl_openib_CONFIG],[
|
||||
$1],
|
||||
[$2])
|
||||
|
||||
AC_MSG_CHECKING([for thread support (needed for rdmacm)])
|
||||
AC_MSG_CHECKING([for thread support (needed for rdmacm/udcm)])
|
||||
have_threads=`echo $THREAD_TYPE | awk '{ print [$]1 }'`
|
||||
if test "x$have_threads" = "x"; then
|
||||
have_threads=none
|
||||
@ -72,6 +73,10 @@ AC_DEFUN([MCA_ompi_btl_openib_CONFIG],[
|
||||
"$have_threads" != "none"; then
|
||||
cpcs="$cpcs rdmacm"
|
||||
fi
|
||||
if test "x$btl_openib_have_udcm" = "x1" -a \
|
||||
"$have_threads" != "none"; then
|
||||
cpcs="$cpcs udcm"
|
||||
fi
|
||||
AC_MSG_CHECKING([which openib btl cpcs will be built])
|
||||
AC_MSG_RESULT([$cpcs])])
|
||||
|
||||
|
@ -21,6 +21,9 @@
|
||||
#if OMPI_HAVE_RDMACM && OPAL_HAVE_THREADS
|
||||
#include "connect/btl_openib_connect_rdmacm.h"
|
||||
#endif
|
||||
#if OMPI_HAVE_UDCM && OPAL_HAVE_THREADS
|
||||
#include "connect/btl_openib_connect_udcm.h"
|
||||
#endif
|
||||
|
||||
#include "orte/util/show_help.h"
|
||||
#include "opal/util/argv.h"
|
||||
@ -49,6 +52,14 @@ static ompi_btl_openib_connect_base_component_t *all[] = {
|
||||
&ompi_btl_openib_connect_empty,
|
||||
#endif
|
||||
|
||||
/* Always have an entry here so that the CP indexes will always be
|
||||
the same: if UD CM is not enabled, use the "empty" CPC */
|
||||
#if OMPI_HAVE_UDCM && OPAL_HAVE_THREADS
|
||||
&ompi_btl_openib_connect_udcm,
|
||||
#else
|
||||
&ompi_btl_openib_connect_empty,
|
||||
#endif
|
||||
|
||||
NULL
|
||||
};
|
||||
static ompi_btl_openib_connect_base_component_t **available = NULL;
|
||||
|
2276
ompi/mca/btl/openib/connect/btl_openib_connect_udcm.c
Обычный файл
2276
ompi/mca/btl/openib/connect/btl_openib_connect_udcm.c
Обычный файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
22
ompi/mca/btl/openib/connect/btl_openib_connect_udcm.h
Обычный файл
22
ompi/mca/btl/openib/connect/btl_openib_connect_udcm.h
Обычный файл
@ -0,0 +1,22 @@
|
||||
/* -*- Mode: C; c-basic-offset:4 ; -*- */
|
||||
/*
|
||||
* Copyright (c) 2011 Los Alamos National Security, LLC. All
|
||||
* right reserved.
|
||||
*
|
||||
* $COPYRIGHT$
|
||||
*
|
||||
* Additional copyrights may follow
|
||||
*
|
||||
* $HEADER$
|
||||
*/
|
||||
|
||||
#ifndef BTL_OPENIB_CONNECT_UD_H
|
||||
#define BTL_OPENIB_CONNECT_UD_H
|
||||
|
||||
#include "ompi_config.h"
|
||||
|
||||
#include "connect/connect.h"
|
||||
|
||||
extern ompi_btl_openib_connect_base_component_t ompi_btl_openib_connect_udcm;
|
||||
|
||||
#endif
|
Загрузка…
x
Ссылка в новой задаче
Block a user