ProcessGrid_t Derived Type

type, public :: ProcessGrid_t

A datatype which stores a process grid and all its communicators.


Contents


Components

TypeVisibility AttributesNameInitial
integer, public :: total_processors

total processors in the grid.

integer, public :: num_process_rows

number of rows in the grid.

integer, public :: num_process_columns

number of columns in the grid.

integer, public :: num_process_slices

number of 2D slices in the grid.

integer, public :: slice_size

the size of a 2D slice.

integer, public :: my_slice

which slice is the current process in.

integer, public :: my_row

which row is the current process in.

integer, public :: my_column

which column is the current process in.

integer, public :: global_rank

current process's rank amongst processes.

integer, public :: within_slice_rank

rank for within slice communication.

integer, public :: between_slice_rank

rank for between slice communication.

integer, public :: column_rank

rank for within column communication.

integer, public :: row_rank

rank for within row communication.

integer, public :: global_comm

communicator with every other process.

integer, public :: row_comm

communicator within a row.

integer, public :: column_comm

communicator within a column.

integer, public :: within_slice_comm

communicator within a slice.

integer, public :: between_slice_comm

communicator between slices.

integer, public :: grid_error

stores errors from MPI calls.

integer, public :: RootID =0

Which rank is root?

integer, public :: block_multiplier

Block scaling factor.

integer, public :: number_of_blocks_columns

number of column blocks.

integer, public :: number_of_blocks_rows

number of row blocks.

integer, public, DIMENSION(:), ALLOCATABLE:: blocked_row_comm

blocked communicator within a row.

integer, public, DIMENSION(:), ALLOCATABLE:: blocked_column_comm

blocked communicator within a column.

integer, public, DIMENSION(:,:), ALLOCATABLE:: blocked_within_slice_comm

blocked communicator within a slice.

integer, public, DIMENSION(:,:), ALLOCATABLE:: blocked_between_slice_comm

blocked communicator between slices.