Realm
A distributed, event-based tasking library
Loading...
Searching...
No Matches
gex_wrapper_handle_s Struct Reference

Handle structure that contains the full API for the wrapper. More...

#include <gasnetex_wrapper.h>

Public Attributes

size_t handle_size
 
uint16_t max_eps
 
int conduit
 
size_t AM_LUBRequestMedium
 
int GEX_RELEASE
 
int GEX_API
 
bool GEX_RMA_HONORS_IMMEDIATE_FLAG
 
bool GEX_NATIVE_NP_ALLOC_REQ_MEDIUM
 
bool GEX_HAVE_MK_CLASS_CUDA_UVA
 
bool GEX_HAVE_MK_CLASS_HIP
 
int(* gex_client_init )(gex_client_opaque_t *client_p, gex_ep_opaque_t *ep_p, gex_tm_opaque_t *tm_p, gex_rank_t *rank, gex_rank_t *size, const char *clientName, int *argc, char ***argv, gex_flags_t flags, const void *val)
 
int(* gex_ep_create )(gex_ep_opaque_t *ep_p, gex_ep_index_t *ep_index, gex_client_opaque_t client, gex_ep_capabilities_t capabilities, gex_flags_t flags, const void *val)
 
void *(* gex_segment_attach_query_addr )(gex_segment_opaque_t *segment_p, gex_tm_opaque_t tm, uintptr_t size)
 
int(* gex_mk_create_cuda )(gex_mk_opaque_t *memkind_p, gex_client_opaque_t client, int device, gex_flags_t flags)
 
int(* gex_mk_create_hip )(gex_mk_opaque_t *memkind_p, gex_client_opaque_t client, int device, gex_flags_t flags)
 
int(* gex_segment_create )(gex_segment_opaque_t *segment_p, gex_client_opaque_t client, gex_addr_opaque_t address, uintptr_t length, gex_mk_opaque_t kind, gex_flags_t flags)
 
void(* gex_ep_bind_segment )(gex_ep_opaque_t ep, gex_segment_opaque_t segment, gex_flags_t flags)
 
void(* gex_query_shared_peers )(gex_rank_t *num_shared_ranks, gex_rank_t **shared_ranks)
 
void(* gex_nbi_wait_ec_am )(gex_flags_t flags)
 
const char *(* gex_error_name )(int error)
 
const char *(* gex_error_desc )(int error)
 
int(* gex_ep_publish_bound_segment )(gex_tm_opaque_t tm, gex_ep_opaque_t *eps, size_t num_eps, gex_flags_t flags)
 
int(* gex_event_test )(gex_event_opaque_t event)
 
size_t(* gex_am_src_desc_size )(gex_am_src_desc_opaque_t sd)
 
void *(* gex_am_src_desc_addr )(gex_am_src_desc_opaque_t sd)
 
int(* gex_am_poll )(void)
 
gex_event_opaque_t(* gex_rma_iget )(gex_ep_opaque_t local_ep, gex_ep_index_t remote_ep_index, void *dest, gex_rank_t rank, void *src, size_t nbytes, gex_flags_t flags)
 
gex_event_opaque_t(* gex_rma_iput )(gex_ep_opaque_t local_ep, gex_ep_index_t remote_ep_index, gex_rank_t rank, void *dest, const void *src, size_t nbytes, gex_event_opaque_t *lc_opt, gex_flags_t flags)
 
void(* gex_coll_barrier )(gex_tm_opaque_t tm, gex_flags_t flags)
 
void(* gex_coll_bcast )(gex_tm_opaque_t tm, gex_rank_t root, void *dst, const void *src, size_t nbytes, gex_flags_t flags)
 
void(* gex_coll_gather )(gex_tm_opaque_t tm, gex_rank_t root, const void *val_in, void *vals_out, size_t bytes, gex_flags_t flags)
 
void(* gex_coll_allgather )(gex_tm_opaque_t tm, const void *val_in, void *vals_out, size_t bytes, gex_flags_t flags)
 
void(* gex_coll_allgatherv )(gex_tm_opaque_t tm, const void *val_in, void *vals_out, int *bytes, int *offsets, gex_flags_t flags)
 
gex_event_opaque_t(* gex_coll_ireduce )(gex_tm_opaque_t tm, void *dst, const void *src, gex_dt_t dt, size_t dt_sz, size_t dt_cnt, gex_op_t op, gex_flags_t flags)
 
int(* send_completion_reply )(gex_ep_opaque_t src_ep, gex_rank_t tgt_rank, gex_ep_index_t tgt_ep_index, const gex_am_arg_t *args, size_t nargs, gex_flags_t flags)
 
int(* send_request_short )(gex_ep_opaque_t src_ep, gex_rank_t tgt_rank, gex_ep_index_t tgt_ep_index, gex_am_arg_t arg0, const void *hdr, size_t hdr_bytes, gex_flags_t flags)
 
size_t(* max_request_medium )(gex_ep_opaque_t src_ep, gex_rank_t tgt_rank, gex_ep_index_t tgt_ep_index, size_t hdr_bytes, gex_event_opaque_t *lc_opt, gex_flags_t flags)
 
int(* send_request_medium )(gex_ep_opaque_t src_ep, gex_rank_t tgt_rank, gex_ep_index_t tgt_ep_index, gex_am_arg_t arg0, const void *hdr, size_t hdr_bytes, const void *data, size_t data_bytes, gex_event_opaque_t *lc_opt, gex_flags_t flags)
 
gex_am_src_desc_opaque_t(* prepare_request_medium )(gex_ep_opaque_t src_ep, gex_rank_t tgt_rank, gex_ep_index_t tgt_ep_index, size_t hdr_bytes, const void *data, size_t min_data_bytes, size_t max_data_bytes, gex_event_opaque_t *lc_opt, gex_flags_t flags)
 
void(* commit_request_medium )(gex_am_src_desc_opaque_t srcdesc, gex_am_arg_t arg0, const void *hdr, size_t hdr_bytes, size_t data_bytes)
 
size_t(* max_request_long )(gex_ep_opaque_t src_ep, gex_rank_t tgt_rank, gex_ep_index_t tgt_ep_index, size_t hdr_bytes, gex_event_opaque_t *lc_opt, gex_flags_t flags)
 
int(* send_request_long )(gex_ep_opaque_t src_ep, gex_rank_t tgt_rank, gex_ep_index_t tgt_ep_index, gex_am_arg_t arg0, const void *hdr, size_t hdr_bytes, const void *data, size_t data_bytes, gex_event_opaque_t *lc_opt, gex_flags_t flags, uintptr_t dest_addr)
 
int(* send_request_rget )(gex_tm_opaque_t prim_tm, gex_rank_t tgt_rank, gex_ep_index_t tgt_ep_index, gex_am_arg_t arg0, const void *hdr, size_t hdr_bytes, gex_ep_index_t payload_ep_index, const void *payload, size_t payload_bytes, gex_event_opaque_t *lc_opt, gex_flags_t flags, uintptr_t dest_addr)
 
int(* send_request_put_header )(gex_ep_opaque_t src_ep, gex_rank_t tgt_rank, gex_ep_index_t tgt_ep_index, gex_am_arg_t arg0, const void *hdr, size_t hdr_bytes, uintptr_t dest_addr, size_t payload_bytes, gex_event_opaque_t *lc_opt, gex_flags_t flags)
 
gex_am_src_desc_opaque_t(* prepare_request_batch )(gex_ep_opaque_t src_ep, gex_rank_t tgt_rank, gex_ep_index_t tgt_ep_index, const void *data, size_t min_data_bytes, size_t max_data_bytes, gex_event_opaque_t *lc_opt, gex_flags_t flags)
 
void(* commit_request_batch )(gex_am_src_desc_opaque_t srcdesc, gex_am_arg_t arg0, gex_am_arg_t cksum, size_t data_bytes)
 

Detailed Description

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.

Member Data Documentation

◆ AM_LUBRequestMedium

size_t gex_wrapper_handle_s::AM_LUBRequestMedium

◆ commit_request_batch

void(* gex_wrapper_handle_s::commit_request_batch) (gex_am_src_desc_opaque_t srcdesc, gex_am_arg_t arg0, gex_am_arg_t cksum, size_t data_bytes)

◆ commit_request_medium

void(* gex_wrapper_handle_s::commit_request_medium) (gex_am_src_desc_opaque_t srcdesc, gex_am_arg_t arg0, const void *hdr, size_t hdr_bytes, size_t data_bytes)

◆ conduit

int gex_wrapper_handle_s::conduit

◆ gex_am_poll

int(* gex_wrapper_handle_s::gex_am_poll) (void)

◆ gex_am_src_desc_addr

void *(* gex_wrapper_handle_s::gex_am_src_desc_addr) (gex_am_src_desc_opaque_t sd)

◆ gex_am_src_desc_size

size_t(* gex_wrapper_handle_s::gex_am_src_desc_size) (gex_am_src_desc_opaque_t sd)

◆ GEX_API

int gex_wrapper_handle_s::GEX_API

◆ gex_client_init

