ScaLAPACKFX
Data Types | Private Member Functions | List of all members
blacsgrid_module Module Reference

BLACS grid related routines. More...

Data Types

type  blacsgrid
 Descriptor for BLACS grids. More...
 

Private Member Functions

subroutine initgrid (self, nrow, ncol, colmajor, masterrow, mastercol, context)
 Creates processor grid.
 
subroutine initgrids (self, ngrid, nrow, ncol, colmajor, masterrow, mastercol, context, mastergrid)
 Creates equivalent independent subgrids.
 
subroutine destruct (self)
 Destructs processor grid.
 
subroutine reset (self)
 Resets structure to its uninitialized value.
 

Detailed Description

BLACS grid related routines.

Member Function/Subroutine Documentation

subroutine blacsgrid_module::destruct ( class(blacsgrid), intent(inout)  self)
private

Destructs processor grid.

Parameters
mygridBLACS grid descriptor.
subroutine blacsgrid_module::initgrid ( class(blacsgrid), intent(inout)  self,
integer, intent(in)  nrow,
integer, intent(in)  ncol,
logical, intent(in), optional  colmajor,
integer, intent(in), optional  masterrow,
integer, intent(in), optional  mastercol,
integer, intent(in), optional  context 
)
private

Creates processor grid.

Sets up a rectangular processor grid. All processes must call this routine collectively. If size of the grid is smaller than the number of available processes, those processes not fitting into the grid will obtain an uninitialized grid descriptor (with iproc = -1) at return.

Parameters
selfBLACS grid descriptor.
nrowNumber of processor rows.
ncolNumber of processor columns.
colmajorIf .true., processes will be aligned in column major order otherwise in row major order. (Default: .false.)
masterrowMaster row in each subgrid.
mastercolMaster column in each grid.
contextBLACS system context (default: default system context)
subroutine blacsgrid_module::initgrids ( class(blacsgrid), intent(inout)  self,
integer  ngrid,
integer, intent(in)  nrow,
integer, intent(in)  ncol,
logical, intent(in), optional  colmajor,
integer, intent(in), optional  masterrow,
integer, intent(in), optional  mastercol,
integer, intent(in), optional  context,
class(blacsgrid), intent(out), optional  mastergrid 
)
private

Creates equivalent independent subgrids.

Sets up a independent rectangular processor grids. All processes must call this routine at collectively. If size of all grids is smaller than the number of available processes, those processes not fitting into any grid will obtain an uninitialized grid descriptor (with iproc = -1) at return. All other processes will obtain a grid descriptor for the subgrid they belong to.

Parameters
selfBLACS grid descriptor
ngridNr. of grids
nrowNumber of rows in every grid
ncolNumber of columns in every grid
colmajorIf .true., processes will be aligned in column major order otherwise in row major order. (Default: .false.)
masterrowMaster row in each subgrid.
mastercolMaster column in each grid.
contextBLACS system context (default: default system context)
mastergridIf present, an additional (1, ngrid) shaped grid is created which contains only the master nodes from all grids.
subroutine blacsgrid_module::reset ( class(blacsgrid), intent(inout)  self)
private

Resets structure to its uninitialized value.

Parameters
mygridBLACS grid descriptor.

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