exchange map declarations
More...
Go to the source code of this file.
|
MPI_Comm | xt_xmap_get_communicator (Xt_xmap xmap) |
|
int | xt_xmap_get_num_destinations (Xt_xmap xmap) |
|
int | xt_xmap_get_num_sources (Xt_xmap xmap) |
|
void | xt_xmap_get_destination_ranks (Xt_xmap xmap, int *ranks) |
|
void | xt_xmap_get_source_ranks (Xt_xmap xmap, int *ranks) |
|
Xt_xmap_iter | xt_xmap_get_out_iterator (Xt_xmap xmap) |
|
Xt_xmap_iter | xt_xmap_get_in_iterator (Xt_xmap xmap) |
|
int | xt_xmap_iterator_next (Xt_xmap_iter iter) |
|
int | xt_xmap_iterator_get_rank (Xt_xmap_iter iter) |
|
int const * | xt_xmap_iterator_get_transfer_pos (Xt_xmap_iter iter) |
|
int | xt_xmap_iterator_get_num_transfer_pos (Xt_xmap_iter iter) |
|
const struct Xt_pos_ext * | xt_xmap_iterator_get_transfer_pos_ext (Xt_xmap_iter iter) |
|
int | xt_xmap_iterator_get_num_transfer_pos_ext (Xt_xmap_iter iter) |
|
void | xt_xmap_iterator_delete (Xt_xmap_iter iter) |
|
Xt_xmap | xt_xmap_copy (Xt_xmap xmap) |
|
void | xt_xmap_delete (Xt_xmap xmap) |
|
int | xt_xmap_get_max_src_pos (Xt_xmap xmap) |
|
int | xt_xmap_get_max_dst_pos (Xt_xmap xmap) |
|
Xt_xmap | xt_xmap_reorder (Xt_xmap xmap, enum xt_reorder_type type) |
|
Xt_xmap | xt_xmap_reorder_custom (Xt_xmap xmap, enum xt_reorder_type type, Xt_config config) |
|
Xt_xmap | xt_xmap_update_positions (Xt_xmap xmap, const int *src_positions, const int *dst_positions) |
|
Xt_xmap | xt_xmap_spread (Xt_xmap xmap, int num_repetitions, const int src_displacements[num_repetitions], const int dst_displacements[num_repetitions]) |
|
◆ Xt_xmap_iter
◆ xt_reorder_type
Enumerator |
---|
XT_REORDER_NONE | no reordering
|
XT_REORDER_SEND_UP | optimise data access on sender side
|
XT_REORDER_RECV_UP | optimise data access on receiver side
|
Definition at line 240 of file xt_xmap.h.
◆ xt_xmap_copy()
copy constructor for an exchange map
- Parameters
-
[in] | xmap | exchange map to be copied |
Definition at line 81 of file xt_xmap.c.
◆ xt_xmap_delete()
void xt_xmap_delete |
( |
Xt_xmap |
xmap | ) |
|
destructor for an exchange map
- Parameters
-
[in] | xmap | exchange map to be destroyed |
Definition at line 86 of file xt_xmap.c.
◆ xt_xmap_get_communicator()
gets the MPI communicator of the exchange map
- Parameters
-
- Returns
- MPI communicator of the exchange map
Definition at line 56 of file xt_xmap.c.
◆ xt_xmap_get_destination_ranks()
void xt_xmap_get_destination_ranks |
( |
Xt_xmap |
xmap, |
|
|
int * |
ranks |
|
) |
| |
gets the ranks of processes that will require data from the local process in an exchange operation
- Parameters
-
[in] | xmap | exchange map |
[out] | ranks | ranks of processes that will require data from the local process in an exchange operation |
Definition at line 71 of file xt_xmap.c.
◆ xt_xmap_get_in_iterator()
gets an iterator for all local incoming messages of an exchange operation
- Parameters
-
- Returns
- iterator for all local incoming messages
is NULL if there are no local incoming messages
Definition at line 91 of file xt_xmap.c.
◆ xt_xmap_get_max_dst_pos()
int xt_xmap_get_max_dst_pos |
( |
Xt_xmap |
xmap | ) |
|
gives an upper limit to the range of positions in the dst part of the transfer_pos,
- Parameters
-
- Returns
- upper limit of range of positions in the destination list
Definition at line 139 of file xt_xmap.c.
◆ xt_xmap_get_max_src_pos()
int xt_xmap_get_max_src_pos |
( |
Xt_xmap |
xmap | ) |
|
gives an upper limit to the range of positions in the src part of the transfer_pos,
- Parameters
-
- Returns
- upper limit of range of positions in the source list
Definition at line 135 of file xt_xmap.c.
◆ xt_xmap_get_num_destinations()
int xt_xmap_get_num_destinations |
( |
Xt_xmap |
xmap | ) |
|
gets the number of processes that will require data from the local process in an exchange operation
- Parameters
-
- Returns
- number of processes that will require data from the local process in an exchange operation
Definition at line 61 of file xt_xmap.c.
◆ xt_xmap_get_num_sources()
int xt_xmap_get_num_sources |
( |
Xt_xmap |
xmap | ) |
|
gets the number of processes from which the local process will require data in an exchange operation
- Parameters
-
- Returns
- number of prosses from which the local process will require data in an exchange operation
Definition at line 66 of file xt_xmap.c.
◆ xt_xmap_get_out_iterator()
gets an iterator for all local outgoing messages of an exchange operation
- Parameters
-
- Returns
- iterator for all local outgoing messages
is NULL if there are no local outgoing messages
Definition at line 96 of file xt_xmap.c.
◆ xt_xmap_get_source_ranks()
void xt_xmap_get_source_ranks |
( |
Xt_xmap |
xmap, |
|
|
int * |
ranks |
|
) |
| |
gets the ranks of processes from which the local process will require data in an exchange operation
- Parameters
-
[in] | xmap | exchange map |
[out] | ranks | ranks of processes from which the local process will required data in an exchange operation |
Definition at line 76 of file xt_xmap.c.
◆ xt_xmap_iterator_delete()
destructor for an exchange map iterator
- Parameters
-
[in] | iter | exchange map iterator |
Definition at line 130 of file xt_xmap.c.
◆ xt_xmap_iterator_get_num_transfer_pos()
int xt_xmap_iterator_get_num_transfer_pos |
( |
Xt_xmap_iter |
iter | ) |
|
get the number of positions returned by xt_xmap_iterator_get_transfer_pos of the current item of an exchange map iterator
- Parameters
-
[in] | iter | exchange map iterator |
- Returns
- number of positions returned by xt_xmap_iterator_get_transfer_pos for the current item
Definition at line 116 of file xt_xmap.c.
◆ xt_xmap_iterator_get_num_transfer_pos_ext()
int xt_xmap_iterator_get_num_transfer_pos_ext |
( |
Xt_xmap_iter |
iter | ) |
|
get the number of position extents returned by xt_xmap_iterator_get_transfer_pos_ext of the current item of an exchange map iterator
- Parameters
-
[in] | iter | exchange map iterator |
- Returns
- number of positions returned by xt_xmap_iterator_get_transfer_pos_ext for the current item
Definition at line 126 of file xt_xmap.c.
◆ xt_xmap_iterator_get_rank()
gets the rank of the current item of an exchange map iterator
- Parameters
-
[in] | iter | exchange map iterator |
- Returns
- rank of the current item
Definition at line 106 of file xt_xmap.c.
◆ xt_xmap_iterator_get_transfer_pos()
int const * xt_xmap_iterator_get_transfer_pos |
( |
Xt_xmap_iter |
iter | ) |
|
get the positions of all element of the current item of an exchange map iterator
- Parameters
-
[in] | iter | exchange map iterator |
- Returns
- exchange list of the current item
Definition at line 111 of file xt_xmap.c.
◆ xt_xmap_iterator_get_transfer_pos_ext()
get the position ranges of all element of the current item of an exchange map iterator as position extents
- Parameters
-
[in] | iter | exchange map iterator |
- Returns
- exchange list of the current item
Definition at line 122 of file xt_xmap.c.
◆ xt_xmap_iterator_next()
sets an exchange map iterator to the next item
- Parameters
-
[in,out] | iter | exchange map iterator |
- Returns
- returns 0 if there was no further item
Definition at line 101 of file xt_xmap.c.
◆ xt_xmap_reorder()
reorder positions
- Parameters
-
[in] | xmap | exchange map |
[in] | type | reorder pattern to be used |
- Returns
- copy of input xmap with reordered positions
Definition at line 143 of file xt_xmap.c.
◆ xt_xmap_reorder_custom()
reorder positions
- Parameters
-
[in] | xmap | exchange map |
[in] | type | reorder pattern to be used |
[in] | config | configuration object for custom settings |
- Returns
- copy of input xmap with reordered positions
Definition at line 148 of file xt_xmap.c.
◆ xt_xmap_spread()
Xt_xmap xt_xmap_spread |
( |
Xt_xmap |
xmap, |
|
|
int |
num_repetitions, |
|
|
const int |
src_displacements[num_repetitions], |
|
|
const int |
dst_displacements[num_repetitions] |
|
) |
| |
inflate the pattern stored in the exchange map by repeating it at provided offsets
- Parameters
-
[in] | xmap | exchange map |
[in] | num_repetitions | number of repetitions of the given data map |
[in] | src_displacements | displacements for source repetitions |
[in] | dst_displacements | displacements for destination repetitions |
- Returns
- copy of input xmap, which is spread into multiple repetitions with given displacements
Definition at line 159 of file xt_xmap.c.
◆ xt_xmap_update_positions()
Xt_xmap xt_xmap_update_positions |
( |
Xt_xmap |
xmap, |
|
|
const int * |
src_positions, |
|
|
const int * |
dst_positions |
|
) |
| |
updates positions of indices
- Parameters
-
[in] | xmap | exchange map |
[in] | src_positions | updated positions for all source indices |
[in] | dst_positions | updated positions for all destination indices |
- Returns
- copy of input xmap with updated positions
Definition at line 154 of file xt_xmap.c.