Yet Another eXchange Tool  DO_NOT_EDIT_HERE
Typedefs | Functions
xt_xmap.h File Reference

exchange map declarations More...

#include "xt/xt_core.h"
Include dependency graph for xt_xmap.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef struct Xt_xmap_iter_Xt_xmap_iter
 

Functions

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_extxt_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)
 
int xt_xmap_is_bijective (Xt_xmap xmap)
 

Detailed Description

exchange map declarations

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

methods to be used with Xt_xmap

Definition in file xt_xmap.h.

Typedef Documentation

◆ Xt_xmap_iter

typedef struct Xt_xmap_iter_* Xt_xmap_iter

Definition at line 72 of file xt_xmap.h.

Function Documentation

◆ xt_xmap_copy()

Xt_xmap xt_xmap_copy ( Xt_xmap  xmap)

copy constructor for an exchange map

Parameters
[in]xmapexchange map to be copied
Examples:
test_xmap_common.c, test_xmap_common_parallel.c, and test_xmap_intersection_parallel.c.

Definition at line 80 of file xt_xmap.c.

◆ xt_xmap_delete()

void xt_xmap_delete ( Xt_xmap  xmap)

destructor for an exchange map

Parameters
[in]xmapexchange map to be destroyed
Examples:
rrobin.c, test_redist_collection.c, test_redist_collection_parallel.c, test_redist_collection_static.c, test_redist_collection_static_parallel.c, test_redist_p2p.c, test_redist_p2p_parallel.c, test_redist_repeat.c, test_redist_repeat_parallel.c, test_xmap_all2all_fail.c, test_xmap_common.c, test_xmap_common_parallel.c, and test_xmap_intersection_parallel.c.

Definition at line 85 of file xt_xmap.c.

Here is the caller graph for this function:

◆ xt_xmap_get_communicator()

MPI_Comm xt_xmap_get_communicator ( Xt_xmap  xmap)

gets the MPI communicator of the exchange map

Parameters
[in]xmapexchange map
Returns
MPI communicator of the exchange map

Definition at line 55 of file xt_xmap.c.

Here is the caller graph for this function:

◆ 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]xmapexchange map
[out]ranksranks of processes that will require data from the local process in an exchange operation
Remarks
the user needs to provide an array for ranks that is sufficient in size to store all ranks
Examples:
test_xmap_all2all_fail.c, test_xmap_common.c, and test_xmap_common_parallel.c.

Definition at line 70 of file xt_xmap.c.

◆ xt_xmap_get_in_iterator()

Xt_xmap_iter xt_xmap_get_in_iterator ( Xt_xmap  xmap)

gets an iterator for all local incoming messages of an exchange operation

Parameters
[in]xmapexchange map
Returns
iterator for all local incoming messages
is NULL if there are no local incoming messages
Examples:
test_xmap_intersection_parallel.c.

Definition at line 90 of file xt_xmap.c.

Here is the caller graph for this function:

◆ 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
[in]xmapexchange map
Returns
upper limit of range of positions in the destination list

Definition at line 138 of file xt_xmap.c.

Here is the caller graph for this function:

◆ 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
[in]xmapexchange map
Returns
upper limit of range of positions in the source list

Definition at line 134 of file xt_xmap.c.

Here is the caller graph for this function:

◆ 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
[in]xmapexchange map
Returns
number of processes that will require data from the local process in an exchange operation
Examples:
test_xmap_all2all_fail.c, test_xmap_common.c, test_xmap_common_parallel.c, and test_xmap_intersection_parallel.c.

Definition at line 60 of file xt_xmap.c.

Here is the caller graph for this function:

◆ 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
[in]xmapexchange map
Returns
number of prosses from which the local process will required data in an exchange operation
Examples:
test_xmap_all2all_fail.c, test_xmap_common.c, test_xmap_common_parallel.c, and test_xmap_intersection_parallel.c.

Definition at line 65 of file xt_xmap.c.

Here is the caller graph for this function:

◆ xt_xmap_get_out_iterator()

Xt_xmap_iter xt_xmap_get_out_iterator ( Xt_xmap  xmap)

gets an iterator for all local outgoing messages of an exchange operation

Parameters
[in]xmapexchange map
Returns
iterator for all local outgoing messages
is NULL if there are no local outgoing messages
Examples:
test_xmap_intersection_parallel.c.

Definition at line 95 of file xt_xmap.c.

Here is the caller graph for this function:

◆ 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]xmapexchange map
[out]ranksranks of processes from which the local process will required data in an exchange operation
Remarks
the user needs to provide an array for ranks that is sufficient in size to store all ranks
Examples:
test_xmap_all2all_fail.c, test_xmap_common.c, and test_xmap_common_parallel.c.

Definition at line 75 of file xt_xmap.c.

◆ xt_xmap_is_bijective()

int xt_xmap_is_bijective ( Xt_xmap  xmap)

inquiry function to check if the inverse is defined
this call is collective among of processes that are associated to the exchange map

Parameters
[in]xmapexchange map the is to be checked
Returns
returns != 0 if the exchange map is bijective

◆ xt_xmap_iterator_delete()

void xt_xmap_iterator_delete ( Xt_xmap_iter  iter)

destructor for an exchange map iterator

Parameters
[in]iterexchange map iterator
Examples:
test_xmap_intersection_parallel.c.

Definition at line 129 of file xt_xmap.c.

Here is the caller graph for this function:

◆ 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]iterexchange map iterator
Returns
number of positions returned by xt_xmap_iterator_get_transfer_pos for the current item
Examples:
test_xmap_intersection_parallel.c.

Definition at line 115 of file xt_xmap.c.

Here is the caller graph for this function:

◆ 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]iterexchange map iterator
Returns
number of positions returned by xt_xmap_iterator_get_transfer_pos_ext for the current item

Definition at line 125 of file xt_xmap.c.

Here is the caller graph for this function:

◆ xt_xmap_iterator_get_rank()

int xt_xmap_iterator_get_rank ( Xt_xmap_iter  iter)

gets the rank of the current item of an exchange map iterator

Parameters
[in]iterexchange map iterator
Returns
rank of the current item
Examples:
test_xmap_intersection_parallel.c.

Definition at line 105 of file xt_xmap.c.

Here is the caller graph for this function:

◆ 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]iterexchange map iterator
Returns
exchange list of the current item
Examples:
test_xmap_intersection_parallel.c.

Definition at line 110 of file xt_xmap.c.

Here is the caller graph for this function:

◆ xt_xmap_iterator_get_transfer_pos_ext()

const struct Xt_pos_ext* xt_xmap_iterator_get_transfer_pos_ext ( Xt_xmap_iter  iter)

get the position ranges of all element of the current item of an exchange map iterator as position extents

Parameters
[in]iterexchange map iterator
Returns
exchange list of the current item

Definition at line 121 of file xt_xmap.c.

Here is the caller graph for this function:

◆ xt_xmap_iterator_next()

int xt_xmap_iterator_next ( Xt_xmap_iter  iter)

sets an exchange map iterator to the next item

Parameters
[in,out]iterexchange map iterator
Returns
returns 0 if there was no further item
Examples:
test_xmap_intersection_parallel.c.

Definition at line 100 of file xt_xmap.c.

Here is the caller graph for this function: