169 MPI_Group c_domain_group;
260cs_halo_create_from_rank_neighbors(
const cs_rank_neighbors_t *rn,
263 const int elt_rank_id[],
423#if defined(HAVE_ACCEL)
448cs_halo_sync_pack_d(
const cs_halo_t *halo,
526#if defined(HAVE_ACCEL)
721#if defined(__cplusplus)
752template <
int Str
ide,
typename T>
783template <
int Str
ide,
typename T>
const size_t cs_datatype_size[]
Definition cs_defs.cpp:133
cs_datatype_t
Definition cs_defs.h:300
#define BEGIN_C_DECLS
Definition cs_defs.h:542
double cs_real_t
Floating-point value.
Definition cs_defs.h:342
#define END_C_DECLS
Definition cs_defs.h:543
int cs_lnum_t
local mesh entity id
Definition cs_defs.h:335
void cs_halo_sync_r(const cs_halo_t *halo, cs_halo_type_t sync_mode, bool on_device, T val[][3])
Update ghost cell values of a spatial vector field, including rotational periodicity if present.
Definition cs_halo.cpp:2528
bool cs_halo_get_use_barrier(void)
Definition cs_halo.cpp:2123
void cs_halo_sync_pack(const cs_halo_t *halo, cs_halo_type_t sync_mode, cs_datatype_t data_type, int stride, void *val, void *send_buf, cs_halo_state_t *hs)
Pack halo data to send into dense buffer.
Definition cs_halo.cpp:1491
cs_halo_state_t * cs_halo_state_create(void)
Create a halo state structure.
Definition cs_halo.cpp:1122
cs_halo_comm_mode_t
Definition cs_halo.h:66
@ CS_HALO_COMM_P2P
Definition cs_halo.h:68
@ CS_HALO_COMM_RMA_GET
Definition cs_halo.h:69
void cs_halo_state_destroy(cs_halo_state_t **halo_state)
Destroy a halo state structure.
Definition cs_halo.cpp:1165
void cs_halo_sync_start(const cs_halo_t *halo, void *val, cs_halo_state_t *hs)
Launch update array of values in case of parallelism or periodicity.
Definition cs_halo.cpp:1704
cs_halo_comm_mode_t cs_halo_get_comm_mode(void)
Get default communication mode for halo exchange.
Definition cs_halo.cpp:2151
void cs_halo_sync(const cs_halo_t *halo, cs_halo_type_t sync_mode, cs_datatype_t data_type, int stride, void *val)
Update array of values in case of parallelism or periodicity.
Definition cs_halo.cpp:1951
void cs_halo_set_comm_mode(cs_halo_comm_mode_t mode)
Set default communication mode for halo exchange.
Definition cs_halo.cpp:2165
cs_alloc_mode_t cs_halo_get_buffer_alloc_mode(void)
Get default host/device allocation mode for message packing arrays.
Definition cs_halo.cpp:2180
static size_t cs_halo_pack_size(const cs_halo_t *halo, cs_datatype_t data_type, int stride)
Compute required size for packing send data into dense buffer.
Definition cs_halo.h:326
void cs_halo_renumber_cells(cs_halo_t *halo, const cs_lnum_t new_cell_id[])
Definition cs_halo.cpp:1214
cs_halo_t * cs_halo_create_from_ref(const cs_halo_t *ref)
Create a halo structure, given a reference halo.
Definition cs_halo.cpp:751
void cs_halo_dump(const cs_halo_t *halo, int print_level)
Definition cs_halo.cpp:2209
cs_halo_t * cs_halo_create(const cs_interface_set_t *ifs)
Create a halo structure given an interface set.
Definition cs_halo.cpp:498
void cs_halo_sync_wait(const cs_halo_t *halo, void *val, cs_halo_state_t *hs)
Wait for completion of update array of values in case of parallelism or periodicity.
Definition cs_halo.cpp:1866
void cs_halo_set_use_barrier(bool use_barrier)
Definition cs_halo.cpp:2137
cs_halo_type_t
Definition cs_halo.h:56
@ CS_HALO_N_TYPES
Definition cs_halo.h:60
@ CS_HALO_STANDARD
Definition cs_halo.h:58
@ CS_HALO_EXTENDED
Definition cs_halo.h:59
void * cs_halo_sync_pack_init_state(const cs_halo_t *halo, cs_halo_type_t sync_mode, cs_datatype_t data_type, int stride, void *send_buf, cs_halo_state_t *hs)
Initialize halo state prior to packing halo data to send.
Definition cs_halo.cpp:1400
void cs_halo_create_complete(cs_halo_t *halo)
Ready halo for use.
Definition cs_halo.cpp:643
void cs_halo_sync_untyped(const cs_halo_t *halo, cs_halo_type_t sync_mode, size_t size, void *val)
Definition cs_halo.cpp:2039
cs_halo_state_t * cs_halo_state_get_default(void)
Get pointer to default halo state structure.
Definition cs_halo.cpp:1200
void cs_halo_set_buffer_alloc_mode(cs_alloc_mode_t mode)
Set default host/device allocation mode for message packing arrays.
Definition cs_halo.cpp:2194
void cs_halo_sync_var(const cs_halo_t *halo, cs_halo_type_t sync_mode, cs_real_t var[])
Definition cs_halo.cpp:2083
void cs_halo_sync_num(const cs_halo_t *halo, cs_halo_type_t sync_mode, cs_lnum_t num[])
Definition cs_halo.cpp:2061
void cs_halo_renumber_ghost_cells(cs_halo_t *halo, const cs_lnum_t old_cell_id[])
Definition cs_halo.cpp:1238
void cs_halo_sync_var_strided(const cs_halo_t *halo, cs_halo_type_t sync_mode, cs_real_t var[], int stride)
Definition cs_halo.cpp:2106
void cs_halo_destroy(cs_halo_t **halo)
Definition cs_halo.cpp:1075
struct _cs_halo_state_t cs_halo_state_t
Definition cs_halo.h:178
struct _cs_interface_set_t cs_interface_set_t
Definition cs_interface.h:61
cs_alloc_mode_t
Definition cs_mem.h:50
struct _fvm_periodicity_t fvm_periodicity_t
Definition fvm_periodicity.h:67
int n_transforms
Definition cs_halo.h:80
cs_lnum_t * index
Definition cs_halo.h:124
cs_lnum_t * send_list
Definition cs_halo.h:98
cs_lnum_t * send_index
Definition cs_halo.h:101
int n_rotations
Definition cs_halo.h:87
cs_lnum_t * std_send_blocks
Definition cs_halo.h:115
cs_lnum_t n_local_elts
Definition cs_halo.h:90
cs_lnum_t n_std_send_blocks
Definition cs_halo.h:113
int n_c_domains
Definition cs_halo.h:79
int * c_domain_rank
Definition cs_halo.h:82
cs_lnum_t * perio_lst
Definition cs_halo.h:129
cs_lnum_t std_send_block_size
Definition cs_halo.h:112
cs_lnum_t * send_perio_lst
Definition cs_halo.h:106
const fvm_periodicity_t * periodicity
Definition cs_halo.h:84
cs_lnum_t n_send_elts[2]
Definition cs_halo.h:94
cs_lnum_t n_elts[2]
Definition cs_halo.h:120