void(* backend_func_wait)(t_mpi_exchange *)
Definition: exchange.h:62
void(* backend_func_go)(t_exchange *, t_exchange *, t_map *, t_kernels *, t_mpi_exchange *, t_wait *, void *, void *, int *, int *)
Definition: exchange.h:77
void exchanger_go_with_transform(t_exchanger *exchanger, void *src_data, void *dst_data, int *transform_src, int *transform_dst)
Arbitrary exchange given a map with transformation of memory layout.
void delete_exchanger(t_exchanger *exchanger)
Clean memory of a t_exchanger structure.
t_exchanger * new_exchanger(t_map *map, MPI_Datatype type, distdir_hardware hw)
Create a new t_exchanger structure.
void exchanger_go(t_exchanger *exchanger, void *src_data, void *dst_data)
Arbitrary exchange given a map.
distdir_hardware
Enum for supported hardware.
Definition: setting.h:42
Definition: exchange.h:50
void * buffer
buffer to store the messages
Definition: exchange.h:56
int buffer_size
total size of the exchange messages
Definition: exchange.h:54
int * buffer_idxlist
pointer to buffer_idxlist
Definition: exchange.h:58
int count
number of exchanges
Definition: exchange.h:52
Definition: exchange.h:85
t_kernels * vtable
pointer to pack and unpack functions
Definition: exchange.h:91
t_mpi_exchange * mpi_exchange
pointer to mpi_exchange struct
Definition: exchange.h:99
backend_func_go go
pointer to pack and unpack functions
Definition: exchange.h:93
t_map * map
pointer to map object
Definition: exchange.h:97
t_exchange * exch_send
pointer to t_exchange structure to store send information
Definition: exchange.h:87
t_exchange * exch_recv
pointer to t_exchange structure to store receive information
Definition: exchange.h:89
t_wait * vtable_wait
pointer to wait functions
Definition: exchange.h:95
Definition: backend_hw.h:48
The structure contains information about MPI backend.
Definition: backend_mpi.h:52
The structure contains pointers to waiting functions.
Definition: exchange.h:69
backend_func_wait pre_wait
pointer to backend_func_wait function to wait before the exchange
Definition: exchange.h:71
backend_func_wait post_wait
pointer to backend_func_wait function to wait after the exchange
Definition: exchange.h:73