OpenMPI  0.1.1
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 
33 
34 /**
35  * Structure used to publish MX information to peers
36  */
38  uint64_t nic_id;
39  uint32_t endpoint_id;
40 };
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 
51  opal_list_item_t super;
52 
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 };
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
struct mca_mtl_mx_module_t * mtl_mx_module
MTL instance that created this connection.
Definition: mtl_mx_endpoint.h:53
The opal_list_t interface is used to provide a generic doubly-linked list container for Open MPI...
Process identification structure interface.
Remote Open MPI process structure.
Definition: proc.h:56
Macros to help interaction between hwloc and Myrinet Express.
MTL Module Interface.
Definition: mtl_mx_types.h:38
Definition: opal_list.h:98
mx_endpoint_addr_t mx_peer_addr
the address as reported by the peer
Definition: mtl_mx_endpoint.h:59
Structure used to publish MX information to peers.
Definition: mtl_mx_endpoint.h:37
An abstraction that represents a connection to a endpoint process.
Definition: mtl_mx_endpoint.h:50
Matching Transport Layer.
#define OBJ_CLASS_DECLARATION(NAME)
Declaration for class descriptor.
Definition: opal_object.h:236