1 #ifndef __CS_CRYSTAL_ROUTER_H__
2 #define __CS_CRYSTAL_ROUTER_H__
53 #define CS_CRYSTAL_ROUTER_USE_DEST_ID (1 << 0)
55 #define CS_CRYSTAL_ROUTER_ADD_SRC_ID (1 << 1)
56 #define CS_CRYSTAL_ROUTER_ADD_SRC_RANK (1 << 2)
66 typedef struct _cs_crystal_router_t cs_crystal_router_t;
105 cs_crystal_router_t *
106 cs_crystal_router_create_s(
size_t n_elts,
113 const int dest_rank[],
145 cs_crystal_router_t *
146 cs_crystal_router_create_i(
size_t n_elts,
153 const int dest_rank[],
165 cs_crystal_router_destroy(cs_crystal_router_t **cr);
178 cs_crystal_router_exchange(cs_crystal_router_t *cr);
193 cs_crystal_router_n_elts(
const cs_crystal_router_t *cr);
213 cs_crystal_router_n_recv_elts(
const cs_crystal_router_t *cr);
262 cs_crystal_router_get_data(cs_crystal_router_t *cr,
284 cs_crystal_router_get_max_sizes(cs_crystal_router_t *cr,
void cs_crystal_router_log_finalize(void)
Log performance information relative to Crystal Router exchange.
Definition: cs_crystal_router.c:2209
cs_datatype_t
Definition: cs_defs.h:272
#define BEGIN_C_DECLS
Definition: cs_defs.h:509
#define END_C_DECLS
Definition: cs_defs.h:510
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:313