#ifndef _WORLD_H_ #define _WORLD_H_ #include #include #include "configuration.h" typedef struct { size_t n_neighbors; int neighbor_ranks[8]; MPI_Datatype send_types[8]; MPI_Datatype recv_types[8]; MPI_Datatype io_type; MPI_Request persistent_requests[16]; MPI_Comm comm; } transfer_t; typedef struct { size_t global_size[2]; size_t local_size[2]; size_t local_start[2]; char *cells_prev; char *cells_next; transfer_t transfer; } world_t; void world_init(world_t *world, size_t *global_size, const conf_t *c); size_t world_get_storage_size(const world_t *world); void world_free(world_t *world); #endif