1 #ifndef __CS_ALL_TO_ALL_H__
2 #define __CS_ALL_TO_ALL_H__
54 #define CS_ALL_TO_ALL_USE_DEST_ID (1 << 0)
55 #define CS_ALL_TO_ALL_ORDER_BY_SRC_RANK (1 << 1)
57 #define CS_ALL_TO_ALL_NO_REVERSE (1 << 2)
58 #define CS_ALL_TO_ALL_NEED_SRC_RANK (1 << 3)
78 typedef struct _cs_all_to_all_t cs_all_to_all_t;
125 cs_all_to_all_create(
size_t n_elts,
128 const int dest_rank[],
156 cs_all_to_all_create_from_block(
size_t n_elts,
171 cs_all_to_all_destroy(cs_all_to_all_t **d);
186 cs_all_to_all_transfer_dest_rank(cs_all_to_all_t *d,
203 cs_all_to_all_transfer_dest_id(cs_all_to_all_t *d,
222 cs_all_to_all_n_elts_dest(cs_all_to_all_t *d);
254 cs_all_to_all_copy_array(cs_all_to_all_t *d,
258 const void *src_data,
288 cs_all_to_all_copy_index(cs_all_to_all_t *d,
324 cs_all_to_all_copy_indexed(cs_all_to_all_t *d,
328 const void *src_data,
358 cs_all_to_all_get_src_rank(cs_all_to_all_t *d);
void cs_all_to_all_set_type(cs_all_to_all_type_t t)
Set current type of all-to-all distributor algorithm choice.
Definition: cs_all_to_all.c:3553
cs_all_to_all_type_t cs_all_to_all_get_type(void)
Get current type of all-to-all distributor algorithm choice.
Definition: cs_all_to_all.c:3510
void cs_all_to_all_log_finalize(void)
Log performance information relative to instrumented all-to-all distribution.
Definition: cs_all_to_all.c:3566
cs_all_to_all_type_t
Definition: cs_all_to_all.h:66
@ CS_ALL_TO_ALL_MPI_DEFAULT
Definition: cs_all_to_all.h:68
@ CS_ALL_TO_ALL_HYBRID
Definition: cs_all_to_all.h:69
@ CS_ALL_TO_ALL_CRYSTAL_ROUTER
Definition: cs_all_to_all.h:70
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.
Definition: cs_all_to_all.c:3539
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.
Definition: cs_all_to_all.c:3524
cs_datatype_t
Definition: cs_defs.h:272
#define BEGIN_C_DECLS
Definition: cs_defs.h:509
unsigned long cs_gnum_t
global mesh entity number
Definition: cs_defs.h:298
#define END_C_DECLS
Definition: cs_defs.h:510
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:313
@ t
Definition: cs_field_pointer.h:92
cs_rank_neighbors_exchange_t
Definition: cs_rank_neighbors.h:55
Definition: cs_block_dist.h:50