#include <limits.h>
#include <stdbool.h>
#include <stdlib.h>
#include "core/core.h"
#include "xt/xt_core.h"
#include "xt/xt_redist.h"
#include "xt/xt_mpi.h"
#include "core/ppm_xfuncs.h"
#include "xt_redist_internal.h"
Go to the source code of this file.
|
| Xt_redist | xt_redist_copy (Xt_redist redist) |
| |
| void | xt_redist_delete (Xt_redist redist) |
| |
| void | xt_redist_s_exchange (Xt_redist redist, int num_arrays, const void **src_data, void **dst_data) |
| |
| void | xt_redist_s_exchange1 (Xt_redist redist, const void *src_data, void *dst_data) |
| |
| MPI_Datatype | xt_redist_get_send_MPI_Datatype (Xt_redist redist, int rank) |
| |
| MPI_Datatype | xt_redist_get_recv_MPI_Datatype (Xt_redist redist, int rank) |
| |
| MPI_Comm | xt_redist_get_MPI_Comm (Xt_redist redist) |
| |
| int | xt_redist_get_msg_ranks (Xt_redist redist, enum xt_msg_direction direction, int **ranks) |
| |
| void | xt_redist_msgs_strided_copy (size_t n, struct Xt_redist_msg *restrict src, size_t src_stride, struct Xt_redist_msg *restrict dst, size_t dst_stride, MPI_Comm comm) |
| |
| void | xt_redist_msgs_strided_destruct (size_t n, struct Xt_redist_msg *msgs, MPI_Comm comm, size_t ofs_stride) |
| |
| void | xt_redist_check_comms (Xt_redist *redists, int num_redists, MPI_Comm comm) |
| |
| size_t | xt_ranks_uniq_count (size_t num_rank_sets, size_t *restrict num_ranks, const int *ranks[num_rank_sets]) |
| |
| MPI_Datatype | xt_create_compound_datatype (size_t num_redists, const MPI_Aint displacements[num_redists], const MPI_Datatype datatypes[num_redists], const int block_lengths[num_redists], MPI_Comm comm) |
| |
◆ xt_create_compound_datatype()
| MPI_Datatype xt_create_compound_datatype |
( |
size_t |
num_redists, |
|
|
const MPI_Aint |
displacements[num_redists], |
|
|
const MPI_Datatype |
datatypes[num_redists], |
|
|
const int |
block_lengths[num_redists], |
|
|
MPI_Comm |
comm |
|
) |
| |
◆ xt_ranks_uniq_count()
| size_t xt_ranks_uniq_count |
( |
size_t |
num_rank_sets, |
|
|
size_t *restrict |
num_ranks, |
|
|
const int * |
ranks[num_rank_sets] |
|
) |
| |
◆ xt_redist_check_comms()
◆ xt_redist_copy()
redist copy constructor
- Parameters
-
| [in,out] | redist | redistribution structure |
Definition at line 61 of file xt_redist.c.
◆ xt_redist_delete()
destructor
- Parameters
-
| [in,out] | redist | redistribution structure |
Definition at line 66 of file xt_redist.c.
◆ xt_redist_get_MPI_Comm()
returns a MPI communicator, which the redistribution is based on
- Parameters
-
| [in] | redist | redistribution structure |
- Returns
- MPI communicator, which the redistribution is based on
Definition at line 92 of file xt_redist.c.
◆ xt_redist_get_msg_ranks()
◆ xt_redist_get_recv_MPI_Datatype()
| MPI_Datatype xt_redist_get_recv_MPI_Datatype |
( |
Xt_redist |
redist, |
|
|
int |
rank |
|
) |
| |
gets a copy of the MPI_Datatype used for the data of the recv operation with the given rank
- Parameters
-
| [in] | redist | redistribution structure |
| [in] | rank | MPI rank |
- Returns
- MPI_Datatype for the data of the recv operation with the given rank
Definition at line 87 of file xt_redist.c.
◆ xt_redist_get_send_MPI_Datatype()
| MPI_Datatype xt_redist_get_send_MPI_Datatype |
( |
Xt_redist |
redist, |
|
|
int |
rank |
|
) |
| |
gets a copy of the MPI_Datatype used for the data of the send operation with the given rank
- Parameters
-
| [in] | redist | redistribution structure |
| [in] | rank | MPI rank |
- Returns
- MPI_Datatype for the data of the send operation with the given rank
Definition at line 82 of file xt_redist.c.
◆ xt_redist_msgs_strided_copy()
| void xt_redist_msgs_strided_copy |
( |
size_t |
n, |
|
|
struct Xt_redist_msg *restrict |
src, |
|
|
size_t |
src_stride, |
|
|
struct Xt_redist_msg *restrict |
dst, |
|
|
size_t |
dst_stride, |
|
|
MPI_Comm |
comm |
|
) |
| |
◆ xt_redist_msgs_strided_destruct()
| void xt_redist_msgs_strided_destruct |
( |
size_t |
n, |
|
|
struct Xt_redist_msg * |
msgs, |
|
|
MPI_Comm |
comm, |
|
|
size_t |
ofs_stride |
|
) |
| |
◆ xt_redist_s_exchange()
| void xt_redist_s_exchange |
( |
Xt_redist |
redist, |
|
|
int |
num_arrays, |
|
|
const void ** |
src_data, |
|
|
void ** |
dst_data |
|
) |
| |
synchronous redistribution of data
- Parameters
-
| [in] | redist | redistribution structure |
| [in] | num_arrays | number of base addresses in src_data and dst_data |
| [in] | src_data | array containing the addresses of the first elements of the input data |
| [in,out] | dst_data | array containing the addresses of the first elements of the output data |
Definition at line 71 of file xt_redist.c.
◆ xt_redist_s_exchange1()
| void xt_redist_s_exchange1 |
( |
Xt_redist |
redist, |
|
|
const void * |
src_data, |
|
|
void * |
dst_data |
|
) |
| |
synchronous redistribution of data - single array case
- Parameters
-
| [in] | redist | redistribution structure |
| [in] | src_data | address of the first element of the input data |
| [in,out] | dst_data | address of the first element of the output data |
Definition at line 77 of file xt_redist.c.