A public-facing version of the internal _resources class that extends it with functions that support two-sided sends and receives. More...
#include <lf.hpp>
Public Member Functions | |
resources_two_sided (int r_id, char *write_addr, char *read_addr, int size_w, int size_r, int is_lf_server) | |
constructor: simply forwards to _resources::_resources More... | |
void | post_two_sided_send (const long long int size) |
void | post_two_sided_send (const long long int offset, long long int size) |
Post an RDMA write at an offset into remote memory. More... | |
void | post_two_sided_send_with_completion (struct lf_sender_ctxt *ctxt, const long long int size) |
void | post_two_sided_send_with_completion (struct lf_sender_ctxt *ctxt, const long long int offset, const long long int size) |
Post an RDMA write at an offset into remote memory. More... | |
void | post_two_sided_receive (struct lf_sender_ctxt *ctxt, const long long int size) |
void | post_two_sided_receive (struct lf_sender_ctxt *ctxt, const long long int offset, const long long int size) |
resources_two_sided (int r_index, char *write_addr, char *read_addr, int size_w, int size_r) | |
void | post_two_sided_send (const uint32_t id, const long long int size) |
void | post_two_sided_send (const uint32_t id, const long long int offset, long long int size) |
Post an RDMA write at an offset into remote memory. More... | |
void | post_two_sided_send_with_completion (const uint32_t id, const long long int size) |
void | post_two_sided_send_with_completion (const uint32_t id, const long long int offset, const long long int size) |
Post an RDMA write at an offset into remote memory. More... | |
void | post_two_sided_receive (const uint32_t id, const long long int size) |
void | post_two_sided_receive (const uint32_t id, const long long int offset, const long long int size) |
Public Member Functions inherited from sst::_resources | |
_resources (int r_id, char *write_addr, char *read_addr, int size_w, int size_r, int is_lf_server) | |
Constructor Initializes the resources. More... | |
virtual | ~_resources () |
Destroys the resources. More... | |
_resources (int r_index, char *write_addr, char *read_addr, int size_w, int size_r) | |
Constructor; initializes Queue Pair, Memory Regions, and remote_props . More... | |
virtual | ~_resources () |
Destroys the resources. More... | |
Private Member Functions | |
int | post_receive (struct lf_sender_ctxt *ctxt, const long long int offset, const long long int size) |
int | post_receive (const uint32_t id, const long long int offset, const long long int size) |
Additional Inherited Members | |
Public Attributes inherited from sst::_resources | |
int | remote_id |
ID of the remote node. More... | |
struct fid_ep * | ep |
tx/rx completion queue More... | |
struct fid_mr * | write_mr |
memory region for remote writer More... | |
struct fid_mr * | read_mr |
memory region for remote writer More... | |
char * | write_buf |
Pointer to the memory buffer used for local writes. More... | |
char * | read_buf |
Pointer to the memory buffer used for the results of RDMA remote reads. More... | |
uint64_t | mr_lrkey |
key for local read buffer More... | |
uint64_t | mr_lwkey |
key for local write buffer More... | |
uint64_t | mr_rwkey |
key for remote write buffer More... | |
fi_addr_t | remote_fi_addr |
remote write memory address More... | |
struct fid_eq * | eq |
the event queue More... | |
int | remote_index |
Index of the remote node. More... | |
struct ibv_qp * | qp |
Handle for the IB Verbs Queue Pair object. More... | |
struct ibv_mr * | write_mr |
Memory Region handle for the write buffer. More... | |
struct ibv_mr * | read_mr |
Memory Region handle for the read buffer. More... | |
struct cm_con_data_t | remote_props |
Connection data values needed to connect to remote side. More... | |
Protected Member Functions inherited from sst::_resources | |
int | post_remote_send (struct lf_sender_ctxt *ctxt, const long long int offset, const long long int size, const int op, const bool completion) |
post read/write request More... | |
int | post_remote_send (const uint32_t id, const long long int offset, const long long int size, const int op, const bool completion) |
Post a remote RDMA operation. More... | |
A public-facing version of the internal _resources class that extends it with functions that support two-sided sends and receives.
|
inline |
constructor: simply forwards to _resources::_resources
sst::resources_two_sided::resources_two_sided | ( | int | r_index, |
char * | write_addr, | ||
char * | read_addr, | ||
int | size_w, | ||
int | size_r | ||
) |
|
private |
|
private |
void sst::resources_two_sided::post_two_sided_receive | ( | const uint32_t | id, |
const long long int | size | ||
) |
void sst::resources_two_sided::post_two_sided_receive | ( | const uint32_t | id, |
const long long int | offset, | ||
const long long int | size | ||
) |
void sst::resources_two_sided::post_two_sided_receive | ( | struct lf_sender_ctxt * | ctxt, |
const long long int | size | ||
) |
void sst::resources_two_sided::post_two_sided_receive | ( | struct lf_sender_ctxt * | ctxt, |
const long long int | offset, | ||
const long long int | size | ||
) |
void sst::resources_two_sided::post_two_sided_send | ( | const uint32_t | id, |
const long long int | size | ||
) |
void sst::resources_two_sided::post_two_sided_send | ( | const uint32_t | id, |
const long long int | offset, | ||
long long int | size | ||
) |
void sst::resources_two_sided::post_two_sided_send | ( | const long long int | size | ) |
void sst::resources_two_sided::post_two_sided_send | ( | const long long int | offset, |
long long int | size | ||
) |
void sst::resources_two_sided::post_two_sided_send_with_completion | ( | const uint32_t | id, |
const long long int | size | ||
) |
void sst::resources_two_sided::post_two_sided_send_with_completion | ( | const uint32_t | id, |
const long long int | offset, | ||
const long long int | size | ||
) |
void sst::resources_two_sided::post_two_sided_send_with_completion | ( | struct lf_sender_ctxt * | ctxt, |
const long long int | size | ||
) |
void sst::resources_two_sided::post_two_sided_send_with_completion | ( | struct lf_sender_ctxt * | ctxt, |
const long long int | offset, | ||
const long long int | size | ||
) |