20 #ifndef MTL_MX_TYPES_H_HAS_BEEN_INCLUDED
21 #define MTL_MX_TYPES_H_HAS_BEEN_INCLUDED
23 #include "ompi_config.h"
27 #include "ompi/mca/mtl/base/base.h"
28 #include "mtl_mx_endpoint.h"
44 int32_t mx_support_sharedmem;
71 #define MX_SOURCE_MASK 0x0000FFFF00000000ULL
72 #define MX_TAG_MASK 0x00000000FFFFFFFFULL
74 #define MX_SOURCE_IGNR ~MX_SOURCE_MASK
77 #define MX_TAG_IGNR 0xFFFFFFFF80000000ULL
80 #define MX_GET_TAG(match_bits, tag) \
82 tag = (int) (match_bits & MX_TAG_MASK); \
87 #define MX_GET_SRC(match_bits, src) \
89 src = (int) ((match_bits & MX_SOURCE_MASK) >> 32); \
93 #define MX_SET_SEND_BITS(match_bits, contextid, source, tag) \
95 match_bits = contextid; \
96 match_bits = (match_bits << 16); \
97 match_bits |= source; \
98 match_bits = (match_bits << 32); \
99 match_bits |= (MX_TAG_MASK & tag); \
103 #define MX_SET_RECV_BITS(match_bits, mask_bits, contextid, source, tag) \
105 match_bits = contextid; \
106 match_bits = (match_bits << 16); \
108 if (MPI_ANY_SOURCE == source) { \
109 mask_bits = MX_SOURCE_IGNR; \
112 match_bits |= source; \
114 match_bits = (match_bits << 32); \
116 if (MPI_ANY_TAG == tag) { \
117 mask_bits &= MX_TAG_IGNR; \
119 match_bits |= (MX_TAG_MASK & tag); \
mca_mtl_base_module_t super
base MTL interface
Definition: mtl_mx_types.h:39
Macros to help interaction between hwloc and Myrinet Express.
MTL Module Interface.
Definition: mtl_mx_types.h:38
int32_t mx_filter
user assigned value used to filter incomming messages
Definition: mtl_mx_types.h:41
mca_mtl_base_component_2_0_0_t super
base MTL component
Definition: mtl_mx_types.h:56
Structure used to publish MX information to peers.
Definition: mtl_mx_endpoint.h:37
Matching Transport Layer.
int32_t mx_unexp_queue_max
maximium size of the MX unexpected message queue
Definition: mtl_mx_types.h:40
Definition: mtl_mx_types.h:55
MTL module interface functions and attributes.
Definition: mtl.h:399
mx_endpoint_t mx_endpoint
mx data structure for local endpoint
Definition: mtl_mx_types.h:47
mx_endpoint_addr_t mx_endpoint_addr
mx data structure for local endpoint address
Definition: mtl_mx_types.h:48