Octopus
multicomm_oct_m::multicomm_t Type Reference

Stores all communicators and groups. More...

Detailed Description

Stores all communicators and groups.

ONLY the bare communicators are defined and stored in this class. These can be used to instantiate mpi_oct_m::mpi_grp_t.

Definition at line 206 of file multicomm.F90.

Public Attributes

integer, public par_strategy
 What kind of parallelization strategy should we use? More...
 
integer, dimension(:), allocatable, public who_am_i
 Rank in the "line"-communicators. More...
 
type(mpi_comm), dimension(:), allocatable, public group_comm
 "Line"-communicators I belong to. More...
 
type(mpi_comm), public dom_st_comm
 States-domain plane communicator. More...
 
type(mpi_comm), public st_kpt_comm
 Kpoints-states plane communicator. More...
 
type(mpi_comm), public dom_st_kpt_comm
 Kpoints-states-domain cube communicator. More...
 
type(mpi_grp_t), public intranode_grp
 group for ranks on a compute node More...
 
type(mpi_grp_t), public internode_grp
 group for communicating between compute nodes More...
 
type(mpi_comm), public master_comm
 The communicator without slaves. More...
 
type(mpi_comm), public slave_intercomm
 the intercomm to communicate with slaves More...
 

Private Attributes

integer n_node
 Total number of nodes. More...
 
integer, dimension(:), allocatable group_sizes
 Number of processors in each group. More...
 
integer nthreads
 Number of OMP threads. More...
 
integer node_type
 Is this node a P_MASTER or a P_SLAVE? More...
 
logical have_slaves
 are slaves available? More...
 
type(mpi_comm) full_comm
 The base communicator. More...
 
integer full_comm_rank
 The rank in the base communicator. More...
 
integer master_comm_rank
 The rank in the communicator without slaves. More...
 
logical reorder_ranks
 do we reorder ranks in a more compact way? More...
 

Member Data Documentation

◆ n_node

integer multicomm_oct_m::multicomm_t::n_node
private

Total number of nodes.

Definition at line 208 of file multicomm.F90.

◆ par_strategy

integer, public multicomm_oct_m::multicomm_t::par_strategy

What kind of parallelization strategy should we use?

Definition at line 210 of file multicomm.F90.

◆ group_sizes

integer, dimension(:), allocatable multicomm_oct_m::multicomm_t::group_sizes
private

Number of processors in each group.

Definition at line 212 of file multicomm.F90.

◆ who_am_i

integer, dimension(:), allocatable, public multicomm_oct_m::multicomm_t::who_am_i

Rank in the "line"-communicators.

Definition at line 213 of file multicomm.F90.

◆ group_comm

type(mpi_comm), dimension(:), allocatable, public multicomm_oct_m::multicomm_t::group_comm

"Line"-communicators I belong to.

Definition at line 214 of file multicomm.F90.

◆ dom_st_comm

type(mpi_comm), public multicomm_oct_m::multicomm_t::dom_st_comm

States-domain plane communicator.

Definition at line 215 of file multicomm.F90.

◆ st_kpt_comm

type(mpi_comm), public multicomm_oct_m::multicomm_t::st_kpt_comm

Kpoints-states plane communicator.

Definition at line 216 of file multicomm.F90.

◆ dom_st_kpt_comm

type(mpi_comm), public multicomm_oct_m::multicomm_t::dom_st_kpt_comm

Kpoints-states-domain cube communicator.

Definition at line 217 of file multicomm.F90.

◆ intranode_grp

type(mpi_grp_t), public multicomm_oct_m::multicomm_t::intranode_grp

group for ranks on a compute node

Definition at line 218 of file multicomm.F90.

◆ internode_grp

type(mpi_grp_t), public multicomm_oct_m::multicomm_t::internode_grp

group for communicating between compute nodes

Definition at line 219 of file multicomm.F90.

◆ nthreads

integer multicomm_oct_m::multicomm_t::nthreads
private

Number of OMP threads.

Definition at line 221 of file multicomm.F90.

◆ node_type

integer multicomm_oct_m::multicomm_t::node_type
private

Is this node a P_MASTER or a P_SLAVE?

Definition at line 222 of file multicomm.F90.

◆ have_slaves

logical multicomm_oct_m::multicomm_t::have_slaves
private

are slaves available?

Definition at line 223 of file multicomm.F90.

◆ full_comm

type(mpi_comm) multicomm_oct_m::multicomm_t::full_comm
private

The base communicator.

Definition at line 225 of file multicomm.F90.

◆ full_comm_rank

integer multicomm_oct_m::multicomm_t::full_comm_rank
private

The rank in the base communicator.

Definition at line 226 of file multicomm.F90.

◆ master_comm

type(mpi_comm), public multicomm_oct_m::multicomm_t::master_comm

The communicator without slaves.

Definition at line 227 of file multicomm.F90.

◆ master_comm_rank

integer multicomm_oct_m::multicomm_t::master_comm_rank
private

The rank in the communicator without slaves.

Definition at line 228 of file multicomm.F90.

◆ slave_intercomm

type(mpi_comm), public multicomm_oct_m::multicomm_t::slave_intercomm

the intercomm to communicate with slaves

Definition at line 229 of file multicomm.F90.

◆ reorder_ranks

logical multicomm_oct_m::multicomm_t::reorder_ranks
private

do we reorder ranks in a more compact way?

Definition at line 231 of file multicomm.F90.


The documentation for this type was generated from the following file: