#include "base/cs_block_dist.h"
#include "base/cs_defs.h"
#include "base/cs_parall.h"
#include "base/cs_rank_neighbors.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. | |
void | cs_all_to_all_set_type (cs_all_to_all_type_t t) |
Set current type of all-to-all distributor algorithm choice. | |
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. | |
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. | |
void | cs_all_to_all_log_finalize (void) |
Log performance information relative to instrumented all-to-all distribution. |
#define CS_ALL_TO_ALL_NEED_SRC_RANK (1 << 3) |
#define CS_ALL_TO_ALL_NO_REVERSE (1 << 2) |
#define CS_ALL_TO_ALL_ORDER_BY_SRC_RANK (1 << 1) |
#define CS_ALL_TO_ALL_USE_DEST_ID (1 << 0) |
All-to-all distributor ordering and metadata flags.
enum 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 flagsFlags 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. |
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.
[out] | rne_type | type of metadata exchange algorithm, or NULL |
[out] | rne_type | type of metadata exchange algorithm, or nullptr |
cs_all_to_all_type_t cs_all_to_all_get_type | ( | void | ) |
Get current type of all-to-all distributor algorithm choice.
void cs_all_to_all_log_finalize | ( | void | ) |
Log performance information relative to instrumented all-to-all distribution.
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.
[in] | rne_type | type of metadata exchange algorithm |
void cs_all_to_all_set_type | ( | cs_all_to_all_type_t | t | ) |
Set current type of all-to-all distributor algorithm choice.
t | type of all-to-all distributor algorithm choice to select |