Yet Another eXchange Tool 0.11.3
Loading...
Searching...
No Matches
xt_exchanger_simple_base.h File Reference
#include "xt/xt_core.h"
#include "xt/xt_config.h"
#include "xt_redist_internal.h"
#include "xt_exchanger.h"
Include dependency graph for xt_exchanger_simple_base.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef void(* xt_simple_s_exchange_func) (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)
 
typedef void(* xt_simple_a_exchange_func) (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)
 
typedef Xt_exchanger_omp_share(* xt_simple_create_omp_share_func) (int nsend, int nrecv, const struct Xt_redist_msg *send_msgs, const struct Xt_redist_msg *recv_msgs, MPI_Comm comm)
 

Functions

PPM_DSO_INTERNAL Xt_exchanger xt_exchanger_simple_base_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_simple_s_exchange_func s_func, xt_simple_a_exchange_func a_func, xt_simple_create_omp_share_func create_omp_share_func, Xt_config config)
 

Variables

PPM_DSO_INTERNAL const struct xt_exchanger_vtable xt_exchanger_simple_base_vtable
 

Detailed Description

Typedef Documentation

◆ xt_simple_a_exchange_func

typedef void(* xt_simple_a_exchange_func) (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)

Definition at line 63 of file xt_exchanger_simple_base.h.

◆ xt_simple_create_omp_share_func

typedef Xt_exchanger_omp_share(* xt_simple_create_omp_share_func) (int nsend, int nrecv, const struct Xt_redist_msg *send_msgs, const struct Xt_redist_msg *recv_msgs, MPI_Comm comm)

Definition at line 68 of file xt_exchanger_simple_base.h.

◆ xt_simple_s_exchange_func

typedef void(* xt_simple_s_exchange_func) (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)

Definition at line 58 of file xt_exchanger_simple_base.h.

Function Documentation

◆ xt_exchanger_simple_base_new()

PPM_DSO_INTERNAL Xt_exchanger xt_exchanger_simple_base_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_simple_s_exchange_func s_func,
xt_simple_a_exchange_func a_func,
xt_simple_create_omp_share_func create_omp_share_func,
Xt_config config )

constructor for an exchanger using asynchronous send and recv

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]s_funcfunction pointer used for synchronous exchanges
[in]a_funcfunction pointer used for asynchronous exchanges
[in]create_omp_share_funcfunction pointer used to create shared state for multi-threaded calls
[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

Definition at line 151 of file xt_exchanger_simple_base.c.

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

Variable Documentation

◆ xt_exchanger_simple_base_vtable

PPM_DSO_INTERNAL const struct xt_exchanger_vtable xt_exchanger_simple_base_vtable
extern

Definition at line 90 of file xt_exchanger_simple_base.c.