1
1

add unconnect datagram connection manager (udcm)

This commit was SVN r25160.
Этот коммит содержится в:
Nathan Hjelm 2011-09-19 21:24:58 +00:00
родитель 8cd550f49f
Коммит 98b56108c4
6 изменённых файлов: 2347 добавлений и 2 удалений

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

@ -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;

Разница между файлами не показана из-за своего большого размера Загрузить разницу

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

@ -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