Realm
A distributed, event-based tasking library
Loading...
Searching...
No Matches
Realm::UCP::UCPInternal Class Reference

#include <ucp_internal.h>

Collaboration diagram for Realm::UCP::UCPInternal:

Classes

struct  Config
 

Public Member Functions

 UCPInternal (Realm::UCPModule *_module, Realm::RuntimeImpl *_runtime)
 
 ~UCPInternal ()
 
bool bootstrap ()
 
bool init (const Config &config)
 
void finalize ()
 
void attach (std::vector< NetworkSegment * > &segments)
 
void detach (std::vector< NetworkSegment * > &segments)
 
void get_shared_peers (Realm::NodeSet &shared_peers)
 
void barrier ()
 
void broadcast (NodeID root, const void *val_in, void *val_out, size_t bytes)
 
void gather (NodeID root, const void *val_in, void *vals_out, size_t bytes)
 
void allgather (const char *val_in, size_t bytes, std::vector< char > &vals_out, size_t *lengths)
 
void allgatherv (const char *val_in, size_t bytes, std::vector< char > &vals_out, std::vector< size_t > &lengths)
 
size_t sample_messages_received_count ()
 
bool check_for_quiescence (size_t sampled_receive_count)
 
size_t recommended_max_payload (const void *data, const NetworkSegment *src_segment, const RemoteAddress *dest_payload_addr, bool with_congestion, size_t header_size)
 
bool get_ucp_ep (const UCPWorker *worker, NodeID target, const UCPRDMAInfo *rdma_info, ucp_ep_h *ep) const
 
Requestrequest_get (UCPWorker *worker)
 
void request_release (Request *req)
 
void * hbuf_get (UCPWorker *worker, size_t size)
 
void hbuf_release (UCPWorker *worker, void *buf)
 
void * pbuf_get (UCPWorker *worker, size_t size)
 
void pbuf_release (UCPWorker *worker, void *buf)
 
void notify_msg_sent (uint64_t count)
 
const UCPContextget_context (const NetworkSegment *segment) const
 
UCPWorkerget_tx_worker (const UCPContext *context, uint8_t priority) const
 
size_t num_eps (const UCPContext &context) const
 

Protected Attributes

UCPModule *RuntimeImplruntime
 

Friends

class UCPMessageImpl
 

Constructor & Destructor Documentation

◆ UCPInternal()

Realm::UCP::UCPInternal::UCPInternal ( Realm::UCPModule _module,
Realm::RuntimeImpl _runtime 
)

◆ ~UCPInternal()

Realm::UCP::UCPInternal::~UCPInternal ( )

Member Function Documentation

◆ allgather()

void Realm::UCP::UCPInternal::allgather ( const char *  val_in,
size_t  bytes,
std::vector< char > &  vals_out,
size_t *  lengths 
)

◆ allgatherv()

void Realm::UCP::UCPInternal::allgatherv ( const char *  val_in,
size_t  bytes,
std::vector< char > &  vals_out,
std::vector< size_t > &  lengths 
)

◆ attach()

void Realm::UCP::UCPInternal::attach ( std::vector< NetworkSegment * > &  segments)

◆ barrier()

void Realm::UCP::UCPInternal::barrier ( )

◆ bootstrap()

bool Realm::UCP::UCPInternal::bootstrap ( )

◆ broadcast()

void Realm::UCP::UCPInternal::broadcast ( NodeID  root,
const void *  val_in,
void *  val_out,
size_t  bytes 
)

◆ check_for_quiescence()

bool Realm::UCP::UCPInternal::check_for_quiescence ( size_t  sampled_receive_count)

◆ detach()

void Realm::UCP::UCPInternal::detach ( std::vector< NetworkSegment * > &  segments)

◆ finalize()

void Realm::UCP::UCPInternal::finalize ( )

◆ gather()

void Realm::UCP::UCPInternal::gather ( NodeID  root,
const void *  val_in,
void *  vals_out,
size_t  bytes 
)

◆ get_context()

const UCPContext * Realm::UCP::UCPInternal::get_context ( const NetworkSegment segment) const

◆ get_shared_peers()

void Realm::UCP::UCPInternal::get_shared_peers ( Realm::NodeSet shared_peers)

◆ get_tx_worker()

UCPWorker * Realm::UCP::UCPInternal::get_tx_worker ( const UCPContext context,
uint8_t  priority 
) const

◆ get_ucp_ep()

bool Realm::UCP::UCPInternal::get_ucp_ep ( const UCPWorker worker,
NodeID  target,
const UCPRDMAInfo *  rdma_info,
ucp_ep_h *  ep 
) const

◆ hbuf_get()

void * Realm::UCP::UCPInternal::hbuf_get ( UCPWorker worker,
size_t  size 
)

◆ hbuf_release()

void Realm::UCP::UCPInternal::hbuf_release ( UCPWorker worker,
void *  buf 
)

◆ init()

bool Realm::UCP::UCPInternal::init ( const Config config)

◆ notify_msg_sent()

void Realm::UCP::UCPInternal::notify_msg_sent ( uint64_t  count)

◆ num_eps()

size_t Realm::UCP::UCPInternal::num_eps ( const UCPContext context) const

◆ pbuf_get()

void * Realm::UCP::UCPInternal::pbuf_get ( UCPWorker worker,
size_t  size 
)

◆ pbuf_release()

void Realm::UCP::UCPInternal::pbuf_release ( UCPWorker worker,
void *  buf 
)

◆ recommended_max_payload()

size_t Realm::UCP::UCPInternal::recommended_max_payload ( const void *  data,
const NetworkSegment src_segment,
const RemoteAddress dest_payload_addr,
bool  with_congestion,
size_t  header_size 
)

◆ request_get()

Request * Realm::UCP::UCPInternal::request_get ( UCPWorker worker)

◆ request_release()

void Realm::UCP::UCPInternal::request_release ( Request req)

◆ sample_messages_received_count()

size_t Realm::UCP::UCPInternal::sample_messages_received_count ( )

Friends And Related Symbol Documentation

◆ UCPMessageImpl

friend class UCPMessageImpl
friend

Member Data Documentation

◆ runtime

UCPModule* RuntimeImpl* Realm::UCP::UCPInternal::runtime
protected

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