void delete_map(t_map *map)
Clean memory of a t_map structure.
t_map * extend_map_3d(t_map *map2d, int nlevels)
Create a new t_map structure for 3D decomposition.
t_map * new_map(t_idxlist *src_idxlist, t_idxlist *dst_idxlist, int stride, MPI_Comm comm)
Create a new t_map structure.
The structure contains information about an index list.
Definition: idxlist.h:42
The structure contains information about each exchange.
Definition: map.h:46
int exch_rank
rank to send/recv data to/from
Definition: map.h:48
The structure contains information about all the exchanges in one direction.
Definition: map.h:57
int count
number of exchanges
Definition: map.h:59
int * buffer_idxlist
idxlist to create the exchange buffer
Definition: map.h:65
int * buffer_idxlist_gpu
idxlist to create the exchange buffer
Definition: map.h:67
int * buffer_offset
offset for each exchange
Definition: map.h:69
t_map_exch_per_rank ** exch
array of pointers to t_map_exch_per_rank structure
Definition: map.h:61
int buffer_size
size of the exchange message
Definition: map.h:63
t_map_exch * exch_recv
pointer to t_map_exch structure to store receive information
Definition: map.h:85
MPI_Comm comm
MPI communicator containing all the processes involved in the exchange.
Definition: map.h:81
t_map_exch * exch_send
pointer to t_map_exch structure to store send information
Definition: map.h:83