(git:6a2e663)
distribution_2d_types Module Reference

stores a mapping of 2D info (e.g. matrix) on a 2D processor distribution (i.e. blacs grid) where cpus in the same blacs row own the same rows of the 2D info (and similar for the cols) More...

Functions/Subroutines

subroutine, public distribution_2d_create (distribution_2d, blacs_env, local_rows_ptr, n_local_rows, local_cols_ptr, row_distribution_ptr, col_distribution_ptr, n_local_cols, n_row_distribution, n_col_distribution)
 initializes the distribution_2d More...
 
subroutine, public distribution_2d_retain (distribution_2d)
 ... More...
 
subroutine, public distribution_2d_release (distribution_2d)
 ... More...
 
subroutine, public distribution_2d_write (distribution_2d, unit_nr, local, long_description)
 writes out the given distribution More...
 
subroutine, public distribution_2d_get (distribution_2d, row_distribution, col_distribution, n_row_distribution, n_col_distribution, n_local_rows, n_local_cols, local_rows, local_cols, flat_local_rows, flat_local_cols, n_flat_local_rows, n_flat_local_cols, blacs_env)
 returns various attributes about the distribution_2d More...
 

Detailed Description

stores a mapping of 2D info (e.g. matrix) on a 2D processor distribution (i.e. blacs grid) where cpus in the same blacs row own the same rows of the 2D info (and similar for the cols)

Author
Joost VandeVondele (2003-08)

Function/Subroutine Documentation

◆ distribution_2d_create()

subroutine, public distribution_2d_types::distribution_2d_create ( type(distribution_2d_type), pointer  distribution_2d,
type(cp_blacs_env_type), pointer  blacs_env,
type(cp_1d_i_p_type), dimension(:), optional, pointer  local_rows_ptr,
integer, dimension(:), intent(in), optional  n_local_rows,
type(cp_1d_i_p_type), dimension(:), optional, pointer  local_cols_ptr,
integer, dimension(:, :), optional, pointer  row_distribution_ptr,
integer, dimension(:, :), optional, pointer  col_distribution_ptr,
integer, dimension(:), intent(in), optional  n_local_cols,
integer, intent(in), optional  n_row_distribution,
integer, intent(in), optional  n_col_distribution 
)

initializes the distribution_2d

Parameters
distribution_2d...
blacs_env...
local_rows_ptr...
n_local_rows...
local_cols_ptr...
row_distribution_ptr2D array, first is atom to processor 2nd is atom to cluster
col_distribution_ptr...
n_local_cols...
n_row_distribution...
n_col_distribution...
History
09.2003 rewamped [fawzi]
Author
Joost VandeVondele
Note
the row and col_distribution are not allocated if not given

Definition at line 98 of file distribution_2d_types.F.

Here is the caller graph for this function:

◆ distribution_2d_retain()

subroutine, public distribution_2d_types::distribution_2d_retain ( type(distribution_2d_type), pointer  distribution_2d)

...

Parameters
distribution_2d...
Author
Joost VandeVondele

Definition at line 217 of file distribution_2d_types.F.

Here is the caller graph for this function:

◆ distribution_2d_release()

subroutine, public distribution_2d_types::distribution_2d_release ( type(distribution_2d_type), pointer  distribution_2d)

...

Parameters
distribution_2d...

Definition at line 229 of file distribution_2d_types.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ distribution_2d_write()

subroutine, public distribution_2d_types::distribution_2d_write ( type(distribution_2d_type), pointer  distribution_2d,
integer, intent(in)  unit_nr,
logical, intent(in), optional  local,
logical, intent(in), optional  long_description 
)

writes out the given distribution

Parameters
distribution_2dthe distribution to write out
unit_nrthe unit to write to
localif the unit is local to to each processor (otherwise only the processor with loggerpara_envsource== loggerpara_envmepos writes), defaults to false.
long_descriptionif a long description should be given, defaults to false
History
08.2003 adapted qs_distribution_2d_create write done by Matthias[fawzi]
Author
Fawzi Mohamed
Note
to clean up, make safer wrt. grabage in distribution_2dn_*

Definition at line 286 of file distribution_2d_types.F.

Here is the call graph for this function:

◆ distribution_2d_get()

subroutine, public distribution_2d_types::distribution_2d_get ( type(distribution_2d_type), pointer  distribution_2d,
integer, dimension(:, :), optional, pointer  row_distribution,
integer, dimension(:, :), optional, pointer  col_distribution,
integer, intent(out), optional  n_row_distribution,
integer, intent(out), optional  n_col_distribution,
integer, dimension(:), optional, pointer  n_local_rows,
integer, dimension(:), optional, pointer  n_local_cols,
type(cp_1d_i_p_type), dimension(:), optional, pointer  local_rows,
type(cp_1d_i_p_type), dimension(:), optional, pointer  local_cols,
integer, dimension(:), optional, pointer  flat_local_rows,
integer, dimension(:), optional, pointer  flat_local_cols,
integer, intent(out), optional  n_flat_local_rows,
integer, intent(out), optional  n_flat_local_cols,
type(cp_blacs_env_type), optional, pointer  blacs_env 
)

returns various attributes about the distribution_2d

Parameters
distribution_2dthe object you want info about
row_distribution...
col_distribution...
n_row_distribution...
n_col_distribution...
n_local_rows...
n_local_cols...
local_rows...
local_cols...
flat_local_rows...
flat_local_cols...
n_flat_local_rows...
n_flat_local_cols...
blacs_env...
History
09.2003 created [fawzi]
Author
Fawzi Mohamed

Definition at line 476 of file distribution_2d_types.F.

Here is the caller graph for this function: