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

#include <ucp_context.h>

Classes

struct  Request
 

Public Types

enum  Type { WORKER_TX , WORKER_RX , WORKER_LAST }
 
enum  OpType { AM_SEND , PUT , EP_FLUSH }
 

Public Member Functions

 UCPWorker (const UCPContext *context, Type type, size_t am_alignment, bool use_wakeup, unsigned prog_boff_max, int prog_itr_max, int rdesc_rel_max, ucs_thread_mode_t thread_mode, size_t user_req_size, size_t user_req_alignment, size_t pbuf_max_size, size_t pbuf_max_chunk_size, size_t pbuf_max_count, size_t pbuf_init_count, size_t mmp_max_obj_size, bool leak_check)
 
 ~UCPWorker ()
 
bool init ()
 
void finalize ()
 
bool ep_add (int target, ucp_address_t *addr, int remote_dev_index)
 
bool ep_get (int target, int remote_dev_index, ucp_ep_h *ep) const
 
void * request_get ()
 
void request_release (void *req)
 
void * pbuf_get (size_t size)
 
void pbuf_release (void *buf)
 
void * mmp_get (size_t size)
 
void mmp_release (void *buf)
 
size_t get_max_am_header () const
 
const UCPContextget_context () const
 
ucp_worker_h get_ucp_worker () const
 
bool set_am_handler (unsigned am_id, ucp_am_recv_callback_t cb, void *args)
 
bool progress ()
 
void return_am_rdesc (void *rdesc)
 
bool am_send_fast_path (ucp_ep_h ep, unsigned am_id, const void *header, size_t header_size, const void *payload, size_t payload_size, ucs_memory_type_t memtype)
 
bool submit_req (Request *req)
 
size_t num_eps () const
 

Member Enumeration Documentation

◆ OpType

Enumerator
AM_SEND 
PUT 
EP_FLUSH 

◆ Type

Enumerator
WORKER_TX 
WORKER_RX 
WORKER_LAST 

Constructor & Destructor Documentation

◆ UCPWorker()

Realm::UCP::UCPWorker::UCPWorker ( const UCPContext context,
Type  type,
size_t  am_alignment,
bool  use_wakeup,
unsigned  prog_boff_max,
int  prog_itr_max,
int  rdesc_rel_max,
ucs_thread_mode_t  thread_mode,
size_t  user_req_size,
size_t  user_req_alignment,
size_t  pbuf_max_size,
size_t  pbuf_max_chunk_size,
size_t  pbuf_max_count,
size_t  pbuf_init_count,
size_t  mmp_max_obj_size,
bool  leak_check 
)

◆ ~UCPWorker()

Realm::UCP::UCPWorker::~UCPWorker ( )

Member Function Documentation

◆ am_send_fast_path()

bool Realm::UCP::UCPWorker::am_send_fast_path ( ucp_ep_h  ep,
unsigned  am_id,
const void *  header,
size_t  header_size,
const void *  payload,
size_t  payload_size,
ucs_memory_type_t  memtype 
)

◆ ep_add()

bool Realm::UCP::UCPWorker::ep_add ( int  target,
ucp_address_t *  addr,
int  remote_dev_index 
)

◆ ep_get()

bool Realm::UCP::UCPWorker::ep_get ( int  target,
int  remote_dev_index,
ucp_ep_h *  ep 
) const

◆ finalize()

void Realm::UCP::UCPWorker::finalize ( )

◆ get_context()

const UCPContext * Realm::UCP::UCPWorker::get_context ( ) const
inline

◆ get_max_am_header()

size_t Realm::UCP::UCPWorker::get_max_am_header ( ) const
inline

◆ get_ucp_worker()

ucp_worker_h Realm::UCP::UCPWorker::get_ucp_worker ( ) const
inline

◆ init()

bool Realm::UCP::UCPWorker::init ( )

◆ mmp_get()

void * Realm::UCP::UCPWorker::mmp_get ( size_t  size)

◆ mmp_release()

void Realm::UCP::UCPWorker::mmp_release ( void *  buf)

◆ num_eps()

size_t Realm::UCP::UCPWorker::num_eps ( ) const

◆ pbuf_get()

void * Realm::UCP::UCPWorker::pbuf_get ( size_t  size)

◆ pbuf_release()

void Realm::UCP::UCPWorker::pbuf_release ( void *  buf)

◆ progress()

bool Realm::UCP::UCPWorker::progress ( )

◆ request_get()

void * Realm::UCP::UCPWorker::request_get ( )

◆ request_release()

void Realm::UCP::UCPWorker::request_release ( void *  req)

◆ return_am_rdesc()

void Realm::UCP::UCPWorker::return_am_rdesc ( void *  rdesc)

◆ set_am_handler()

bool Realm::UCP::UCPWorker::set_am_handler ( unsigned  am_id,
ucp_am_recv_callback_t  cb,
void *  args 
)

◆ submit_req()

bool Realm::UCP::UCPWorker::submit_req ( Request req)

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