Definition parallel_comm.h:15
int & rank_in_inter
the inter group index
Definition parallel_comm.h:40
int ngroups
number of groups
Definition parallel_comm.h:31
MPI_Comm group_comm
group communicator
Definition parallel_comm.h:30
MPI_Comm parent_comm
parent communicator
Definition parallel_comm.h:26
bool has_inter_comm
whether has inter communicator
Definition parallel_comm.h:37
int & my_inter
the rank in the inter communicator
Definition parallel_comm.h:39
int my_group
the group index
Definition parallel_comm.h:33
int grank
rank of parent communicator
Definition parallel_comm.h:28
MPI_Comm inter_comm
inter communicator
Definition parallel_comm.h:36
int nprocs_in_group
number of processes in the group
Definition parallel_comm.h:32
~MPICommGroup()
Definition parallel_comm.cpp:20
int rank_in_group
the rank in the group
Definition parallel_comm.h:34
void divide_group_comm(const int &ngroup, const bool assert_even=true)
Definition parallel_comm.cpp:32
int gsize
size of parent communicator
Definition parallel_comm.h:27
bool is_even
whether the group is even
Definition parallel_comm.h:24
int & nprocs_in_inter
number of processes in the inter communicator
Definition parallel_comm.h:38
MPI_Comm KP_WORLD
Definition parallel_comm.cpp:7
MPI_Comm BP_WORLD
Definition parallel_comm.cpp:8
MPI_Comm DIAG_WORLD
Definition parallel_comm.cpp:11
MPI_Comm GRID_WORLD
Definition parallel_comm.cpp:10
MPI_Comm POOL_WORLD
Definition parallel_comm.cpp:6
MPI_Comm INT_BGROUP
Definition parallel_comm.cpp:9