8.2
general documentation
cs_all_to_all.h File Reference
#include "cs_defs.h"
#include "cs_block_dist.h"
#include "cs_rank_neighbors.h"
+ Include dependency graph for cs_all_to_all.h:

Go to the source code of this file.

Macros

#define CS_ALL_TO_ALL_USE_DEST_ID   (1 << 0)
 
#define CS_ALL_TO_ALL_ORDER_BY_SRC_RANK   (1 << 1)
 
#define CS_ALL_TO_ALL_NO_REVERSE   (1 << 2)
 
#define CS_ALL_TO_ALL_NEED_SRC_RANK   (1 << 3)
 

Enumerations

enum  cs_all_to_all_type_t { CS_ALL_TO_ALL_MPI_DEFAULT , CS_ALL_TO_ALL_HYBRID , CS_ALL_TO_ALL_CRYSTAL_ROUTER }
 

Functions

cs_all_to_all_type_t cs_all_to_all_get_type (void)
 Get current type of all-to-all distributor algorithm choice. More...
 
void cs_all_to_all_set_type (cs_all_to_all_type_t t)
 Set current type of all-to-all distributor algorithm choice. More...
 
void cs_all_to_all_get_hybrid_parameters (cs_rank_neighbors_exchange_t *rne_type)
 Get current type of hybrid all-to-all distributor parameters. More...
 
void cs_all_to_all_set_hybrid_parameters (cs_rank_neighbors_exchange_t rne_type)
 Set current type of all-to-all distributor algorithm choice. More...
 
void cs_all_to_all_log_finalize (void)
 Log performance information relative to instrumented all-to-all distribution. More...
 

Macro Definition Documentation

◆ CS_ALL_TO_ALL_NEED_SRC_RANK

#define CS_ALL_TO_ALL_NEED_SRC_RANK   (1 << 3)

◆ CS_ALL_TO_ALL_NO_REVERSE

#define CS_ALL_TO_ALL_NO_REVERSE   (1 << 2)

◆ CS_ALL_TO_ALL_ORDER_BY_SRC_RANK

#define CS_ALL_TO_ALL_ORDER_BY_SRC_RANK   (1 << 1)

◆ CS_ALL_TO_ALL_USE_DEST_ID

#define CS_ALL_TO_ALL_USE_DEST_ID   (1 << 0)

All-to-all distributor ordering and metadata flags.

Enumeration Type Documentation

◆ cs_all_to_all_type_t

Enumerator
CS_ALL_TO_ALL_MPI_DEFAULT 

Use MPI_Alltoall and MPI_Alltoallv sequences

CS_ALL_TO_ALL_HYBRID 
CS_ALL_TO_ALL_CRYSTAL_ROUTER 

Use crystal router algorithm

Using flags

Flags are defined as a sum (bitwise or) of constants, which may include CS_ALL_TO_ALL_USE_DEST_ID, CS_ALL_TO_ALL_ORDER_BY_SRC_RANK, CS_ALL_TO_ALL_NO_REVERSE, and CS_ALL_TO_ALL_NEED_SRC_RANK.

Function Documentation

◆ cs_all_to_all_get_hybrid_parameters()

void cs_all_to_all_get_hybrid_parameters ( cs_rank_neighbors_exchange_t rne_type)

Get current type of hybrid all-to-all distributor parameters.

Parameters
[out]rne_typetype of metadata exchange algorithm, or NULL

◆ cs_all_to_all_get_type()

cs_all_to_all_type_t cs_all_to_all_get_type ( void  )

Get current type of all-to-all distributor algorithm choice.

Returns
current type of all-to-all distributor algorithm choice

◆ cs_all_to_all_log_finalize()

void cs_all_to_all_log_finalize ( void  )

Log performance information relative to instrumented all-to-all distribution.

◆ cs_all_to_all_set_hybrid_parameters()

void cs_all_to_all_set_hybrid_parameters ( cs_rank_neighbors_exchange_t  rne_type)

Set current type of all-to-all distributor algorithm choice.

Parameters
[in]rne_typetype of metadata exchange algorithm

◆ cs_all_to_all_set_type()

void cs_all_to_all_set_type ( cs_all_to_all_type_t  t)

Set current type of all-to-all distributor algorithm choice.

Parameters
ttype of all-to-all distributor algorithm choice to select