OpenMPI 0.1.1

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- File List
- Globals

btl_ofud_endpoint.h
1 /*
2 * Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
3 * University Research and Technology
4 * Corporation. All rights reserved.
5 * Copyright (c) 2004-2006 The University of Tennessee and The University
6 * of Tennessee Research Foundation. All rights
7 * reserved.
8 * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
9 * University of Stuttgart. All rights reserved.
10 * Copyright (c) 2004-2005 The Regents of the University of California.
11 * All rights reserved.
12 * Copyright (c) 2006 Sandia National Laboratories. All rights
13 * reserved.
14 * $COPYRIGHT$
15 *
16 * Additional copyrights may follow
17 *
18 * $HEADER$
19 */
20
21 #ifndef MCA_BTL_IB_ENDPOINT_H
22 #define MCA_BTL_IB_ENDPOINT_H
23
24 #include <infiniband/verbs.h>
25
26 #include "opal/class/opal_list.h"
27 #include "opal/mca/event/event.h"
28
29 #include "btl_ofud.h"
30 #include "btl_ofud_frag.h"
31
32 BEGIN_C_DECLS
33
34 struct mca_btl_ud_addr_t {
35 uint32_t qp_num;
36 uint32_t psn;
37 uint16_t lid;
38 uint16_t subnet;
39 };
40 typedef struct mca_btl_ud_addr_t mca_btl_ud_addr_t;
41
42
43 /**
44 * An abstraction that represents a connection to a endpoint process.
45 * An instance of mca_btl_base_endpoint_t is associated w/ each process
46 * and BTL pair and address information is exchanged at startup.
47 * The UD BTL is connectionless, so no connection is ever established.
48 */
49
50 struct mca_btl_base_endpoint_t {
51 opal_list_item_t super;
52
53 mca_btl_ud_addr_t rem_addr;
54 /**< Remote address information */
55 /* No lock needed, read-only past initialization */
56
57 struct ibv_ah* rmt_ah;
58 /**< Remote address handle */
59 /* No lock needed, verbs are thread-safe */
60 };
61
62 typedef struct mca_btl_base_endpoint_t mca_btl_base_endpoint_t;
63 typedef mca_btl_base_endpoint_t mca_btl_ud_endpoint_t;
64 OBJ_CLASS_DECLARATION(mca_btl_ud_endpoint_t);
65
66 int mca_btl_ud_endpoint_post_send(struct mca_btl_ud_module_t* ud_btl,
67 struct mca_btl_ud_frag_t * frag);
68
69 END_C_DECLS
70 #endif
btl_ofud.h
mca_btl_ud_addr_t
Definition: btl_ofud_endpoint.h:34
mca_btl_base_endpoint_t::rem_addr
mca_btl_ud_addr_t rem_addr
Remote address information.
Definition: btl_ofud_endpoint.h:53
mca_btl_ud_module_t
UD/IB BTL Interface.
Definition: btl_ofud.h:126
mca_btl_base_endpoint_t::rmt_ah
struct ibv_ah * rmt_ah
Remote address handle.
Definition: btl_ofud_endpoint.h:57
opal_list.h
The opal_list_t interface is used to provide a generic doubly-linked list container for Open MPI...
opal_list_item_t
Definition: opal_list.h:98
mca_btl_base_endpoint_t
State of ELAN endpoint connection.
Definition: btl_elan_endpoint.h:33
mca_btl_ud_frag_t
IB send fragment derived type.
Definition: btl_ofud_frag.h:73
OBJ_CLASS_DECLARATION
#define OBJ_CLASS_DECLARATION(NAME)
Declaration for class descriptor.
Definition: opal_object.h:236