MPI-SCATCI  2.0
An MPI version of SCATCI
parallelization_module::processgrid Type Reference

MPI process grid layout. More...

Public Member Functions

procedure, pass, public setup => setup_process_grid
 
procedure, pass, public is_my_group_work
 
procedure, pass, public which_group_is_work
 
procedure, pass, public group_master_world_rank
 
procedure, pass, public summarize
 

Public Attributes

integer(blasint) wcntxt
 BLACS context containing all MPI processes in the world communicator. More...
 
integer(blasint) wprows
 MPI world communicator grid row count. More...
 
integer(blasint) wpcols
 MPI world communicator grid column count. More...
 
integer(blasint) mywrow
 row position of this process within the MPI world communicator More...
 
integer(blasint) mywcol
 column position of this process within the MPI world communicator More...
 
integer igroup
 zero-based index of the MPI group this process belongs to More...
 
integer ngroup
 total number of MPI groups partitioning the world communicator More...
 
integer gprocs
 number of processes in the current MPI group More...
 
integer grank
 rank of this process within the MPI group More...
 
integer lprocs
 number of processes of the current MPI group localized on a single node More...
 
integer lrank
 rank of this process within the local MPI group More...
 
integer(blasint) gcntxt
 BLACS context containing all MPI processes in the MPI group communicator. More...
 
integer(blasint) gprows
 MPI group communicator grid row count. More...
 
integer(blasint) gpcols
 MPI group communicator grid column count. More...
 
integer(blasint) mygrow
 row position of this process within the MPI group communicator More...
 
integer(blasint) mygcol
 column position of this process within the MPI group communicator More...
 
integer(mpiint) gcomm
 MPI group communicator. More...
 
integer(mpiint) lcomm
 subset of the MPI group communicator localized on a single node More...
 
integer, dimension(:), allocatable groupnprocs
 Number of processes per MPI group. More...
 
logical sequential
 Whether the diagonalizations will be done sequentially (one after another) or not. More...
 

Private Member Functions

procedure, nopass, private square
 

Detailed Description

MPI process grid layout.

Authors
J Benda
Date
2019

Definition at line 43 of file Parallelization_module.F90.

Member Function/Subroutine Documentation

◆ group_master_world_rank()

procedure, pass, public parallelization_module::processgrid::group_master_world_rank

Definition at line 74 of file Parallelization_module.F90.

◆ is_my_group_work()

procedure, pass, public parallelization_module::processgrid::is_my_group_work

Definition at line 72 of file Parallelization_module.F90.

◆ setup()

procedure, pass, public parallelization_module::processgrid::setup

Definition at line 71 of file Parallelization_module.F90.

◆ square()

procedure, nopass, private parallelization_module::processgrid::square
private

Definition at line 76 of file Parallelization_module.F90.

◆ summarize()

procedure, pass, public parallelization_module::processgrid::summarize

Definition at line 75 of file Parallelization_module.F90.

◆ which_group_is_work()

procedure, pass, public parallelization_module::processgrid::which_group_is_work

Definition at line 73 of file Parallelization_module.F90.

Member Data Documentation

◆ gcntxt

integer(blasint) parallelization_module::processgrid::gcntxt

BLACS context containing all MPI processes in the MPI group communicator.

Definition at line 58 of file Parallelization_module.F90.

◆ gcomm

integer(mpiint) parallelization_module::processgrid::gcomm

MPI group communicator.

Definition at line 64 of file Parallelization_module.F90.

◆ gpcols

integer(blasint) parallelization_module::processgrid::gpcols

MPI group communicator grid column count.

Definition at line 60 of file Parallelization_module.F90.

◆ gprocs

integer parallelization_module::processgrid::gprocs

number of processes in the current MPI group

Definition at line 53 of file Parallelization_module.F90.

◆ gprows

integer(blasint) parallelization_module::processgrid::gprows

MPI group communicator grid row count.

Definition at line 59 of file Parallelization_module.F90.

◆ grank

integer parallelization_module::processgrid::grank

rank of this process within the MPI group

Definition at line 54 of file Parallelization_module.F90.

◆ groupnprocs

integer, dimension(:), allocatable parallelization_module::processgrid::groupnprocs

Number of processes per MPI group.

Definition at line 67 of file Parallelization_module.F90.

◆ igroup

integer parallelization_module::processgrid::igroup

zero-based index of the MPI group this process belongs to

Definition at line 50 of file Parallelization_module.F90.

◆ lcomm

integer(mpiint) parallelization_module::processgrid::lcomm

subset of the MPI group communicator localized on a single node

Definition at line 65 of file Parallelization_module.F90.

◆ lprocs

integer parallelization_module::processgrid::lprocs

number of processes of the current MPI group localized on a single node

Definition at line 55 of file Parallelization_module.F90.

◆ lrank

integer parallelization_module::processgrid::lrank

rank of this process within the local MPI group

Definition at line 56 of file Parallelization_module.F90.

◆ mygcol

integer(blasint) parallelization_module::processgrid::mygcol

column position of this process within the MPI group communicator

Definition at line 62 of file Parallelization_module.F90.

◆ mygrow

integer(blasint) parallelization_module::processgrid::mygrow

row position of this process within the MPI group communicator

Definition at line 61 of file Parallelization_module.F90.

◆ mywcol

integer(blasint) parallelization_module::processgrid::mywcol

column position of this process within the MPI world communicator

Definition at line 48 of file Parallelization_module.F90.

◆ mywrow

integer(blasint) parallelization_module::processgrid::mywrow

row position of this process within the MPI world communicator

Definition at line 47 of file Parallelization_module.F90.

◆ ngroup

integer parallelization_module::processgrid::ngroup

total number of MPI groups partitioning the world communicator

Definition at line 51 of file Parallelization_module.F90.

◆ sequential

logical parallelization_module::processgrid::sequential

Whether the diagonalizations will be done sequentially (one after another) or not.

Definition at line 69 of file Parallelization_module.F90.

◆ wcntxt

integer(blasint) parallelization_module::processgrid::wcntxt

BLACS context containing all MPI processes in the world communicator.

Definition at line 44 of file Parallelization_module.F90.

◆ wpcols

integer(blasint) parallelization_module::processgrid::wpcols

MPI world communicator grid column count.

Definition at line 46 of file Parallelization_module.F90.

◆ wprows

integer(blasint) parallelization_module::processgrid::wprows

MPI world communicator grid row count.

Definition at line 45 of file Parallelization_module.F90.


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