Yet Another eXchange Tool 0.11.1
Loading...
Searching...
No Matches
Functions
xt_redist_p2p.h File Reference
#include <mpi.h>
#include "xt/xt_core.h"
#include "xt/xt_xmap.h"
#include "xt/xt_redist.h"
#include "xt/xt_config.h"
Include dependency graph for xt_redist_p2p.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

Xt_redist xt_redist_p2p_new (Xt_xmap xmap, MPI_Datatype datatype)
 
Xt_redist xt_redist_p2p_custom_new (Xt_xmap xmap, MPI_Datatype datatype, Xt_config config)
 
Xt_redist xt_redist_p2p_off_new (Xt_xmap xmap, const int *src_offsets, const int *dst_offsets, MPI_Datatype datatype)
 
Xt_redist xt_redist_p2p_off_custom_new (Xt_xmap xmap, const int *src_offsets, const int *dst_offsets, MPI_Datatype datatype, Xt_config config)
 
Xt_redist xt_redist_p2p_ext_new (Xt_xmap xmap, int num_src_ext, const struct Xt_offset_ext src_extents[], int num_dst_ext, const struct Xt_offset_ext dst_extents[], MPI_Datatype datatype)
 
Xt_redist xt_redist_p2p_ext_custom_new (Xt_xmap xmap, int num_src_ext, const struct Xt_offset_ext src_extents[], int num_dst_ext, const struct Xt_offset_ext dst_extents[], MPI_Datatype datatype, Xt_config config)
 
Xt_redist xt_redist_p2p_aext_new (Xt_xmap xmap, int num_src_ext, const struct Xt_aoffset_ext src_extents[], int num_dst_ext, const struct Xt_aoffset_ext dst_extents[], MPI_Datatype datatype)
 
Xt_redist xt_redist_p2p_aext_custom_new (Xt_xmap xmap, int num_src_ext, const struct Xt_aoffset_ext src_extents[], int num_dst_ext, const struct Xt_aoffset_ext dst_extents[], MPI_Datatype datatype, Xt_config config)
 
Xt_redist xt_redist_p2p_blocks_off_new (Xt_xmap xmap, const int *src_block_offsets, const int *src_block_sizes, int src_block_num, const int *dst_block_offsets, const int *dst_block_sizes, int dst_block_num, MPI_Datatype datatype)
 
Xt_redist xt_redist_p2p_blocks_off_custom_new (Xt_xmap xmap, const int *src_block_offsets, const int *src_block_sizes, int src_block_num, const int *dst_block_offsets, const int *dst_block_sizes, int dst_block_num, MPI_Datatype datatype, Xt_config config)
 
Xt_redist xt_redist_p2p_blocks_new (Xt_xmap xmap, const int *src_block_sizes, int src_block_num, const int *dst_block_sizes, int dst_block_num, MPI_Datatype datatype)
 
Xt_redist xt_redist_p2p_blocks_custom_new (Xt_xmap xmap, const int *src_block_sizes, int src_block_num, const int *dst_block_sizes, int dst_block_num, MPI_Datatype datatype, Xt_config config)
 

Detailed Description

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_p2p.h.

Function Documentation

◆ xt_redist_p2p_aext_custom_new()

Xt_redist xt_redist_p2p_aext_custom_new ( Xt_xmap  xmap,
int  num_src_ext,
const struct Xt_aoffset_ext  src_extents[],
int  num_dst_ext,
const struct Xt_aoffset_ext  dst_extents[],
MPI_Datatype  datatype,
Xt_config  config 
)

constructor for a redistribution using point to point communication for the exchange. Uses custom settings.

Parameters
[in]xmapexchange map
[in]num_src_extnumber of source extents
[in]src_extentsarray of extents describing byte offsets for every element of the index lists composing the xmap, i.e. { 16, 5, 4 } denotes 5 offsets, namely 16, 20, 24, 28, 32
[in]num_dst_extnumber of destination extents
[in]dst_extentsarray of extents analogous to src_extents
[in]datatypeMPI datatype of single element in the data to be exchanged
[in]configconfiguration object for custom settings
Examples
test_redist_p2p.c.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ xt_redist_p2p_aext_new()

Xt_redist xt_redist_p2p_aext_new ( Xt_xmap  xmap,
int  num_src_ext,
const struct Xt_aoffset_ext  src_extents[],
int  num_dst_ext,
const struct Xt_aoffset_ext  dst_extents[],
MPI_Datatype  datatype 
)

constructor for a redistribution using point to point communication for the exchange. Uses default settings.

