Yet Another eXchange Tool 0.11.3
Loading...
Searching...
No Matches
Functions
xt_exchanger_irecv_isend_ddt_packed.c File Reference
#include "core/ppm_xfuncs.h"
#include "xt/xt_mpi.h"
#include "xt_request_msgs_ddt_packed.h"
#include "xt_mpi_internal.h"
#include "xt_redist_internal.h"
#include "xt_exchanger_irecv_isend_ddt_packed.h"
#include "xt_exchanger_simple_base.h"
#include "xt_ddt_internal.h"
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

Author
Jörg Behrens behre.nosp@m.ns@d.nosp@m.krz.d.nosp@m.e Moritz Hanke hanke.nosp@m.@dkr.nosp@m.z.de Thomas Jahns jahns.nosp@m.@dkr.nosp@m.z.de

Definition in file xt_exchanger_irecv_isend_ddt_packed.c.

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: