Yet Another eXchange Tool 0.11.4
Loading...
Searching...
No Matches
xt_request_msgs_ddt_packed.c File Reference
#include <assert.h>
#include <stdlib.h>
#include <string.h>
#include "core/ppm_xfuncs.h"
#include "xt/xt_mpi.h"
#include "xt_request_msgs_ddt_packed.h"
#include "xt_config_internal.h"
#include "xt_mpi_internal.h"
#include "xt_request_internal.h"
#include "xt_ddt_internal.h"
#include "xt_request_msgs_ebuf_internal.h"
Include dependency graph for xt_request_msgs_ddt_packed.c:

Go to the source code of this file.

Classes

struct  Xt_request_msgs_ddt_packed
 

Functions

static void xt_request_msgs_packed_ddt_finalize (Xt_request request, void *ebuf)
 
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)
 

Detailed Description

Function Documentation

◆ xt_request_msgs_ddt_packed_new()

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 pack_ddts[n_packed],
void * packed_data[n_packed],
void * tmp_buffers[n_tmp_buffers],
void * unpacked_data,
enum xt_memtype pack_memtype,
enum xt_memtype tmp_memtype )

constructor for message request handle

Parameters
[in]n_requestsnumber of entries in requests array
[in]requestsarray containg MPI requests
[in]commMPI communicator
[in]n_packednumber of entries in datatypes and packed_data
[in]n_tmp_buffersnumber of entries in tmp_buffers
[in]pack_ddtsarray of Xt_ddt's to be used for unpacking
[in]packed_dataarray of buffers containing packed data
[in]tmp_buffersarray of buffers that need to be freed after the completion of exchange
[in]unpacked_datatarget buffer for unpacking
[in]pack_memtypememory type of buffers in packed_data
[in]tmp_memtypememory type of buffers in tmp_buffers
Remarks
ownership of the MPI requests is passed to the Xt_request object, however the caller remains the owner of the requests array
ownership of the MPI datatypes and the array datatypes remain with the caller
ownership of the buffers packed_data[0..n_packed-1] and tmp_buffers[0..n_tmp_buffers-1] is passed to the Xt_request object, however the caller remain the owner of the packed_data and tmp_buffers array

Definition at line 98 of file xt_request_msgs_ddt_packed.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ xt_request_msgs_packed_ddt_finalize()

static void xt_request_msgs_packed_ddt_finalize ( Xt_request request,
void * ebuf )
static
Todo
merge all unpacking kernels into single kernel call -> less overhead

Definition at line 75 of file xt_request_msgs_ddt_packed.c.

Here is the call graph for this function:
Here is the caller graph for this function: