99 const MPI_Request requests[n_requests],
118 MPI_Request *requests_
120 memcpy(requests_, requests,
121 (
size_t)n_requests *
sizeof(*requests_));
127 for (
int i = 0; i <
n_packed; ++i) {
128 ddts[i] = packed_ddts[i];
133 memcpy(ebuf->
buffers, packed_data,
add versions of standard API functions not returning on error
enum xt_memtype packed_memtype
enum xt_memtype tmp_memtype
struct Xt_config_ xt_default_config
void xt_config_set_redist_mthread_mode(Xt_config config, int mode)
implementation of configuration object
void xt_ddt_unpack_internal(Xt_ddt ddt, const void *src, void *dst, enum xt_memtype memtype)
void xt_ddt_delete(Xt_ddt ddt)
void xt_ddt_inc_ref_count(Xt_ddt ddt)
internal utility routines for manual handling of MPI DDT's
void xt_gpu_free(void *ptr, enum xt_memtype memtype)
struct Xt_request_ * Xt_request
Provide non-public declarations common to all requests.
Xt_request xt_request_msgs_ddt_packed_new(int n_requests, const MPI_Request requests[n_requests], MPI_Comm comm, int n_packed, int n_tmp_buffers, Xt_ddt packed_ddts[n_packed], void *packed_data[n_packed], void *tmp_buffers[n_tmp_buffers], void *dst_data, enum xt_memtype packed_memtype, enum xt_memtype tmp_memtype)
static void xt_request_msgs_packed_ddt_finalize(Xt_request request, void *ebuf)
void xt_request_msgs_ebuf_set_finalizer(Xt_request request, Xt_request_msgs_ebuf_finalizer finalizer)
Xt_request xt_request_msgs_ebuf_alloc(int n_requests, MPI_Comm comm, size_t extra_buf_size, Xt_config config)
MPI_Request * xt_request_msgs_ebuf_get_req_ptr(Xt_request request)
void * xt_request_msgs_ebuf_get_extra_buf(Xt_request request)
internal interfaces for xt_request_msgs_ebuf