Realm
A distributed, event-based tasking library
Loading...
Searching...
No Matches
gasnetex_wrapper.h File Reference
#include <stdint.h>
#include <stddef.h>
#include "gex_export.h"
Include dependency graph for gasnetex_wrapper.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  gex_wrapper_handle_s
 Handle structure that contains the full API for the wrapper. More...
 
struct  gex_callback_handle_s
 

Macros

#define __GASNET_ERR_BASE   10000
 
#define GEX_WRAPPER_OK   0
 
#define GEX_WRAPPER_NOT_VALID   -1
 
#define GEX_WRAPPER_ERR_NOT_READY   (__GASNET_ERR_BASE + 4)
 
#define GEX_WRAPPER_EP_INVALID   ((gex_ep_opaque_t)(uintptr_t)0)
 
#define GEX_WRAPPER_MK_INVALID   ((gex_mk_opaque_t)(uintptr_t)0)
 
#define GEX_WRAPPER_SEGMENT_INVALID   ((gex_segment_opaque_t)(uintptr_t)0)
 
#define GEX_WRAPPER_EVENT_INVALID   ((gex_event_opaque_t)(uintptr_t)0)
 
#define GEX_WRAPPER_EVENT_NO_OP   ((gex_event_opaque_t)(uintptr_t)1)
 
#define GEX_WRAPPER_EVENT_NOW   ((gex_event_opaque_t *)(uintptr_t)1)
 
#define GEX_WRAPPER_EVENT_DEFER   ((gex_event_opaque_t *)(uintptr_t)2)
 
#define GEX_WRAPPER_EVENT_GROUP   ((gex_event_opaque_t *)(uintptr_t)3)
 
#define GEX_WRAPPER_AM_SRCDESC_NO_OP   NULL
 
#define GEX_WRAPPER_DT_U64   1 << 3
 
#define GEX_WRAPPER_OP_ADD   1 << 3
 
#define GEX_WRAPPER_EP_CAPABILITY_RMA   (1U << 0)
 
#define GEX_WRAPPER_MK_HOST   ((gex_mk_opaque_t)(uintptr_t)1)
 
#define GEX_WRAPPER_FLAG_IMMEDIATE   (1U << 0)
 
#define GEX_WRAPPER_FLAG_AM_PREPARE_LEAST_CLIENT   (1U << 11)
 
#define GEX_WRAPPER_FLAG_AM_PREPARE_LEAST_ALLOC   (1U << 12)
 
#define GEX_WRAPPER_CONDUIT_ARIES   0
 
#define GEX_WRAPPER_CONDUIT_IBV   1
 
#define GEX_WRAPPER_CONDUIT_MPI   2
 
#define GEX_WRAPPER_CONDUIT_OFI   3
 
#define GEX_WRAPPER_CONDUIT_SMP   4
 
#define GEX_WRAPPER_CONDUIT_UCX   5
 
#define GEX_WRAPPER_CONDUIT_UDP   6
 

Typedefs

typedef uint32_t gex_flags_t
 
typedef uint32_t gex_rank_t
 
typedef uint16_t gex_ep_index_t
 
typedef uint32_t gex_dt_t
 
typedef uint32_t gex_op_t
 
typedef int32_t gex_am_arg_t
 
typedef uint32_t gex_ep_capabilities_t
 
typedef void * gex_client_opaque_t
 
typedef void * gex_ep_opaque_t
 
typedef void * gex_tm_opaque_t
 
typedef void * gex_segment_opaque_t
 
typedef void * gex_mk_opaque_t
 
typedef void * gex_addr_opaque_t
 
typedef void * gex_event_opaque_t
 
typedef void * gex_am_src_desc_opaque_t
 
typedef struct gex_wrapper_handle_s gex_wrapper_handle_t
 Handle structure that contains the full API for the wrapper.
 
typedef struct gex_callback_handle_s gex_callback_handle_t
 
typedef int(* gex_wrapper_init_pfn) (gex_wrapper_handle_t *handle)
 

Functions

int GEX_EXPORT realm_gex_wrapper_init (gex_wrapper_handle_t *handle)
 

Macro Definition Documentation

◆ __GASNET_ERR_BASE

#define __GASNET_ERR_BASE   10000

◆ GEX_WRAPPER_AM_SRCDESC_NO_OP

#define GEX_WRAPPER_AM_SRCDESC_NO_OP   NULL

◆ GEX_WRAPPER_CONDUIT_ARIES

#define GEX_WRAPPER_CONDUIT_ARIES   0

◆ GEX_WRAPPER_CONDUIT_IBV

#define GEX_WRAPPER_CONDUIT_IBV   1

◆ GEX_WRAPPER_CONDUIT_MPI

#define GEX_WRAPPER_CONDUIT_MPI   2

◆ GEX_WRAPPER_CONDUIT_OFI

#define GEX_WRAPPER_CONDUIT_OFI   3

◆ GEX_WRAPPER_CONDUIT_SMP

#define GEX_WRAPPER_CONDUIT_SMP   4

◆ GEX_WRAPPER_CONDUIT_UCX

#define GEX_WRAPPER_CONDUIT_UCX   5

◆ GEX_WRAPPER_CONDUIT_UDP

#define GEX_WRAPPER_CONDUIT_UDP   6

◆ GEX_WRAPPER_DT_U64

#define GEX_WRAPPER_DT_U64   1 << 3

◆ GEX_WRAPPER_EP_CAPABILITY_RMA

#define GEX_WRAPPER_EP_CAPABILITY_RMA   (1U << 0)

◆ GEX_WRAPPER_EP_INVALID

#define GEX_WRAPPER_EP_INVALID   ((gex_ep_opaque_t)(uintptr_t)0)

◆ GEX_WRAPPER_ERR_NOT_READY

#define GEX_WRAPPER_ERR_NOT_READY   (__GASNET_ERR_BASE + 4)

◆ GEX_WRAPPER_EVENT_DEFER

#define GEX_WRAPPER_EVENT_DEFER   ((gex_event_opaque_t *)(uintptr_t)2)

◆ GEX_WRAPPER_EVENT_GROUP

#define GEX_WRAPPER_EVENT_GROUP   ((gex_event_opaque_t *)(uintptr_t)3)

◆ GEX_WRAPPER_EVENT_INVALID

#define GEX_WRAPPER_EVENT_INVALID   ((gex_event_opaque_t)(uintptr_t)0)

◆ GEX_WRAPPER_EVENT_NO_OP

#define GEX_WRAPPER_EVENT_NO_OP   ((gex_event_opaque_t)(uintptr_t)1)

◆ GEX_WRAPPER_EVENT_NOW

#define GEX_WRAPPER_EVENT_NOW   ((gex_event_opaque_t *)(uintptr_t)1)

◆ GEX_WRAPPER_FLAG_AM_PREPARE_LEAST_ALLOC

#define GEX_WRAPPER_FLAG_AM_PREPARE_LEAST_ALLOC   (1U << 12)

◆ GEX_WRAPPER_FLAG_AM_PREPARE_LEAST_CLIENT

#define GEX_WRAPPER_FLAG_AM_PREPARE_LEAST_CLIENT   (1U << 11)

◆ GEX_WRAPPER_FLAG_IMMEDIATE

#define GEX_WRAPPER_FLAG_IMMEDIATE   (1U << 0)

◆ GEX_WRAPPER_MK_HOST

#define GEX_WRAPPER_MK_HOST   ((gex_mk_opaque_t)(uintptr_t)1)

◆ GEX_WRAPPER_MK_INVALID

#define GEX_WRAPPER_MK_INVALID   ((gex_mk_opaque_t)(uintptr_t)0)

◆ GEX_WRAPPER_NOT_VALID

#define GEX_WRAPPER_NOT_VALID   -1

◆ GEX_WRAPPER_OK

#define GEX_WRAPPER_OK   0

◆ GEX_WRAPPER_OP_ADD

#define GEX_WRAPPER_OP_ADD   1 << 3

◆ GEX_WRAPPER_SEGMENT_INVALID

#define GEX_WRAPPER_SEGMENT_INVALID   ((gex_segment_opaque_t)(uintptr_t)0)

Typedef Documentation

◆ gex_addr_opaque_t

typedef void* gex_addr_opaque_t

◆ gex_am_arg_t

typedef int32_t gex_am_arg_t

◆ gex_am_src_desc_opaque_t

typedef void* gex_am_src_desc_opaque_t

◆ gex_callback_handle_t

◆ gex_client_opaque_t

typedef void* gex_client_opaque_t

◆ gex_dt_t

typedef uint32_t gex_dt_t

◆ gex_ep_capabilities_t

typedef uint32_t gex_ep_capabilities_t

◆ gex_ep_index_t

typedef uint16_t gex_ep_index_t

◆ gex_ep_opaque_t

typedef void* gex_ep_opaque_t

◆ gex_event_opaque_t

typedef void* gex_event_opaque_t

◆ gex_flags_t

typedef uint32_t gex_flags_t

◆ gex_mk_opaque_t

typedef void* gex_mk_opaque_t

◆ gex_op_t

typedef uint32_t gex_op_t

◆ gex_rank_t

typedef uint32_t gex_rank_t

◆ gex_segment_opaque_t

typedef void* gex_segment_opaque_t

◆ gex_tm_opaque_t

typedef void* gex_tm_opaque_t

◆ gex_wrapper_handle_t

Handle structure that contains the full API for the wrapper.

Note
This structure is versioned based on size, do not add fields or APIs in the middle of this structure, only at the end.

◆ gex_wrapper_init_pfn

typedef int(* gex_wrapper_init_pfn) (gex_wrapper_handle_t *handle)

Function Documentation

◆ realm_gex_wrapper_init()

int GEX_EXPORT realm_gex_wrapper_init ( gex_wrapper_handle_t handle)