Skip to content

Commit 3e31775

Browse files
committed
btl/base: add a subsystem for supporting active-message "RDMA"
This commit adds a new subsystem to the btl base: active-message RDMA. The subsystem can be activated on any non-RDMA or partial- RDMA btl (for example tcp) by calling: ```c mca_btl_base_am_rdma_init(mca_btl_base_module_t *btl). ``` Once called the btl module supplied with be augmented to have btl_get, btl_put, btl_fop, and btl_cswap functions. Flags will be set to indicate that the BTL is using active-message versions of these functions. Calling this function on a btl will register a progress function for handling retries of intiator or target-side operations. There may be some overhead once the progress function is registered. Active-message "RDMA" support is not activated on any BTL module by default. Signed-off-by: Nathan Hjelm <hjelmn@google.com>
1 parent 8f8e9b8 commit 3e31775

File tree

6 files changed

+1205
-7
lines changed

6 files changed

+1205
-7
lines changed

opal/mca/btl/base/Makefile.am

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
# University of Stuttgart. All rights reserved.
1010
# Copyright (c) 2004-2005 The Regents of the University of California.
1111
# All rights reserved.
12+
# Copyright (c) 2021 Triad National Security, LLC. All rights reserved.
13+
# Copyright (c) 2021 Google, LLC. All rights reserved.
1214
# $COPYRIGHT$
1315
#
1416
# Additional copyrights may follow
@@ -20,10 +22,12 @@ dist_opaldata_DATA = base/help-mpi-btl-base.txt
2022

2123
headers += \
2224
base/base.h \
23-
base/btl_base_error.h
25+
base/btl_base_error.h \
26+
base/btl_base_am_rdma.h
2427

2528
libmca_btl_la_SOURCES += \
2629
base/btl_base_frame.c \
2730
base/btl_base_error.c \
2831
base/btl_base_select.c \
29-
base/btl_base_mca.c
32+
base/btl_base_mca.c \
33+
base/btl_base_am_rdma.c

opal/mca/btl/base/base.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
* All rights reserved.
1212
* Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
1313
* Copyright (c) 2008 Cisco Systems, Inc. All rights reserved.
14+
* Copyright (c) 2020 Google, LLC. All rights reserved.
1415
* $COPYRIGHT$
1516
*
1617
* Additional copyrights may follow
@@ -28,6 +29,10 @@
2829
#include "opal/mca/mca.h"
2930
#include "opal/mca/btl/btl.h"
3031

32+
#define MCA_BTL_BASE_TAG_RDMA MCA_BTL_TAG_BTL_BASE
33+
#define MCA_BTL_BASE_TAG_ATOMIC (MCA_BTL_TAG_BTL_BASE + 1)
34+
#define MCA_BTL_BASE_TAG_RDMA_RESP (MCA_BTL_TAG_BTL_BASE + 2)
35+
3136
BEGIN_C_DECLS
3237

3338
struct mca_btl_base_selected_module_t {

0 commit comments

Comments
 (0)