10 #ifndef MTL_MXM_TYPES_H_HAS_BEEN_INCLUDED
11 #define MTL_MXM_TYPES_H_HAS_BEEN_INCLUDED
13 #include "ompi_config.h"
17 #include "ompi/mca/mtl/base/base.h"
18 #include "ompi/communicator/communicator.h"
19 #include "mtl_mxm_endpoint.h"
31 mxm_context_opts_t mxm_opts;
50 static inline mxm_conn_h ompi_mtl_mxm_conn_lookup(
struct ompi_communicator_t* comm,
int rank) {
51 ompi_proc_t* ompi_proc = ompi_comm_peer_lookup(comm, rank);
58 return (mxm_mq_h)comm->c_pml_comm;
61 static inline int ompi_mtl_mxm_to_mpi_status(mxm_error_t status) {
62 if (MXM_OK == status) {
64 }
else if (MXM_ERR_MESSAGE_TRUNCATED == status) {
65 return MPI_ERR_TRUNCATE;
67 return MPI_ERR_INTERN;
71 static inline void ompi_mtl_mxm_set_recv_envelope(mxm_recv_req_t *req,
74 req->base.mq = (mxm_mq_h)comm->c_pml_comm;
75 req->base.conn = (src == MPI_ANY_SOURCE)
77 : ompi_mtl_mxm_conn_lookup(comm, src);
78 if (tag == MPI_ANY_TAG) {
80 req->tag_mask = 0x80000000U;
83 req->tag_mask = 0xffffffffU;
mca_mtl_base_module_t super
base MTL interface
Definition: mtl_mxm_types.h:28
struct mca_pml_endpoint_t * proc_pml
PML specific proc data.
Definition: proc.h:62
Remote Open MPI process structure.
Definition: proc.h:56
mca_mtl_base_component_2_0_0_t super
base MTL component
Definition: mtl_mxm_types.h:43
Definition: util-internal.h:214
Definition: mtl_mxm_types.h:42
An abstraction that represents a connection to a endpoint process.
Definition: mtl_mx_endpoint.h:50
MTL Module Interface.
Definition: mtl_mxm_types.h:27
Matching Transport Layer.
mxm_conn_h mxm_conn
MXM Connection handle.
Definition: mtl_mxm_endpoint.h:33
MTL module interface functions and attributes.
Definition: mtl.h:399
Definition: communicator.h:118
Definition: mtl_mxm_types.h:36