18#ifndef GASNETEX_WRAPPER_INTERNAL_H
19#define GASNETEX_WRAPPER_INTERNAL_H
22#if defined(GASNET_SEQ) || defined(GASNET_PARSYNC)
23#error Realm requires GASNet-EX be used in parallel threading mode!
40#define REALM_GEX_RELEASE \
41 ((10000 * GASNET_RELEASE_VERSION_MAJOR) + (100 * GASNET_RELEASE_VERSION_MINOR) + \
42 GASNET_RELEASE_VERSION_PATCH)
50#define REALM_GEX_API ((10000 * GEX_SPEC_VERSION_MAJOR) + (100 * GEX_SPEC_VERSION_MINOR))
52#if REALM_GEX_API < 1200
53#error Realm depends on GASNet-EX features that first appeared in the 0.12 spec, first available in the 2020.11.0 release. For earlier versions of GASNet-EX, use the legacy API via the gasnet1 network layer.
54#include <stop_compilation_due_to_gasnetex_version_mismatch>
61#if REALM_GEX_RELEASE == 20201100
66#if defined(GASNET_CONDUIT_IBV) || defined(GASNET_CONDUIT_ARIES) || \
67 defined(GASNET_CONDUIT_SMP) || defined(GASNET_CONDUIT_MPI)
68#define GASNET_NATIVE_NP_ALLOC_REQ_MEDIUM
79#if defined(GASNET_CONDUIT_ARIES) || defined(GASNET_CONDUIT_MPI)
80#define REALM_GEX_RMA_HONORS_IMMEDIATE_FLAG
85#define REALM_ATTR_UNUSED(thing) thing __attribute__((unused))
87#include <gasnet_tools.h>
89 _gasneti_threadkey_init;
91 _gasnett_trace_printf_noop;
93#define CHECK_GEX(cmd) \
96 if(ret != GASNET_OK) { \
97 fprintf(stderr, "GEX: %s = %d (%s, %s)\n", #cmd, ret, gasnet_ErrorName(ret), \
98 gasnet_ErrorDesc(ret)); \
106 namespace GASNetEXHandlers {
bootstrap_handle_t * handle
Definition bootstrap.h:61
#define REALM_ATTR_UNUSED(thing)
Definition gasnetex_wrapper_internal.h:85
size_t handler_table_size
gex_AM_Entry_t handler_table[]
void init_gex_handler_fnptr(struct gex_wrapper_handle_s *handle)
Definition activemsg.h:38
Handle structure that contains the full API for the wrapper.
Definition gasnetex_wrapper.h:77