55 #ifndef HACC_DISTRIBUTION_H
56 #define HACC_DISTRIBUTION_H
int MPI_Comm
Definition: AMReX_ccse-mpi.H:47
double complex complex_t
Definition: complex-type.h:79
void Rank_x_pencils(int *myrank, int coord[], distribution_t *d)
Definition: distribution.c:150
void distribution_3_to_1(const complex_t *a, complex_t *b, distribution_t *d)
Definition: distribution.c:1287
static int distribution_get_self_2d_x(distribution_t *d, int direction)
Definition: distribution_c.h:241
void distribution_assert_commensurate(distribution_t *d)
Definition: distribution.c:1242
static int distribution_get_nproc_2d_y(distribution_t *d, int direction)
Definition: distribution_c.h:222
static int distribution_get_nproc_1d(distribution_t *d, int direction)
Definition: distribution_c.h:213
void distribution_fini(distribution_t *d)
Definition: distribution.c:1222
static int distribution_get_nproc_2d_z(distribution_t *d, int direction)
Definition: distribution_c.h:226
static int distribution_get_nproc_2d_x(distribution_t *d, int direction)
Definition: distribution_c.h:218
void Coord_y_pencils(int myrank, int coord[], distribution_t *d)
Definition: distribution.c:171
static int distribution_get_self_2d_z(distribution_t *d, int direction)
Definition: distribution_c.h:249
static int distribution_get_self_3d(distribution_t *d, int direction)
Definition: distribution_c.h:253
void Rank_y_pencils(int *myrank, int coord[], distribution_t *d)
Definition: distribution.c:189
static int distribution_get_nproc_3d(distribution_t *d, int direction)
Definition: distribution_c.h:231
void distribution_1_to_3(const complex_t *a, complex_t *b, distribution_t *d)
Definition: distribution.c:1269
static int distribution_get_self_1d(distribution_t *d, int direction)
Definition: distribution_c.h:236
void Coord_z_pencils(int myrank, int coord[], distribution_t *d)
Definition: distribution.c:206
static int distribution_get_self_2d_y(distribution_t *d, int direction)
Definition: distribution_c.h:245
void distribution_3_to_2(const complex_t *a, complex_t *b, distribution_t *d, int dim_z)
Definition: distribution.c:1509
void Rank_z_pencils(int *myrank, int coord[], distribution_t *d)
Definition: distribution.c:224
void distribution_init(MPI_Comm comm, const int n[], const int Ndims[], distribution_t *d, const int *rmap, bool debug)
Definition: distribution.c:248
void Custom3D_Dims_create(const int Ndims[], int nproc, int ndims, int dims[])
Definition: distribution.c:990
void Coord_x_pencils(int myrank, int coord[], distribution_t *d)
Definition: distribution.c:117
void distribution_init_explicit(MPI_Comm comm, const int n[], int nproc_1d[], int nproc_2d_x[], int nproc_2d_y[], int nproc_2d_z[], int nproc_3d[], distribution_t *d, bool debug)
Definition: distribution.c:1007
void distribution_2_to_3(const complex_t *a, complex_t *b, distribution_t *d, int dim_z)
Definition: distribution.c:1495
Definition: distribution_c.h:93
process_topology_t process_topology_2_y
Definition: distribution_c.h:98
process_topology_t process_topology_1
Definition: distribution_c.h:96
process_topology_t process_topology_2_z
Definition: distribution_c.h:97
int * rankmap
Definition: distribution_c.h:104
MPI_Comm parent
Definition: distribution_c.h:105
bool debug
Definition: distribution_c.h:94
complex_t * d2_chunk
Definition: distribution_c.h:101
complex_t * d3_chunk
Definition: distribution_c.h:102
int * gridmap
Definition: distribution_c.h:103
process_topology_t process_topology_3
Definition: distribution_c.h:100
process_topology_t process_topology_2_x
Definition: distribution_c.h:99
Definition: distribution_c.h:76
int self[3]
Definition: distribution_c.h:80
int nproc[3]
Definition: distribution_c.h:78
MPI_Comm cart
Definition: distribution_c.h:77