Octopus
distributed_oct_m::distributed_t Type Reference

Distribution of N instances over mpi_grpsize processes, for the local rank mpi_grprank. Distribution for all other processes of mpi_grpcomm are stored in node, num and range. More...

Detailed Description

Distribution of N instances over mpi_grpsize processes, for the local rank mpi_grprank. Distribution for all other processes of mpi_grpcomm are stored in node, num and range.

@TODO

  • node could more meaningfully be named process, and be replaced with a function
  • start, end, nlocal, nglobal and node are all superfluous. One could:
  • Replace nlocal with a simple function
  • Replace nglobal with a simple function
  • Replace num with a simple function

Definition at line 148 of file distributed.F90.

Private Attributes

integer start = 1
 Start index of distributed quantity on process mpi_grprank. More...
 
integer end = 0
 End index of distributed quantity on process mpi_grprank. More...
 
integer nlocal = 0
 TODO(Alex) Replace with (end - start + 1) OR num(mpi_grprank) More...
 
integer nglobal = 0
 TODO(Alex) Replace with range(2, mpi_grpsize) - range(1, 0) + 1. More...
 
logical parallel = .false.
 Is the quantity distributed. More...
 
integer, dimension(:), allocatable node
 Map quantity global index to its process, mpi_grprank. More...
 
integer, dimension(:, :), allocatable range
 Start and end indices associated with each process. More...
 
integer, dimension(:), allocatable num
 Number of distributed quantities on each process of mpi_grp. More...
 
type(mpi_grp_tmpi_grp
 MPI comm plus basic info. More...
 

Member Data Documentation

◆ start

integer distributed_oct_m::distributed_t::start = 1
private

Start index of distributed quantity on process mpi_grprank.

Definition at line 149 of file distributed.F90.

◆ end

integer distributed_oct_m::distributed_t::end = 0
private

End index of distributed quantity on process mpi_grprank.

Definition at line 150 of file distributed.F90.

◆ nlocal

integer distributed_oct_m::distributed_t::nlocal = 0
private

TODO(Alex) Replace with (end - start + 1) OR num(mpi_grprank)

Definition at line 151 of file distributed.F90.

◆ nglobal

integer distributed_oct_m::distributed_t::nglobal = 0
private

TODO(Alex) Replace with range(2, mpi_grpsize) - range(1, 0) + 1.

Definition at line 153 of file distributed.F90.

◆ parallel

logical distributed_oct_m::distributed_t::parallel = .false.
private

Is the quantity distributed.

Definition at line 154 of file distributed.F90.

◆ node

integer, dimension(:), allocatable distributed_oct_m::distributed_t::node
private

Map quantity global index to its process, mpi_grprank.

Definition at line 155 of file distributed.F90.

◆ range

integer, dimension(:, :), allocatable distributed_oct_m::distributed_t::range
private

Start and end indices associated with each process.

Definition at line 156 of file distributed.F90.

◆ num

integer, dimension(:), allocatable distributed_oct_m::distributed_t::num
private

Number of distributed quantities on each process of mpi_grp.

Definition at line 159 of file distributed.F90.

◆ mpi_grp

type(mpi_grp_t) distributed_oct_m::distributed_t::mpi_grp
private

MPI comm plus basic info.

Definition at line 161 of file distributed.F90.


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