int(* gex_wrapper_handle_s::gex_client_init) (gex_client_opaque_t *client_p, gex_ep_opaque_t *ep_p, gex_tm_opaque_t *tm_p, gex_rank_t *rank, gex_rank_t *size, const char *clientName, int *argc, char ***argv, gex_flags_t flags, const void *val)

◆ gex_coll_allgather

void(* gex_wrapper_handle_s::gex_coll_allgather) (gex_tm_opaque_t tm, const void *val_in, void *vals_out, size_t bytes, gex_flags_t flags)

◆ gex_coll_allgatherv

void(* gex_wrapper_handle_s::gex_coll_allgatherv) (gex_tm_opaque_t tm, const void *val_in, void *vals_out, int *bytes, int *offsets, gex_flags_t flags)

◆ gex_coll_barrier

void(* gex_wrapper_handle_s::gex_coll_barrier) (gex_tm_opaque_t tm, gex_flags_t flags)

◆ gex_coll_bcast

void(* gex_wrapper_handle_s::gex_coll_bcast) (gex_tm_opaque_t tm, gex_rank_t root, void *dst, const void *src, size_t nbytes, gex_flags_t flags)

◆ gex_coll_gather

void(* gex_wrapper_handle_s::gex_coll_gather) (gex_tm_opaque_t tm, gex_rank_t root, const void *val_in, void *vals_out, size_t bytes, gex_flags_t flags)

◆ gex_coll_ireduce

gex_event_opaque_t(* gex_wrapper_handle_s::gex_coll_ireduce) (gex_tm_opaque_t tm, void *dst, const void *src, gex_dt_t dt, size_t dt_sz, size_t dt_cnt, gex_op_t op, gex_flags_t flags)

◆ gex_ep_bind_segment

void(* gex_wrapper_handle_s::gex_ep_bind_segment) (gex_ep_opaque_t ep, gex_segment_opaque_t segment, gex_flags_t flags)

◆ gex_ep_create

int(* gex_wrapper_handle_s::gex_ep_create) (gex_ep_opaque_t *ep_p, gex_ep_index_t *ep_index, gex_client_opaque_t client, gex_ep_capabilities_t capabilities, gex_flags_t flags, const void *val)

◆ gex_ep_publish_bound_segment

int(* gex_wrapper_handle_s::gex_ep_publish_bound_segment) (gex_tm_opaque_t tm, gex_ep_opaque_t *eps, size_t num_eps, gex_flags_t flags)

◆ gex_error_desc

const char *(* gex_wrapper_handle_s::gex_error_desc) (int error)

◆ gex_error_name

const char *(* gex_wrapper_handle_s::gex_error_name) (int error)

◆ gex_event_test

int(* gex_wrapper_handle_s::gex_event_test) (gex_event_opaque_t event)

◆ GEX_HAVE_MK_CLASS_CUDA_UVA

bool gex_wrapper_handle_s::GEX_HAVE_MK_CLASS_CUDA_UVA

◆ GEX_HAVE_MK_CLASS_HIP

bool gex_wrapper_handle_s::GEX_HAVE_MK_CLASS_HIP

◆ gex_mk_create_cuda

int(* gex_wrapper_handle_s::gex_mk_create_cuda) (gex_mk_opaque_t *memkind_p, gex_client_opaque_t client, int device, gex_flags_t flags)

◆ gex_mk_create_hip

int(* gex_wrapper_handle_s::gex_mk_create_hip) (gex_mk_opaque_t *memkind_p, gex_client_opaque_t client, int device, gex_flags_t flags)

◆ GEX_NATIVE_NP_ALLOC_REQ_MEDIUM

bool gex_wrapper_handle_s::GEX_NATIVE_NP_ALLOC_REQ_MEDIUM

◆ gex_nbi_wait_ec_am

void(* gex_wrapper_handle_s::gex_nbi_wait_ec_am) (gex_flags_t flags)

◆ gex_query_shared_peers

void(* gex_wrapper_handle_s::gex_query_shared_peers) (gex_rank_t *num_shared_ranks, gex_rank_t **shared_ranks)

◆ GEX_RELEASE

int gex_wrapper_handle_s::GEX_RELEASE

◆ GEX_RMA_HONORS_IMMEDIATE_FLAG

bool gex_wrapper_handle_s::GEX_RMA_HONORS_IMMEDIATE_FLAG

◆ gex_rma_iget

gex_event_opaque_t(* gex_wrapper_handle_s::gex_rma_iget) (gex_ep_opaque_t local_ep, gex_ep_index_t remote_ep_index, void *dest, gex_rank_t rank, void *src, size_t nbytes, gex_flags_t flags)

◆ gex_rma_iput

gex_event_opaque_t(* gex_wrapper_handle_s::gex_rma_iput) (gex_ep_opaque_t local_ep, gex_ep_index_t remote_ep_index, gex_rank_t rank, void *dest, const void *src, size_t nbytes, gex_event_opaque_t *lc_opt, gex_flags_t flags)

◆ gex_segment_attach_query_addr

void *(* gex_wrapper_handle_s::gex_segment_attach_query_addr) (gex_segment_opaque_t *segment_p, gex_tm_opaque_t tm, uintptr_t size)

◆ gex_segment_create

int(* gex_wrapper_handle_s::gex_segment_create) (gex_segment_opaque_t *segment_p, gex_client_opaque_t client, gex_addr_opaque_t address, uintptr_t length, gex_mk_opaque_t kind, gex_flags_t flags)

◆ handle_size

size_t gex_wrapper_handle_s::handle_size

◆ max_eps

uint16_t gex_wrapper_handle_s::max_eps

◆ max_request_long

size_t(* gex_wrapper_handle_s::max_request_long) (gex_ep_opaque_t src_ep, gex_rank_t tgt_rank, gex_ep_index_t tgt_ep_index, size_t hdr_bytes, gex_event_opaque_t *lc_opt, gex_flags_t flags)

◆ max_request_medium

size_t(* gex_wrapper_handle_s::max_request_medium) (gex_ep_opaque_t src_ep, gex_rank_t tgt_rank, gex_ep_index_t tgt_ep_index, size_t hdr_bytes, gex_event_opaque_t *lc_opt, gex_flags_t flags)

◆ prepare_request_batch

gex_am_src_desc_opaque_t(* gex_wrapper_handle_s::prepare_request_batch) (gex_ep_opaque_t src_ep, gex_rank_t tgt_rank, gex_ep_index_t tgt_ep_index, const void *data, size_t min_data_bytes, size_t max_data_bytes, gex_event_opaque_t *lc_opt, gex_flags_t flags)

◆ prepare_request_medium

gex_am_src_desc_opaque_t(* gex_wrapper_handle_s::prepare_request_medium) (gex_ep_opaque_t src_ep, gex_rank_t tgt_rank, gex_ep_index_t tgt_ep_index, size_t hdr_bytes, const void *data, size_t min_data_bytes, size_t max_data_bytes, gex_event_opaque_t *lc_opt, gex_flags_t flags)

◆ send_completion_reply

int(* gex_wrapper_handle_s::send_completion_reply) (gex_ep_opaque_t src_ep, gex_rank_t tgt_rank, gex_ep_index_t tgt_ep_index, const gex_am_arg_t *args, size_t nargs, gex_flags_t flags)

◆ send_request_long

int(* gex_wrapper_handle_s::send_request_long) (gex_ep_opaque_t src_ep, gex_rank_t tgt_rank, gex_ep_index_t tgt_ep_index, gex_am_arg_t arg0, const void *hdr, size_t hdr_bytes, const void *data, size_t data_bytes, gex_event_opaque_t *lc_opt, gex_flags_t flags, uintptr_t dest_addr)

◆ send_request_medium

int(* gex_wrapper_handle_s::send_request_medium) (gex_ep_opaque_t src_ep, gex_rank_t tgt_rank, gex_ep_index_t tgt_ep_index, gex_am_arg_t arg0, const void *hdr, size_t hdr_bytes, const void *data, size_t data_bytes, gex_event_opaque_t *lc_opt, gex_flags_t flags)

◆ send_request_put_header

int(* gex_wrapper_handle_s::send_request_put_header) (gex_ep_opaque_t src_ep, gex_rank_t tgt_rank, gex_ep_index_t tgt_ep_index, gex_am_arg_t arg0, const void *hdr, size_t hdr_bytes, uintptr_t dest_addr, size_t payload_bytes, gex_event_opaque_t *lc_opt, gex_flags_t flags)

◆ send_request_rget

int(* gex_wrapper_handle_s::send_request_rget) (gex_tm_opaque_t prim_tm, gex_rank_t tgt_rank, gex_ep_index_t tgt_ep_index, gex_am_arg_t arg0, const void *hdr, size_t hdr_bytes, gex_ep_index_t payload_ep_index, const void *payload, size_t payload_bytes, gex_event_opaque_t *lc_opt, gex_flags_t flags, uintptr_t dest_addr)

◆ send_request_short

int(* gex_wrapper_handle_s::send_request_short) (gex_ep_opaque_t src_ep, gex_rank_t tgt_rank, gex_ep_index_t tgt_ep_index, gex_am_arg_t arg0, const void *hdr, size_t hdr_bytes, gex_flags_t flags)

The documentation for this struct was generated from the following file: