13 #ifndef MCA_BTL_UGNI_ENDPOINT_H
14 #define MCA_BTL_UGNI_ENDPOINT_H
20 gni_smsg_attr_t smsg_attrib;
32 gni_smsg_attr_t remote_smsg_attrib;
42 #define MCA_BTL_UGNI_EP_STATE(ep) ((ep)->common->state)
55 assert (endpoint != NULL);
57 rc = ompi_common_ugni_endpoint_for_proc (btl->device, peer_proc, &endpoint->common);
58 if (OMPI_SUCCESS != rc) {
64 endpoint->common->
btl_ctx = (
void *) endpoint;
74 rc = mca_btl_ugni_ep_disconnect (ep,
false);
75 if (OMPI_SUCCESS == rc) {
76 BTL_VERBOSE((
"btl/ugni error disconnecting endpoint"));
79 ompi_common_ugni_endpoint_return (ep->common);
87 if (OPAL_LIKELY(OMPI_COMMON_UGNI_CONNECTED == ep->common->
state)) {
93 switch (ep->common->
state) {
94 case OMPI_COMMON_UGNI_INIT:
95 rc = mca_btl_ugni_ep_connect_progress (ep);
96 if (OMPI_SUCCESS != rc) {
99 case OMPI_COMMON_UGNI_CONNECTING:
100 rc = OMPI_ERR_RESOURCE_BUSY;
114 memset (&ugni_module->wc_local_attr, 0, sizeof (ugni_module->wc_local_attr));
115 rc = GNI_EpPostDataWId (ugni_module->wildcard_ep, &ugni_module->wc_local_attr, sizeof (ugni_module->wc_local_attr),
116 &ugni_module->wc_remote_attr, sizeof (ugni_module->wc_remote_attr),
119 return ompi_common_rc_ugni_to_ompi (rc);
124 rc = GNI_EpPostDataWId (ep->common->
ep_handle, &ep->mailbox->smsg_attrib, sizeof (ep->mailbox->smsg_attrib),
125 &ep->remote_smsg_attrib, sizeof (ep->remote_smsg_attrib),
126 MCA_BTL_UGNI_CONNECT_DIRECTED_ID | ep->common->
ep_rem_id);
128 return ompi_common_rc_ugni_to_ompi (rc);
void * btl_ctx
btl context for this endpoint
Definition: common_ugni_ep.h:34
Definition: btl_ugni_endpoint.h:18
Definition: btl_ugni.h:51
Remote Open MPI process structure.
Definition: proc.h:56
#define OPAL_THREAD_LOCK(mutex)
Lock a mutex if opal_using_threads() says that multiple threads may be active in the process...
Definition: mutex.h:223
#define OBJ_RELEASE(object)
Release an object (by decrementing its reference count).
Definition: opal_object.h:324
#define OPAL_THREAD_UNLOCK(mutex)
Unlock a mutex if opal_using_threads() says that multiple threads may be active in the process...
Definition: mutex.h:309
uint32_t ep_rem_id
remote information
Definition: common_ugni_ep.h:30
gni_ep_handle_t ep_handle
uGNI handle for this endpoint
Definition: common_ugni_ep.h:28
State of ELAN endpoint connection.
Definition: btl_elan_endpoint.h:33
Definition: ompi_free_list.h:62
Base object.
Definition: opal_object.h:182
#define ORTE_PROC_MY_NAME
instantiated in orte/runtime/orte_init.c
Definition: orte_globals.h:72
Definition: opal_list.h:147
Definition: common_ugni_ep.h:26
#define OBJ_CLASS_DECLARATION(NAME)
Declaration for class descriptor.
Definition: opal_object.h:236
ompi_common_ugni_endpoint_state_t state
bind/connection state
Definition: common_ugni_ep.h:29