OpenMPI 0.1.1

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

- File List
- Globals

mtl_mx_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-2005 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-2006 The Regents of the University of California.
11 * All rights reserved.
12 * $COPYRIGHT$
13 *
14 * Additional copyrights may follow
15 *
16 * $HEADER$
17 */
18
19 #ifndef MCA_MTL_MX_ENDPOINT_H
20 #define MCA_MTL_MX_ENDPOINT_H
21
22 #include "opal/class/opal_list.h"
23 #include "opal/mca/event/event.h"
24 #include "ompi/proc/proc.h"
25 #include "ompi/mca/mtl/mtl.h"
26 #include "mtl_mx.h"
27
28 #include "myriexpress.h"
29
30 BEGIN_C_DECLS
31
32 OBJ_CLASS_DECLARATION(mca_mtl_mx_endpoint_t);
33
34 /**
35 * Structure used to publish MX information to peers
36 */
37 struct mca_mtl_mx_addr_t {
38 uint64_t nic_id;
39 uint32_t endpoint_id;
40 };
41 typedef struct mca_mtl_mx_addr_t mca_mtl_mx_addr_t;
42
43 /**
44 * An abstraction that represents a connection to a endpoint process.
45 * An instance of mca_mtl_base_endpoint_t is associated w/ each process
46 * and MTL pair at startup. However, connections to the endpoint
47 * are established dynamically on an as-needed basis:
48 */
49
50 struct mca_mtl_base_endpoint_t {
51 opal_list_item_t super;
52
53 struct mca_mtl_mx_module_t* mtl_mx_module;
54 /**< MTL instance that created this connection */
55
56 struct mca_mtl_mx_addr_t* mx_peer;
57 /** the address as reported by the peer */
58
59 mx_endpoint_addr_t mx_peer_addr;
60 /** the remote MX endpoint address */
61
62
63 };
64 typedef struct mca_mtl_base_endpoint_t mca_mtl_base_endpoint_t;
65 typedef mca_mtl_base_endpoint_t mca_mtl_mx_endpoint_t;
66 OBJ_CLASS_DECLARATION(mca_mtl_mx_endpoint);
67
68 mca_mtl_mx_endpoint_t* mca_mtl_mx_endpoint_create(ompi_proc_t*);
69
70
71 END_C_DECLS
72 #endif
mca_mtl_base_endpoint_t::mtl_mx_module
struct mca_mtl_mx_module_t * mtl_mx_module
MTL instance that created this connection.
Definition: mtl_mx_endpoint.h:53
opal_list.h
The opal_list_t interface is used to provide a generic doubly-linked list container for Open MPI...
proc.h
Process identification structure interface.
ompi_proc_t
Remote Open MPI process structure.
Definition: proc.h:56
myriexpress.h
Macros to help interaction between hwloc and Myrinet Express.
mca_mtl_mx_module_t
MTL Module Interface.
Definition: mtl_mx_types.h:38
opal_list_item_t
Definition: opal_list.h:98
mca_mtl_base_endpoint_t::mx_peer_addr
mx_endpoint_addr_t mx_peer_addr
the address as reported by the peer
Definition: mtl_mx_endpoint.h:59
mca_mtl_mx_addr_t
Structure used to publish MX information to peers.
Definition: mtl_mx_endpoint.h:37
mca_mtl_base_endpoint_t
An abstraction that represents a connection to a endpoint process.
Definition: mtl_mx_endpoint.h:50
mtl.h
Matching Transport Layer.
OBJ_CLASS_DECLARATION
#define OBJ_CLASS_DECLARATION(NAME)
Declaration for class descriptor.
Definition: opal_object.h:236