UCX 1.17
Unified Communication X
Loading...
Searching...
No Matches
UCT Remote memory access operations

Functions

ucs_status_t uct_ep_put_short (uct_ep_h ep, const void *buffer, unsigned length, uint64_t remote_addr, uct_rkey_t rkey)
 
ssize_t uct_ep_put_bcopy (uct_ep_h ep, uct_pack_callback_t pack_cb, void *arg, uint64_t remote_addr, uct_rkey_t rkey)
 
ucs_status_t uct_ep_put_zcopy (uct_ep_h ep, const uct_iov_t *iov, size_t iovcnt, uint64_t remote_addr, uct_rkey_t rkey, uct_completion_t *comp)
 Write data to remote memory while avoiding local memory copy.
 
ucs_status_t uct_ep_get_short (uct_ep_h ep, void *buffer, unsigned length, uint64_t remote_addr, uct_rkey_t rkey)
 
ucs_status_t uct_ep_get_bcopy (uct_ep_h ep, uct_unpack_callback_t unpack_cb, void *arg, size_t length, uint64_t remote_addr, uct_rkey_t rkey, uct_completion_t *comp)
 
ucs_status_t uct_ep_get_zcopy (uct_ep_h ep, const uct_iov_t *iov, size_t iovcnt, uint64_t remote_addr, uct_rkey_t rkey, uct_completion_t *comp)
 Read data from remote memory while avoiding local memory copy.
 

Detailed Description

Defines remote memory access operations.

Function Documentation

◆ uct_ep_put_short()

ucs_status_t uct_ep_put_short ( uct_ep_h ep,
const void * buffer,
unsigned length,
uint64_t remote_addr,
uct_rkey_t rkey )

◆ uct_ep_put_bcopy()

ssize_t uct_ep_put_bcopy ( uct_ep_h ep,
uct_pack_callback_t pack_cb,
void * arg,
uint64_t remote_addr,
uct_rkey_t rkey )

◆ uct_ep_put_zcopy()

ucs_status_t uct_ep_put_zcopy ( uct_ep_h ep,
const uct_iov_t * iov,
size_t iovcnt,
uint64_t remote_addr,
uct_rkey_t rkey,
uct_completion_t * comp )

The input data in iov array of uct_iov_t structures sent to remote address ("gather output"). Buffers in iov are processed in array order. This means that the function complete iov[0] before proceeding to iov[1], and so on.

Parameters
[in]epDestination endpoint handle.
[in]iovPoints to an array of uct_iov_t structures. The iov pointer must be a valid address of an array of uct_iov_t structures. A particular structure pointer must be a valid address. A NULL terminated array is not required.
[in]iovcntSize of the iov data uct_iov_t structures array. If iovcnt is zero, the data is considered empty. iovcnt is limited by uct_iface_attr::cap::put::max_iov.
[in]remote_addrRemote address to place the iov data.
[in]rkeyRemote key descriptor provided by uct_rkey_unpack
[in]compCompletion handle as defined by uct_completion_t.
Returns
UCS_INPROGRESS Some communication operations are still in progress. If non-NULL comp is provided, it will be updated upon completion of these operations.

◆ uct_ep_get_short()

ucs_status_t uct_ep_get_short ( uct_ep_h ep,
void * buffer,
unsigned length,
uint64_t remote_addr,
uct_rkey_t rkey )

◆ uct_ep_get_bcopy()

ucs_status_t uct_ep_get_bcopy ( uct_ep_h ep,
uct_unpack_callback_t unpack_cb,
void * arg,
size_t length,
uint64_t remote_addr,
uct_rkey_t rkey,
uct_completion_t * comp )

◆ uct_ep_get_zcopy()

ucs_status_t uct_ep_get_zcopy ( uct_ep_h ep,
const uct_iov_t * iov,
size_t iovcnt,
uint64_t remote_addr,
uct_rkey_t rkey,
uct_completion_t * comp )

The output data in iov array of uct_iov_t structures received from remote address ("scatter input"). Buffers in iov are processed in array order. This means that the function complete iov[0] before proceeding to iov[1], and so on.

Parameters
[in]epDestination endpoint handle.
[in]iovPoints to an array of uct_iov_t structures. The iov pointer must be a valid address of an array of uct_iov_t structures. A particular structure pointer must be a valid address. A NULL terminated array is not required.
[in]iovcntSize of the iov data uct_iov_t structures array. If iovcnt is zero, the data is considered empty. iovcnt is limited by uct_iface_attr::cap::get::max_iov.
[in]remote_addrRemote address of the data placed to the iov.
[in]rkeyRemote key descriptor provided by uct_rkey_unpack
[in]compCompletion handle as defined by uct_completion_t.
Returns
UCS_INPROGRESS Some communication operations are still in progress. If non-NULL comp is provided, it will be updated upon completion of these operations.