Parameters
[in]xmapexchange map
[in]num_src_extnumber of source extents
[in]src_extentsarray of extents describing byte offsets for every element of the index lists composing the xmap, i.e. { 16, 5, 4 } denotes 5 offsets, namely 16, 20, 24, 28, 32
[in]num_dst_extnumber of destination extents
[in]dst_extentsarray of extents analogous to src_extents
[in]datatypeMPI datatype of single element in the data to be exchanged
Here is the call graph for this function:
Here is the caller graph for this function:

◆ xt_redist_p2p_blocks_custom_new()

Xt_redist xt_redist_p2p_blocks_custom_new ( Xt_xmap  xmap,
const int *  src_block_sizes,
int  src_block_num,
const int *  dst_block_sizes,
int  dst_block_num,
MPI_Datatype  datatype,
Xt_config  config 
)

constructor for a redistribution using point to point communication for the exchange, special case: blocks without explicit offsets

Parameters
[in]xmapexchange map
[in]src_block_sizessource block lengths in unit of elements
[in]src_block_numnumber of src blocks
[in]dst_block_sizesdestination block lengths in unit of elements
[in]dst_block_numnumber of dst blocks
[in]datatypeMPI datatype of a single element in data space, all elements have the same
[in]configconfiguration object for custom settings
Remarks
calls xt_redist_p2p_blocks_off_new with NULL offsets

Definition at line 506 of file xt_redist_p2p.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ xt_redist_p2p_blocks_new()

Xt_redist xt_redist_p2p_blocks_new ( Xt_xmap  xmap,
const int *  src_block_sizes,
int  src_block_num,
const int *  dst_block_sizes,
int  dst_block_num,
MPI_Datatype  datatype 
)

constructor for a redistribution using point to point communication for the exchange, special case: blocks without explicit offsets

Parameters
[in]xmapexchange map
[in]src_block_sizessource block lengths in unit of elements
[in]src_block_numnumber of src blocks
[in]dst_block_sizesdestination block lengths in unit of elements
[in]dst_block_numnumber of dst blocks
[in]datatypeMPI datatype of a single element in data space, all elements have the same
Remarks
calls xt_redist_p2p_blocks_off_new with NULL offsets

Definition at line 493 of file xt_redist_p2p.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ xt_redist_p2p_blocks_off_custom_new()

Xt_redist xt_redist_p2p_blocks_off_custom_new ( Xt_xmap  xmap,
const int *  src_block_offsets,
const int *  src_block_sizes,
int  src_block_num,
const int *  dst_block_offsets,
const int *  dst_block_sizes,
int  dst_block_num,
MPI_Datatype  datatype,
Xt_config  config 
)

constructor for a redistribution using point to point communication for the exchange, special case: elements (which correspond to each idxlist element) are blocks of variable length with corresponding offsets, therefore src_block_num and dst_block_num must match the lengths of the src/dst index lists used for the construction of xmap. Uses custom settings.

Parameters
[in]xmapexchange map
[in]src_block_offsetsarray containing for all source index space positions of xmap the offsets for blocks in data space
[in]src_block_sizessource block lengths in unit of elements
[in]src_block_numnumber of src blocks
[in]dst_block_offsetsarray containing for all destination index space positions of xmap the offsets for blocks in data space
[in]dst_block_sizesdestination block lengths in unit of elements
[in]dst_block_numnumber of dst blocks
[in]datatypeMPI datatype of a single element in data space, all elements have the same
[in]configconfiguration object for custom settings
Remarks
NULL offsets arguments mean: use zero based prefix sum of block sizes as effective offsets

Definition at line 425 of file xt_redist_p2p.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ xt_redist_p2p_blocks_off_new()

Xt_redist xt_redist_p2p_blocks_off_new ( Xt_xmap  xmap,
const int *  src_block_offsets,
const int *  src_block_sizes,
int  src_block_num,
const int *  dst_block_offsets,
const int *  dst_block_sizes,
int  dst_block_num,
MPI_Datatype  datatype 
)

constructor for a redistribution using point to point communication for the exchange, special case: elements (which correspond to each idxlist element) are blocks of variable length with corresponding offsets, therefore src_block_num and dst_block_num must match the lengths of the src/dst index lists used for the construction of xmap

Parameters
[in]xmapexchange map
[in]src_block_offsetsarray containing for all source index space positions of xmap the offsets for blocks in data space
[in]src_block_sizessource block lengths in unit of elements
[in]src_block_numnumber of src blocks
[in]dst_block_offsetsarray containing for all destination index space positions of xmap the offsets for blocks in data space
[in]dst_block_sizesdestination block lengths in unit of elements
[in]dst_block_numnumber of dst blocks
[in]datatypeMPI datatype of a single element in data space, all elements have the same
Remarks
NULL offsets arguments mean: use zero based prefix sum of block sizes as effective offsets

Definition at line 409 of file xt_redist_p2p.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ xt_redist_p2p_custom_new()

Xt_redist xt_redist_p2p_custom_new ( Xt_xmap  xmap,
MPI_Datatype  datatype,
Xt_config  config 
)

constructor for a redistribution using point to point communication for the exchange. Uses custom settings.

Parameters
[in]xmapexchange map
[in]datatypeMPI datatype of single element in the data to be exchanged
[in]configconfiguration object for custom settings

Definition at line 525 of file xt_redist_p2p.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ xt_redist_p2p_ext_custom_new()

Xt_redist xt_redist_p2p_ext_custom_new ( Xt_xmap  xmap,
int  num_src_ext,
const struct Xt_offset_ext  src_extents[],
int  num_dst_ext,
const struct Xt_offset_ext  dst_extents[],
MPI_Datatype  datatype,
Xt_config  config 
)

constructor for a redistribution using point to point communication for the exchange. Uses custom settings.

Parameters
[in]xmapexchange map
[in]num_src_extnumber of source extents
[in]src_extentsarray of extents describing offsets for every element of the index lists composing the xmap, i.e. { 10, 5, 1 } denotes 5 offsets, namely 10, 11, 12, 13, 14
[in]num_dst_extnumber of destination extents
[in]dst_extentsarray of extents analogous to src_extents
[in]datatypeMPI datatype of single element in the data to be exchanged
[in]configconfiguration object for custom settings
Examples
test_redist_p2p.c.
Here is the caller graph for this function:

◆ xt_redist_p2p_ext_new()

Xt_redist xt_redist_p2p_ext_new ( Xt_xmap  xmap,
int  num_src_ext,
const struct Xt_offset_ext  src_extents[],
int  num_dst_ext,
const struct Xt_offset_ext  dst_extents[],
MPI_Datatype  datatype 
)

constructor for a redistribution using point to point communication for the exchange. Uses default settings.

Parameters
[in]xmapexchange map
[in]num_src_extnumber of source extents
[in]src_extentsarray of extents describing offsets for every element of the index lists composing the xmap, i.e. { 10, 5, 1 } denotes 5 offsets, namely 10, 11, 12, 13, 14
[in]num_dst_extnumber of destination extents
[in]dst_extentsarray of extents analogous to src_extents
[in]datatypeMPI datatype of single element in the data to be exchanged
Here is the call graph for this function:
Here is the caller graph for this function:

◆ xt_redist_p2p_new()

Xt_redist xt_redist_p2p_new ( Xt_xmap  xmap,
MPI_Datatype  datatype 
)

constructor for a redistribution using point to point communication for the exchange. Uses default settings.

Parameters
[in]xmapexchange map
[in]datatypeMPI datatype of single element in the data to be exchanged

Definition at line 518 of file xt_redist_p2p.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ xt_redist_p2p_off_custom_new()

Xt_redist xt_redist_p2p_off_custom_new ( Xt_xmap  xmap,
const int *  src_offsets,
const int *  dst_offsets,
MPI_Datatype  datatype,
Xt_config  config 
)

constructor for a redistribution using point to point communication for the exchange. Uses custom settings.

Parameters
[in]xmapexchange map
[in]src_offsetsarray containing for all elements in the source index list passed to the exchange map the position of the respective element in the input array passed to the exchange routine
[in]dst_offsetsarray containing for all elements in the destination index list passed to the exchange map the position of the respective element in the output array passed to the exchange routine
[in]datatypeMPI datatype of single element in the data to be exchanged
[in]configconfiguration object for custom settings

Definition at line 239 of file xt_redist_p2p.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ xt_redist_p2p_off_new()

Xt_redist xt_redist_p2p_off_new ( Xt_xmap  xmap,
const int *  src_offsets,
const int *  dst_offsets,
MPI_Datatype  datatype 
)

constructor for a redistribution using point to point communication for the exchange. Uses default settings.

Parameters
[in]xmapexchange map
[in]src_offsetsarray containing for all elements in the source index list passed to the exchange map the position of the respective element in the input array passed to the exchange routine
[in]dst_offsetsarray containing for all elements in the destination index list passed to the exchange map the position of the respective element in the output array passed to the exchange routine
[in]datatypeMPI datatype of single element in the data to be exchanged

Definition at line 231 of file xt_redist_p2p.c.

Here is the call graph for this function:
Here is the caller graph for this function: