20#ifndef GASNETEX_INTERNAL_H
21#define GASNETEX_INTERNAL_H
25#ifdef REALM_USE_GASNETEX_WRAPPER
27#define GEX_NO_PROTOTYPES 1
39#define REALM_GEX_MODULE_VERSION 20240301
139 void init(
size_t _outbuf_count,
size_t _outbuf_size, uintptr_t _baseptr);
243 template <
typename T,
unsigned CHUNK_SIZE>
284 template <
typename T,
unsigned CHUNK_SIZE>
342 void *&payload_base);
350 size_t payload_bytes, uintptr_t dest_addr,
354 size_t payload_bytes, uintptr_t dest_addr,
357 const void *payload_base,
size_t payload_bytes,
358 uintptr_t dest_addr);
471 template <
typename T,
unsigned CHUNK_SIZE>
587 template <
typename T,
unsigned CHUNK_SIZE>
615 template <
typename T,
unsigned CHUNK_SIZE>
639 size_t hdr_bytes, uintptr_t src_ptr, uintptr_t tgt_ptr,
640 size_t payload_bytes);
663 bool init(
int *argc,
const char ***argv);
677 void allgatherv(
const char *val_in,
size_t bytes, std::vector<char> &vals_out,
678 std::vector<size_t> &lengths);
687 bool with_congestion,
size_t header_size,
688 uintptr_t dest_payload_addr);
690 const void *data,
size_t bytes_per_line,
size_t lines,
691 size_t line_stride,
bool with_congestion,
692 size_t header_size, uintptr_t dest_payload_addr);
696 unsigned short msgid,
void *&header_base,
697 size_t header_size,
void *&payload_base,
698 size_t payload_size, uintptr_t dest_payload_addr);
700 size_t header_size,
void *payload_base,
size_t payload_size);
706 size_t hdr_bytes,
const void *data,
size_t data_bytes);
708 size_t hdr_bytes,
const void *data,
size_t data_bytes);
711 const void *hdr,
size_t hdr_bytes, uintptr_t src_ptr,
712 uintptr_t tgt_ptr,
size_t payload_bytes);
714 const void *data,
size_t data_bytes,
gex_am_arg_t *comps);
728 uintptr_t comp_info);
730 uintptr_t comp_info);
732 uintptr_t comp_info);
740 std::vector<gex_ep_opaque_t>
eps;
753 struct SegmentInfoSorter;
Definition gasnetex_internal.h:244
Mutex mutex
Definition gasnetex_internal.h:271
size_t max_alloc
Definition gasnetex_internal.h:276
atomic< size_t > cur_alloc
Definition gasnetex_internal.h:275
Chunk * chunks_head
Definition gasnetex_internal.h:274
uintptr_t free_head
Definition gasnetex_internal.h:272
size_t cur_capacity
Definition gasnetex_internal.h:276
uintptr_t * free_tail
Definition gasnetex_internal.h:273
static const size_t ALIGNMENT
Definition activemsg.h:183
Definition gasnetex_internal.h:567
GASNetEXCompleter(GASNetEXInternal *_internal)
void add_ready_events(GASNetEXEvent::EventList &newly_ready)
atomic< bool > has_work
Definition gasnetex_internal.h:580
Mutex mutex
Definition gasnetex_internal.h:579
GASNetEXInternal * internal
Definition gasnetex_internal.h:578
GASNetEXEvent::EventList ready_events
Definition gasnetex_internal.h:581
bool has_work_remaining()
virtual bool do_work(TimeLimit work_until)
Definition gasnetex_internal.h:468
GASNetEXEvent & set_pktbuf(OutbufMetadata *_pktbuf)
void propagate_to_leaves()
GASNetEXEvent * leaf
Definition gasnetex_internal.h:504
~GASNetEXEvent()
Definition gasnetex_internal.h:474
REALM_PMTA_DEFN(GASNetEXEvent, IntrusiveListLink< GASNetEXEvent >, event_list_link)
GASNetEXEvent & set_leaf(GASNetEXEvent *_leaf)
GASNetEXEvent & set_put(PendingPutHeader *_put)
gex_ep_opaque_t event
Definition gasnetex_internal.h:498
PendingCompletion * local_comp
Definition gasnetex_internal.h:499
GASNetEXEvent & set_event(gex_event_opaque_t _event)
GASNetEXEvent & set_rget(PendingReverseGet *_rget)
GASNetEXEvent & set_databuf(OutbufMetadata *_databuf)
PendingPutHeader * put
Definition gasnetex_internal.h:503
IntrusiveListLink< GASNetEXEvent > event_list_link
Definition gasnetex_internal.h:491
OutbufMetadata * pktbuf
Definition gasnetex_internal.h:500
gex_event_opaque_t get_event() const
OutbufMetadata * databuf
Definition gasnetex_internal.h:501
void trigger(GASNetEXInternal *internal)
IntrusiveList< GASNetEXEvent, REALM_PMTA_USE(GASNetEXEvent, event_list_link), DummyLock > EventList
Definition gasnetex_internal.h:495
GASNetEXEvent & set_local_comp(PendingCompletion *_local_comp)
PendingReverseGet * rget
Definition gasnetex_internal.h:502
Definition gasnetex_internal.h:510
void add_ready_xpair(XmitSrcDestPair *xpair)
GASNetEXInjector(GASNetEXInternal *_internal)
GASNetEXInternal * internal
Definition gasnetex_internal.h:525
atomic< bool > work_active
Definition gasnetex_internal.h:527
virtual bool do_work(TimeLimit work_until)
bool has_work_remaining()
XmitSrcDestPair::XmitPairList ready_xpairs
Definition gasnetex_internal.h:528
Mutex mutex
Definition gasnetex_internal.h:526
Definition gasnetex_internal.h:657
GASNetEXCompleter completer
Definition gasnetex_internal.h:763
std::vector< XmitSrc * > xmitsrcs
Definition gasnetex_internal.h:759
atomic< uint64_t > total_packets_received
Definition gasnetex_internal.h:769
size_t recommended_max_payload(bool with_congestion, size_t header_size)
gex_rank_t prim_rank
Definition gasnetex_internal.h:742
gex_callback_handle_t gex_callback_handle
Definition gasnetex_internal.h:774
PreparedMessage * prepare_message(gex_rank_t target, gex_ep_index_t target_ep_index, unsigned short msgid, void *&header_base, size_t header_size, void *&payload_base, size_t payload_size, uintptr_t dest_payload_addr)
static void long_message_complete(NodeID sender, uintptr_t objptr, uintptr_t comp_info)
OutbufMetadata * databuf_md
Definition gasnetex_internal.h:773
size_t recommended_max_payload(gex_rank_t target, gex_ep_index_t target_ep_index, bool with_congestion, size_t header_size, uintptr_t dest_payload_addr)
GASNetEXPoller poller
Definition gasnetex_internal.h:761
Mutex databuf_mutex
Definition gasnetex_internal.h:772
PendingCompletionManager compmgr
Definition gasnetex_internal.h:765
bool init(int *argc, const char ***argv)
void cancel_message(PreparedMessage *msg)
GASNetEXModule *RuntimeImpl * runtime
Definition gasnetex_internal.h:737
gex_tm_opaque_t prim_tm
Definition gasnetex_internal.h:741
uintptr_t attach(size_t size)
OutbufManager obmgr
Definition gasnetex_internal.h:766
size_t recommended_max_payload(gex_rank_t target, gex_ep_index_t target_ep_index, const void *data, size_t bytes_per_line, size_t lines, size_t line_stride, bool with_congestion, size_t header_size, uintptr_t dest_payload_addr)
const SegmentInfo * find_segment(const void *srcptr) const
size_t handle_batch(gex_rank_t srcrank, gex_am_arg_t arg0, gex_am_arg_t cksum, const void *data, size_t data_bytes, gex_am_arg_t *comps)
static void medium_message_complete(NodeID sender, uintptr_t objptr, uintptr_t comp_info)
PendingCompletion * early_local_completion(PendingCompletion *comp)
GASNetEXInternal(GASNetEXModule *_module, RuntimeImpl *_runtime)
std::vector< gex_ep_opaque_t > eps
Definition gasnetex_internal.h:740
size_t sample_messages_received_count()
PendingCompletion * get_available_comp()
bool check_for_quiescence(size_t sampled_receive_count)
gex_client_opaque_t client
Definition gasnetex_internal.h:738
ChunkedRecycler< PendingPutHeader, 32 > put_alloc
Definition gasnetex_internal.h:779
static void short_message_complete(NodeID sender, uintptr_t objptr, uintptr_t comp_info)
void get_shared_peers(Realm::NodeSet &shared_peers)
ReverseGetter rgetter
Definition gasnetex_internal.h:764
size_t prim_segsize
Definition gasnetex_internal.h:744
gex_am_arg_t handle_short(gex_rank_t srcrank, gex_am_arg_t arg0, const void *hdr, size_t hdr_bytes)
ChunkedRecycler< PreparedMessage, 32 > prep_alloc
Definition gasnetex_internal.h:778
void handle_completion_reply(gex_rank_t srcrank, const gex_am_arg_t *args, size_t nargs)
void commit_message(PreparedMessage *msg, PendingCompletion *comp, void *header_base, size_t header_size, void *payload_base, size_t payload_size)
gex_am_arg_t handle_medium(gex_rank_t srcrank, gex_am_arg_t arg0, const void *hdr, size_t hdr_bytes, const void *data, size_t data_bytes)
gex_am_arg_t handle_long(gex_rank_t srcrank, gex_am_arg_t arg0, const void *hdr, size_t hdr_bytes, const void *data, size_t data_bytes)
void allgatherv(const char *val_in, size_t bytes, std::vector< char > &vals_out, std::vector< size_t > &lengths)
void broadcast(gex_rank_t root, const void *val_in, void *val_out, size_t bytes)
GASNetEXInjector injector
Definition gasnetex_internal.h:762
void gather(gex_rank_t root, const void *val_in, void *vals_out, size_t bytes)
ChunkedRecycler< GASNetEXEvent, 64 > event_alloc
Definition gasnetex_internal.h:777
gex_segment_opaque_t prim_segment
Definition gasnetex_internal.h:743
gex_rank_t prim_size
Definition gasnetex_internal.h:742
PendingCompletion * extract_arg0_local_comp(gex_am_arg_t &arg0)
void handle_reverse_get(gex_rank_t srcrank, gex_ep_index_t src_ep_index, gex_ep_index_t tgt_ep_index, gex_am_arg_t arg0, const void *hdr, size_t hdr_bytes, uintptr_t src_ptr, uintptr_t tgt_ptr, size_t payload_bytes)
std::vector< SegmentInfo > segments_by_addr
Definition gasnetex_internal.h:755
bool attempt_binding(void *base, size_t size, NetworkSegmentInfo::MemoryType memtype, NetworkSegmentInfo::MemoryTypeExtraData memextra, gex_ep_index_t *ep_indexp)
Definition gasnetex_module.h:29
Definition gasnetex_internal.h:531
GASNetEXPoller(GASNetEXInternal *_internal)
GASNetEXEvent::EventList pending_events
Definition gasnetex_internal.h:564
void add_pending_event(GASNetEXEvent *event)
virtual bool do_work(TimeLimit work_until)
Mutex mutex
Definition gasnetex_internal.h:557
bool has_work_remaining()
Mutex::CondVar pollwait_cond
Definition gasnetex_internal.h:561
XmitSrcDestPair::XmitPairList critical_xpairs
Definition gasnetex_internal.h:563
void add_critical_xpair(XmitSrcDestPair *xpair)
atomic< bool > shutdown_flag
Definition gasnetex_internal.h:558
Mutex::CondVar shutdown_cond
Definition gasnetex_internal.h:559
bool started
Definition gasnetex_internal.h:555
GASNetEXInternal * internal
Definition gasnetex_internal.h:556
atomic< bool > work_active
Definition gasnetex_internal.h:562
void wait_for_full_poll_cycle()
atomic< bool > pollwait_flag
Definition gasnetex_internal.h:560
Definition gasnetex_internal.h:134
OutbufMetadata * reserved_head
Definition gasnetex_internal.h:167
void init(size_t _outbuf_count, size_t _outbuf_size, uintptr_t _baseptr)
size_t num_endpoints
Definition gasnetex_internal.h:164
size_t outbuf_size
Definition gasnetex_internal.h:149
OutbufMetadata * overflow_head
Definition gasnetex_internal.h:165
OutbufMetadata * metadatas
Definition gasnetex_internal.h:148
OutbufMetadata * first_available
Definition gasnetex_internal.h:151
size_t num_overflow
Definition gasnetex_internal.h:155
OutbufMetadata ** overflow_tail
Definition gasnetex_internal.h:166
OutbufMetadata * alloc_outbuf(OutbufMetadata::State state, bool overflow_ok, bool new_endpoint)
void free_outbuf(OutbufMetadata *md)
virtual bool do_work(TimeLimit work_until)
size_t num_buffers
Definition gasnetex_internal.h:164
Mutex mutex
Definition gasnetex_internal.h:150
size_t num_reserved
Definition gasnetex_internal.h:155
Definition gasnetex_internal.h:122
OutbufMetadata * md
Definition gasnetex_internal.h:131
OutbufUsecountDec(OutbufMetadata *_md)
Definition gasnetex_internal.h:124
void operator()() const
Definition gasnetex_internal.h:128
Definition gasnetex_internal.h:214
void invoke_completions(PendingCompletion *comp, bool do_local, bool do_remote)
PendingCompletion * get_available()
Realm::atomic< PendingCompletionGroup * > groups[1<< LOG2_MAXGROUPS]
Definition gasnetex_internal.h:238
size_t pending_soft_limit
Definition gasnetex_internal.h:240
Realm::atomic< PendingCompletion * > first_free
Definition gasnetex_internal.h:236
PendingCompletion * lookup_completion(int index)
~PendingCompletionManager()
Realm::Mutex mutex
Definition gasnetex_internal.h:235
PendingCompletionManager()
void recycle_comp(PendingCompletion *comp)
Realm::atomic< int > num_groups
Definition gasnetex_internal.h:237
atomic< size_t > num_pending
Definition gasnetex_internal.h:239
size_t num_completions_pending()
static const size_t LOG2_MAXGROUPS
Definition gasnetex_internal.h:232
bool over_pending_completion_soft_limit() const
Definition gasnetex_internal.h:172
REALM_ALIGNED_TYPE_CONST(Storage_aligned, Storage_unaligned, Realm::CompletionCallbackBase::ALIGNMENT)
void * add_local_completion(size_t bytes, bool late_ok=false)
int index
Definition gasnetex_internal.h:190
Storage_aligned storage
Definition gasnetex_internal.h:205
bool invoke_local_completions()
bool invoke_remote_completions()
PendingCompletionManager * manager
Definition gasnetex_internal.h:192
static const size_t TOTAL_CAPACITY
Definition gasnetex_internal.h:201
char Storage_unaligned[TOTAL_CAPACITY]
Definition gasnetex_internal.h:202
static const unsigned LOCAL_PENDING_BIT
Definition gasnetex_internal.h:194
size_t remote_bytes
Definition gasnetex_internal.h:199
bool has_remote_completions()
bool has_local_completions()
void * add_remote_completion(size_t bytes)
static const unsigned REMOTE_PENDING_BIT
Definition gasnetex_internal.h:195
Realm::atomic< unsigned > remote_left
Definition gasnetex_internal.h:198
Realm::atomic< unsigned > local_left
Definition gasnetex_internal.h:198
static const unsigned READY_BIT
Definition gasnetex_internal.h:196
Realm::atomic< unsigned > state
Definition gasnetex_internal.h:197
size_t local_bytes
Definition gasnetex_internal.h:199
PendingCompletion * next_free
Definition gasnetex_internal.h:191
bool mark_ready(unsigned exp_local, unsigned exp_remote)
Definition gasnetex_internal.h:633
void add_reverse_get(gex_rank_t srcrank, gex_ep_index_t src_ep_index, gex_ep_index_t tgt_ep_index, gex_am_arg_t arg0, const void *hdr, size_t hdr_bytes, uintptr_t src_ptr, uintptr_t tgt_ptr, size_t payload_bytes)
GASNetEXInternal * internal
Definition gasnetex_internal.h:650
PendingReverseGet ** tailp
Definition gasnetex_internal.h:653
Mutex mutex
Definition gasnetex_internal.h:651
ChunkedRecycler< PendingReverseGet, 8 > rget_alloc
Definition gasnetex_internal.h:654
PendingReverseGet * head
Definition gasnetex_internal.h:652
virtual bool do_work(TimeLimit work_until)
void reverse_get_complete(PendingReverseGet *rget)
ReverseGetter(GASNetEXInternal *_internal)
bool has_work_remaining()
Definition runtime_impl.h:265
Definition gasnetex_internal.h:323
IntrusiveListLink< XmitSrcDestPair > xpair_list_link
Definition gasnetex_internal.h:385
OutbufMetadata * cur_pbuf
Definition gasnetex_internal.h:431
void record_immediate_packet()
void commit_pbuf_inline(OutbufMetadata *pktbuf, int pktidx, const void *hdr_base, gex_am_arg_t arg0, size_t act_payload_bytes)
bool commit_pbuf_helper(OutbufMetadata *pktbuf, int pktidx, const void *hdr_base, uintptr_t &baseptr)
void enqueue_put_header(PendingPutHeader *put)
atomic< unsigned > comp_reply_count
Definition gasnetex_internal.h:440
unsigned comp_reply_capacity
Definition gasnetex_internal.h:441
void commit_pbuf_put(OutbufMetadata *pktbuf, int pktidx, PendingPutHeader *put, const void *payload_base, size_t payload_bytes, uintptr_t dest_addr)
atomic< OutbufMetadata * > first_pbuf
Definition gasnetex_internal.h:430
GASNetEXInternal * internal
Definition gasnetex_internal.h:421
void request_push(bool force_critical)
bool reserve_pbuf_put(bool overflow_ok, OutbufMetadata *&pktbuf, int &pktidx)
unsigned comp_reply_wrptr
Definition gasnetex_internal.h:439
IntrusiveList< XmitSrcDestPair, REALM_PMTA_USE(XmitSrcDestPair, xpair_list_link), DummyLock > XmitPairList
Definition gasnetex_internal.h:389
bool has_packets_queued() const
gex_ep_index_t src_ep_index
Definition gasnetex_internal.h:422
atomic< size_t > packets_reserved
Definition gasnetex_internal.h:425
REALM_PMTA_DEFN(XmitSrcDestPair, IntrusiveListLink< XmitSrcDestPair >, xpair_list_link)
Mutex mutex
Definition gasnetex_internal.h:426
long long time_since_failure() const
bool try_consume_am_credit()
atomic< int > am_credits
Definition gasnetex_internal.h:443
atomic< unsigned > imm_fail_count
Definition gasnetex_internal.h:432
gex_am_arg_t * comp_reply_data
Definition gasnetex_internal.h:438
long long first_fail_time
Definition gasnetex_internal.h:434
void return_am_credits(int count)
atomic< size_t > packets_sent
Definition gasnetex_internal.h:425
bool reserve_pbuf_long_rget(size_t hdr_bytes, bool overflow_ok, OutbufMetadata *&pktbuf, int &pktidx, void *&hdr_base)
atomic< PendingPutHeader * > put_head
Definition gasnetex_internal.h:435
unsigned comp_reply_rdptr
Definition gasnetex_internal.h:439
void commit_pbuf_rget(OutbufMetadata *pktbuf, int pktidx, const void *hdr_base, gex_am_arg_t arg0, const void *payload_base, size_t payload_bytes, uintptr_t dest_addr, gex_ep_index_t src_ep_index, gex_ep_index_t tgt_ep_index)
void enqueue_completion_reply(gex_am_arg_t comp_info)
MutexChecker push_mutex_check
Definition gasnetex_internal.h:429
void commit_pbuf_long(OutbufMetadata *pktbuf, int pktidx, const void *hdr_base, gex_am_arg_t arg0, const void *payload_base, size_t payload_bytes, uintptr_t dest_addr, OutbufMetadata *databuf)
bool reserve_pbuf_helper(size_t total_bytes, bool overflow_ok, OutbufMetadata *&pktbuf, int &pktidx, uintptr_t &baseptr)
gex_rank_t tgt_rank
Definition gasnetex_internal.h:423
atomic< PendingPutHeader * > * put_tailp
Definition gasnetex_internal.h:436
void cancel_pbuf(OutbufMetadata *pktbuf, int pktidx)
gex_ep_index_t tgt_ep_index
Definition gasnetex_internal.h:424
void push_packets(bool immediate_mode, TimeLimit work_until)
bool has_ready_packets
Definition gasnetex_internal.h:433
XmitSrcDestPair(GASNetEXInternal *_internal, gex_ep_index_t _src_ep_index, gex_rank_t _tgt_rank, gex_ep_index_t _tgt_ep_index)
bool reserve_pbuf_inline(size_t hdr_bytes, size_t payload_bytes, bool overflow_ok, OutbufMetadata *&pktbuf, int &pktidx, void *&hdr_base, void *&payload_base)
Definition gasnetex_internal.h:446
XmitSrc(GASNetEXInternal *_internal, gex_ep_index_t _src_ep_index)
XmitSrcDestPair * lookup_pair(gex_rank_t tgt_rank, gex_ep_index_t tgt_ep_index)
gex_ep_index_t src_ep_index
Definition gasnetex_internal.h:457
atomic< XmitSrcDestPair * > * pairs
Definition gasnetex_internal.h:461
GASNetEXInternal * internal
Definition gasnetex_internal.h:456
void * gex_tm_opaque_t
Definition gasnetex_wrapper.h:38
void * gex_event_opaque_t
Definition gasnetex_wrapper.h:42
int32_t gex_am_arg_t
Definition gasnetex_wrapper.h:33
uint16_t gex_ep_index_t
Definition gasnetex_wrapper.h:30
void * gex_am_src_desc_opaque_t
Definition gasnetex_wrapper.h:43
uint32_t gex_rank_t
Definition gasnetex_wrapper.h:29
void * gex_segment_opaque_t
Definition gasnetex_wrapper.h:39
void * gex_ep_opaque_t
Definition gasnetex_wrapper.h:37
void * gex_client_opaque_t
Definition gasnetex_wrapper.h:36
#define REALM_PMTA_USE(structtype, name)
Definition lists.h:42
unsigned MemoryType
Definition network.h:244
uintptr_t MemoryTypeExtraData
Definition network.h:247
Definition activemsg.h:38
int NodeID
Definition nodeset.h:40
gex_wrapper_handle_t gex_wrapper_handle
Definition gasnetex_internal.h:265
Chunk * next_chunk
Definition gasnetex_internal.h:267
atomic< unsigned > remaining_count
Definition gasnetex_internal.h:266
WithPtr elements[CHUNK_SIZE]
Definition gasnetex_internal.h:268
Definition gasnetex_internal.h:256
Storage_aligned raw_storage
Definition gasnetex_internal.h:260
Chunk * backptr
Definition gasnetex_internal.h:263
REALM_ALIGNED_TYPE_SAMEAS(Storage_aligned, Storage_unaligned, T)
char Storage_unaligned[sizeof(T)]
Definition gasnetex_internal.h:257
uintptr_t nextptr
Definition gasnetex_internal.h:261
Definition gasnetex_internal.h:746
uintptr_t base
Definition gasnetex_internal.h:747
NetworkSegmentInfo::MemoryTypeExtraData memextra
Definition gasnetex_internal.h:751
gex_segment_opaque_t segment
Definition gasnetex_internal.h:749
uintptr_t limit
Definition gasnetex_internal.h:747
NetworkSegmentInfo::MemoryType memtype
Definition gasnetex_internal.h:750
gex_ep_index_t ep_index
Definition gasnetex_internal.h:748
Definition gasnetex_internal.h:44
gex_ep_index_t ep_index
Definition gasnetex_internal.h:46
uintptr_t base
Definition gasnetex_internal.h:45
Definition gasnetex_internal.h:208
static const size_t LOG2_GROUPSIZE
Definition gasnetex_internal.h:209
PendingCompletion entries[1<< LOG2_GROUPSIZE]
Definition gasnetex_internal.h:211
Definition gasnetex_internal.h:612
ReverseGetter * rgetter
Definition gasnetex_internal.h:621
unsigned char hdr_data[MAX_HDR_SIZE]
Definition gasnetex_internal.h:628
PendingReverseGet()
Definition gasnetex_internal.h:617
static const size_t MAX_HDR_SIZE
Definition gasnetex_internal.h:626
gex_am_arg_t arg0
Definition gasnetex_internal.h:625
~PendingReverseGet()
Definition gasnetex_internal.h:618
gex_ep_index_t tgt_ep_index
Definition gasnetex_internal.h:624
size_t payload_bytes
Definition gasnetex_internal.h:630
size_t hdr_size
Definition gasnetex_internal.h:627
gex_ep_index_t src_ep_index
Definition gasnetex_internal.h:624
uintptr_t tgt_ptr
Definition gasnetex_internal.h:629
gex_rank_t srcrank
Definition gasnetex_internal.h:623
PendingReverseGet * next_rget
Definition gasnetex_internal.h:622
uintptr_t src_ptr
Definition gasnetex_internal.h:629
Definition gasnetex_internal.h:281
gex_ep_index_t source_ep_index
Definition gasnetex_internal.h:308
PreparedMessage()
Definition gasnetex_internal.h:286
PendingPutHeader * put
Definition gasnetex_internal.h:316
OutbufMetadata * databuf
Definition gasnetex_internal.h:312
unsigned short msgid
Definition gasnetex_internal.h:309
void * temp_buffer
Definition gasnetex_internal.h:311
gex_am_src_desc_opaque_t srcdesc
Definition gasnetex_internal.h:315
Strategy
Definition gasnetex_internal.h:291
@ STRAT_MEDIUM_IMMEDIATE
Definition gasnetex_internal.h:295
@ STRAT_RGET_IMMEDIATE
Definition gasnetex_internal.h:301
@ STRAT_SHORT_PBUF
Definition gasnetex_internal.h:294
@ STRAT_PUT_PBUF
Definition gasnetex_internal.h:304
@ STRAT_LONG_IMMEDIATE
Definition gasnetex_internal.h:299
@ STRAT_LONG_PBUF
Definition gasnetex_internal.h:300
@ STRAT_SHORT_IMMEDIATE
Definition gasnetex_internal.h:293
@ STRAT_MEDIUM_PREP
Definition gasnetex_internal.h:298
@ STRAT_RGET_PBUF
Definition gasnetex_internal.h:302
@ STRAT_MEDIUM_MALLOCSRC
Definition gasnetex_internal.h:297
@ STRAT_MEDIUM_PBUF
Definition gasnetex_internal.h:296
@ STRAT_PUT_IMMEDIATE
Definition gasnetex_internal.h:303
@ STRAT_UNKNOWN
Definition gasnetex_internal.h:292
gex_ep_index_t target_ep_index
Definition gasnetex_internal.h:308
OutbufMetadata * pktbuf
Definition gasnetex_internal.h:313
Strategy strategy
Definition gasnetex_internal.h:306
uintptr_t dest_payload_addr
Definition gasnetex_internal.h:310
int pktidx
Definition gasnetex_internal.h:314
~PreparedMessage()
Definition gasnetex_internal.h:287
gex_rank_t target
Definition gasnetex_internal.h:307
Definition gasnetex_internal.h:391
struct Realm::XmitSrcDestPair::LongRgetData::@12::@14 l
struct Realm::XmitSrcDestPair::LongRgetData::@12::@15 r
size_t payload_bytes
Definition gasnetex_internal.h:393
OutbufMetadata * databuf
Definition gasnetex_internal.h:397
const void * payload_base
Definition gasnetex_internal.h:392
gex_ep_index_t src_ep_index
Definition gasnetex_internal.h:401
gex_ep_index_t tgt_ep_index
Definition gasnetex_internal.h:401
uintptr_t dest_addr
Definition gasnetex_internal.h:394
Definition gasnetex_wrapper.h:251
Handle structure that contains the full API for the wrapper.
Definition gasnetex_wrapper.h:77
unsigned short msgid
Definition ucp_internal.h:2