1 #ifndef __CS_ALL_TO_ALL_H__
2 #define __CS_ALL_TO_ALL_H__
96 const int dest_rank[],
134 const int dest_rank[],
249 unsigned char **data);
cs_datatype_t
Definition: cs_defs.h:255
unsigned long cs_gnum_t
global mesh entity number
Definition: cs_defs.h:280
Definition: cs_all_to_all.h:57
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:1984
cs_lnum_t cs_all_to_all_n_elts(const cs_all_to_all_t *d)
Get number of elements associated with all-to-all distributor.
Definition: cs_all_to_all.c:1593
Definition: cs_block_dist.h:50
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:1970
#define BEGIN_C_DECLS
Definition: cs_defs.h:419
cs_all_to_all_t * cs_all_to_all_create_with_ids_s(size_t n_elts, int stride, cs_datatype_t datatype, cs_datatype_t dest_id_datatype, bool add_src_id, const void *elt, const void *dest_id, const int dest_rank[], MPI_Comm comm)
Create an all-to-all distributor for strided data with additional metadata.
Definition: cs_all_to_all.c:1327
cs_all_to_all_type_t
All-to-all algorithm selection.
Definition: cs_all_to_all.h:55
void cs_all_to_all_get_id_pointers(cs_all_to_all_t *d, size_t *id_stride, cs_lnum_t **dest_id, cs_lnum_t **src_id)
Get pointer to source or destination rank element ids associated with an all-to-all distributor...
Definition: cs_all_to_all.c:1840
void cs_all_to_all_log_finalize(void)
Log performance information relative to instrumented all-to-all distribution.
Definition: cs_all_to_all.c:1997
void cs_all_to_all_destroy(cs_all_to_all_t **d)
Destroy an all-to-all distributor.
Definition: cs_all_to_all.c:1495
Definition: cs_all_to_all.h:58
cs_all_to_all_t * cs_all_to_all_create_s(size_t n_elts, int stride, cs_datatype_t datatype, const void *elt, const int dest_rank[], MPI_Comm comm)
Create an all-to-all distributor for strided data.
Definition: cs_all_to_all.c:1236
void cs_all_to_all_get_rank_pointers(cs_all_to_all_t *d, size_t *rank_stride, int **src_rank, int **dest_rank)
Get pointer to ranks of elements associated with an all-to-all distributor.
Definition: cs_all_to_all.c:1744
void cs_all_to_all_exchange(cs_all_to_all_t *d)
Exchange data with an all-to-all distributor.
Definition: cs_all_to_all.c:1530
void cs_all_to_all_get_gnum_pointer(cs_all_to_all_t *d, size_t *gnum_stride, cs_gnum_t **gnum)
Get pointer to element global numbers associated with an all-to-all distributor.
Definition: cs_all_to_all.c:1921
void cs_all_to_all_sort_by_source_rank(cs_all_to_all_t *d)
Sort stride crystal router data by source rank.
Definition: cs_all_to_all.c:1562
void cs_all_to_all_get_data_pointer(cs_all_to_all_t *d, size_t *data_stride, unsigned char **data)
Get pointer to data elements associated with an all-to-all distributor.
Definition: cs_all_to_all.c:1691
void cs_all_to_all_swap_src_dest(cs_all_to_all_t *d)
Swap source and destination ranks of all-to-all distributor.
Definition: cs_all_to_all.c:1616
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:292
#define END_C_DECLS
Definition: cs_defs.h:420
Definition: cs_field_pointer.h:92
struct _cs_all_to_all_t cs_all_to_all_t
Definition: cs_all_to_all.h:66
cs_all_to_all_t * cs_all_to_all_create_from_block_s(size_t n_elts, int stride, cs_datatype_t datatype, cs_datatype_t dest_id_datatype, bool add_src_id, const void *elt, const cs_gnum_t *elt_gnum, cs_block_dist_info_t bi, MPI_Comm comm)
Create an all-to-all distributor for strided data with additional metadata, with destination rank det...
Definition: cs_all_to_all.c:1422