Yet Another eXchange Tool 0.11.4
|
#include <string.h>
#include <stdlib.h>
#include "xt/xt_mpi.h"
#include "xt_exchanger.h"
#include "xt_exchanger_irecv_isend.h"
#include "xt_exchanger_mix_isend_irecv.h"
#include "xt_exchanger_irecv_isend_packed.h"
#include "xt_exchanger_irecv_isend_ddt_packed.h"
#include "xt_exchanger_neigh_alltoall.h"
Go to the source code of this file.
Functions | |
Xt_exchanger | xt_exchanger_copy (Xt_exchanger exchanger, MPI_Comm new_comm, int new_tag_offset) |
void | xt_exchanger_delete (Xt_exchanger exchanger) |
void | xt_exchanger_s_exchange (Xt_exchanger exchanger, const void *src_data, void *dst_data) |
void | xt_exchanger_a_exchange (Xt_exchanger exchanger, const void *src_data, void *dst_data, Xt_request *request) |
int | xt_exchanger_get_msg_ranks (Xt_exchanger exchanger, enum xt_msg_direction direction, int *restrict *ranks) |
MPI_Datatype | xt_exchanger_get_MPI_Datatype (Xt_exchanger exchanger, int rank, enum xt_msg_direction direction, bool do_dup) |
Xt_exchanger_omp_share | xt_exchanger_create_omp_share (Xt_exchanger exchanger) |
Definition in file xt_exchanger.c.
void xt_exchanger_a_exchange | ( | Xt_exchanger | exchanger, |
const void * | src_data, | ||
void * | dst_data, | ||
Xt_request * | request ) |
Executes an asynchronous data exchange.
[in] | exchanger | exchanger object |
[in] | src_data | source data |
[out] | dst_data | destination data |
[out] | request | pointer that will reference request object created for duration of exchange |
Definition at line 77 of file xt_exchanger.c.
Xt_exchanger xt_exchanger_copy | ( | Xt_exchanger | orig, |
MPI_Comm | new_comm, | ||
int | new_tag_offset ) |
Copies an exchange object.
[in] | orig | exchanger object to be copied |
[in] | new_comm | communicator to be used by the new exchanger |
[in] | new_tag_offset | new tag_offset |
Definition at line 62 of file xt_exchanger.c.
Xt_exchanger_omp_share xt_exchanger_create_omp_share | ( | Xt_exchanger | exchanger | ) |
Given an exchanger, create an object holding shared data for multi-threaded invocation.
[in] | exchanger | exchanger to prepare the shared data for. |
Definition at line 99 of file xt_exchanger.c.
void xt_exchanger_delete | ( | Xt_exchanger | exchanger | ) |
Destructor for an exchanger.
Definition at line 67 of file xt_exchanger.c.
MPI_Datatype xt_exchanger_get_MPI_Datatype | ( | Xt_exchanger | exchanger, |
int | rank, | ||
enum xt_msg_direction | direction, | ||
bool | do_dup ) |
gets a copy of the MPI_Datatype used for a specificed message
[in] | exchanger | exchanger object |
[in] | rank | MPI rank |
[in] | direction | specific whether the datatype of an incoming or outgoing message is requested |
[in] | do_dup | mpi datatype copy will be dup if true |
Definition at line 93 of file xt_exchanger.c.
int xt_exchanger_get_msg_ranks | ( | Xt_exchanger | exchanger, |
enum xt_msg_direction | direction, | ||
int *restrict * | ranks ) |
Gets the ranks of all processes that receive data from/send data to the local process in the specificed message.
[in] | exchanger | exchanger object |
[in] | direction | specifices whether ranks for the outgoing or incoming messages are requested |
[out] | ranks | ranks for all outgoing/incoming messages |
Definition at line 85 of file xt_exchanger.c.
void xt_exchanger_s_exchange | ( | Xt_exchanger | exchanger, |
const void * | src_data, | ||
void * | dst_data ) |
Executes a synchronous data exchange.
[in] | exchanger | exchanger object |
[in] | src_data | source data |
[out] | dst_data | destination data |
Definition at line 72 of file xt_exchanger.c.