Struct ucp_dt_local_sgl_t
-
struct ucp_dt_local_sgl_t
Local SGL descriptor for multi-element operations.
This structure describes per-element local buffers, lengths, and memory handles. Element i describes a local buffer at buffers[i] of lengths[i] bytes with memory handle memhs[i].
The descriptor ucp_dt_local_sgl_t itself is copied by the library, so the caller may release it after the call returns. However, the arrays buffers, lengths, and memhs are not copied and must remain valid until the data transfer request is completed.
Pass as the buffer parameter to ucp_put_nbx with ucp_request_param_t::datatype set to ucp_dt_make_sgl().
Note
Currently only N->N mapping is supported: both sides must use the SGL datatype with equal counts and matching lengths.
Note
All buffers in the descriptor must share the same memory type (see ucs_memory_type_t), otherwise UCS_ERR_INVALID_PARAM is returned.
Public Members
-
uint64_t field_mask
Valid fields, using bits from ucp_dt_local_sgl_field
-
void *const *buffers
Array of local buffer pointers
-
const size_t *lengths
Array of transfer lengths in bytes
-
ucp_mem_h const *memhs
Array of local memory handles
-
uint64_t field_mask