Yet Another eXchange Tool 0.11.3
Loading...
Searching...
No Matches
Classes | Functions
xt_redist.h File Reference

redistribution of data More...

#include <mpi.h>
#include <xt/xt_core.h>
#include <xt/xt_request.h>
Include dependency graph for xt_redist.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Xt_redist_msg
 

Functions

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 *const src_data[], void *const dst_data[])
 
void xt_redist_a_exchange (Xt_redist redist, int num_arrays, const void *const src_data[], void *const dst_data[], Xt_request *request)
 
void xt_redist_s_exchange1 (Xt_redist redist, const void *src_data, void *dst_data)
 
void xt_redist_a_exchange1 (Xt_redist redist, const void *src_data, void *dst_data, Xt_request *request)
 
int xt_redist_get_num_send_msg (Xt_redist redist)
 
int xt_redist_get_num_recv_msg (Xt_redist redist)
 
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)
 

Detailed Description

redistribution of data

contains declaration the redistribution data structure, which is derived from one or more xt_xmaps

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

Definition in file xt_redist.h.

Function Documentation

◆ xt_redist_a_exchange()

void xt_redist_a_exchange ( Xt_redist redist,
int num_arrays,
const void *const src_data[],
void *const dst_data[],
Xt_request * request )

asynchronous redistribution of data

Parameters
[in]redistredistribution structure
[in]num_arraysnumber of base addresses in src_data and dst_data
[in]src_dataarray containing the addresses of the first elements of the input data
[in,out]dst_dataarray containing the addresses of the first elements of the output data
[out]requestpointer to a request object that can be used to complete an asynchronous exchange
Remarks
The above implies that NULL or any other invalid pointer must not be used in either src_data or dst_data.
See Also
Correct use of addresses
Examples
test_redist_common.c.
Here is the caller graph for this function:

◆ xt_redist_a_exchange1()

void xt_redist_a_exchange1 ( Xt_redist redist,
const void * src_data,
void * dst_data,
Xt_request * request )

asynchronous redistribution of data - single array case

Parameters
[in]redistredistribution structure
[in]src_dataaddress of the first element of the input data
[in,out]dst_dataaddress of the first element of the output data
[out]requestpointer to a request object that can be used to complete an asynchronous exchange
Remarks
The above implies that NULL or any other invalid pointer must not be used in either src_data or dst_data.
Examples
test_redist_common.c, test_redist_repeat.c, and test_redist_repeat_parallel.c.

Definition at line 97 of file xt_redist.c.

Here is the caller graph for this function:

◆ xt_redist_copy()

Xt_redist xt_redist_copy ( Xt_redist redist)

redist copy constructor

Parameters
[in,out]redistredistribution structure
Examples
test_redist_collection.c, test_redist_collection_parallel.c, test_redist_collection_static_parallel.c, and test_redist_p2p.c.

Definition at line 69 of file xt_redist.c.

Here is the caller graph for this function:

◆ xt_redist_delete()

void xt_redist_delete ( Xt_redist redist)

destructor

Parameters
[in,out]redistredistribution structure
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, and test_redist_repeat_parallel.c.

Definition at line 74 of file xt_redist.c.

Here is the caller graph for this function:

◆ xt_redist_get_MPI_Comm()

MPI_Comm xt_redist_get_MPI_Comm ( Xt_redist redist)

returns a MPI communicator, which the redistribution is based on

Parameters
[in]redistredistribution structure
Returns
MPI communicator, which the redistribution is based on
Examples
test_redist_collection.c, test_redist_collection_parallel.c, test_redist_collection_static.c, test_redist_collection_static_parallel.c, test_redist_common.c, test_redist_p2p.c, test_redist_p2p_parallel.c, test_redist_repeat.c, and test_redist_repeat_parallel.c.

Definition at line 130 of file xt_redist.c.

Here is the caller graph for this function:

◆ xt_redist_get_num_recv_msg()

int xt_redist_get_num_recv_msg ( Xt_redist redist)

gets the number of messages received by the local process in an exchange operation

Parameters
[in]redistredistribution structure
Returns
number of messages received in the exchange operation

Definition at line 108 of file xt_redist.c.

Here is the caller graph for this function:

◆ xt_redist_get_num_send_msg()

int xt_redist_get_num_send_msg ( Xt_redist redist)

gets the number of messages send from the local process in an exchange operation

Parameters
[in]redistredistribution structure
Returns
number of messages sent in the exchange operation

Definition at line 103 of file xt_redist.c.

Here is the caller graph for this function:

◆ 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]redistredistribution structure
[in]rankMPI rank
Returns
MPI_Datatype for the data of the recv operation with the given rank
Remarks
returns MPI_DATATYPE_NULL if there is no recv operation with the given rank

Definition at line 118 of file xt_redist.c.

Here is the caller graph for this function:

◆ 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]redistredistribution structure
[in]rankMPI rank
Returns
MPI_Datatype for the data of the send operation with the given rank
Remarks
returns MPI_DATATYPE_NULL if there is no send operation with the given rank

Definition at line 113 of file xt_redist.c.

Here is the caller graph for this function:

◆ xt_redist_s_exchange()

void xt_redist_s_exchange ( Xt_redist redist,
int num_arrays,
const void *const src_data[],
void *const dst_data[] )

synchronous redistribution of data

Parameters
[in]redistredistribution structure
[in]num_arraysnumber of base addresses in src_data and dst_data
[in]src_dataarray containing the addresses of the first elements of the input data
[in,out]dst_dataarray containing the addresses of the first elements of the output data
Remarks
The above implies that NULL or any other invalid pointer must not be used in either src_data or dst_data.
See Also
Correct use of addresses
Examples
test_redist_collection_parallel.c, and test_redist_common.c.

Definition at line 79 of file xt_redist.c.

Here is the caller graph for this function:

◆ 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]redistredistribution structure
[in]src_dataaddress of the first element of the input data
[in,out]dst_dataaddress of the first element of the output data
Remarks
The above implies that NULL or any other invalid pointer must not be used in either src_data or dst_data.
Examples
rrobin.c, test_redist_collection.c, test_redist_collection_static_parallel.c, test_redist_repeat.c, and test_redist_repeat_parallel.c.

Definition at line 92 of file xt_redist.c.

Here is the caller graph for this function: