Yet Another eXchange Tool 0.11.3
Loading...
Searching...
No Matches
xt_exchanger_irecv_isend_ddt_packed.c File Reference
Include dependency graph for xt_exchanger_irecv_isend_ddt_packed.c:

Go to the source code of this file.

Functions

static void xt_exchanger_irecv_isend_ddt_packed_s_exchange (const void *src_data, void *dst_data, int nsend, int nrecv, const struct Xt_redist_msg *send_msgs, const struct Xt_redist_msg *recv_msgs, int tag_offset, MPI_Comm comm)
 
static void xt_exchanger_irecv_isend_ddt_packed_a_exchange (const void *src_data, void *dst_data, int nsend, int nrecv, const struct Xt_redist_msg *send_msgs, const struct Xt_redist_msg *recv_msgs, int tag_offset, MPI_Comm comm, Xt_request *request)
 
Xt_exchanger xt_exchanger_irecv_isend_ddt_packed_new (int nsend, int nrecv, const struct Xt_redist_msg *send_msgs, const struct Xt_redist_msg *recv_msgs, MPI_Comm comm, int tag_offset, Xt_config config)
 

Detailed Description

Function Documentation

◆ xt_exchanger_irecv_isend_ddt_packed_a_exchange()

static void xt_exchanger_irecv_isend_ddt_packed_a_exchange ( const void * src_data,
void * dst_data,
int nsend,
int nrecv,
const struct Xt_redist_msg * send_msgs,
const struct Xt_redist_msg * recv_msgs,
int tag_offset,
MPI_Comm comm,
Xt_request * request )
static
Todo
merge all packing kernels into single kernel call -> less overhead, but not overlapping of packing and sending

Definition at line 156 of file xt_exchanger_irecv_isend_ddt_packed.c.

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

◆ xt_exchanger_irecv_isend_ddt_packed_new()

Xt_exchanger xt_exchanger_irecv_isend_ddt_packed_new ( int nsend,
int nrecv,
const struct Xt_redist_msg * send_msgs,
const struct Xt_redist_msg * recv_msgs,
MPI_Comm comm,
int tag_offset,
Xt_config config )

Constructor for an exchanger using asynchronous send and recv, the data is is packed before/unpacked after the exchange. This ensures that the data being handled by MPI is in one contiguous buffer.

Parameters
[in]nsendnumber of send messages
[in]nrecvnumber of receive messages
[in]send_msgsarray with send messages
[in]recv_msgsarray with receive messages
[in]commMPI communicator that is to be used for the communication
[in]tag_offsettag
[in]configoptional customization parameters
Remarks
tag_offset + xt_mpi_tag_exchange_msg must not be used on comm by any other part of the program during the lifetime of the created exchanger object

note: tag_offset + xt_mpi_tag_exchange_msg must not be used on comm by any other part of the program during the lifetime of the created exchanger object

Examples
test_exchanger_parallel.c.

Definition at line 214 of file xt_exchanger_irecv_isend_ddt_packed.c.

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

◆ xt_exchanger_irecv_isend_ddt_packed_s_exchange()

static void xt_exchanger_irecv_isend_ddt_packed_s_exchange ( const void * src_data,
void * dst_data,
int nsend,
int nrecv,
const struct Xt_redist_msg * send_msgs,
const struct Xt_redist_msg * recv_msgs,
int tag_offset,
MPI_Comm comm )
static

Definition at line 68 of file xt_exchanger_irecv_isend_ddt_packed.c.

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