UCX  1.5
Unified Communication X
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. More...
 
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. More...
 

Detailed Description

Defines remote memory access operations.

Function Documentation

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 
)

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 valid address of an array of uct_iov_t structures. A particular structure pointer must be valid address. NULL terminated pointer 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.
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 
)

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 valid address of an array of uct_iov_t structures. A particular structure pointer must be valid address. NULL terminated pointer 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.