Matrix distribution on the processor grid
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
type(array_i1d_obj), | public | :: | row_dist_block | = | array_i1d_obj() |
standard row distributions of matrix elements' rows into processor grid rows standard column distributions of matrix elements' columns into processor grid columns |
|
type(array_i1d_obj), | public | :: | col_dist_block | = | array_i1d_obj() |
standard row distributions of matrix elements' rows into processor grid rows standard column distributions of matrix elements' columns into processor grid columns |
|
type(array_i1d_obj), | public | :: | local_rows | = | array_i1d_obj() |
list of rows local to the processor grid row list of columns local to the processor grid column |
|
type(array_i1d_obj), | public | :: | local_cols | = | array_i1d_obj() |
list of rows local to the processor grid row list of columns local to the processor grid column |
|
integer, | public | :: | max_row_dist | = | -1 | ||
integer, | public | :: | max_col_dist | = | -1 | ||
type(array_i1d_obj), | public, | DIMENSION(:), POINTER | :: | other_l_rows | => | Null() |
local rows for each process row |
type(array_i1d_obj), | public, | DIMENSION(:), POINTER | :: | other_l_cols | => | Null() |
local columns for each process column |
logical, | public | :: | has_other_l_rows | = | .FALSE. |
other_rows is defined |
|
logical, | public | :: | has_other_l_cols | = | .FALSE. |
other_cols is defined |
|
type(array_i1d_obj), | public | :: | global_row_map | = | array_i1d_obj() |
mapping from rows to sequence in local rows (global to local mapping) |
|
type(array_i1d_obj), | public | :: | global_col_map | = | array_i1d_obj() |
mapping from rows to sequence in local columns (global to local mapping) |
|
logical, | public | :: | has_global_row_map | = | .FALSE. |
whether other_row_map is defined |
|
logical, | public | :: | has_global_col_map | = | .FALSE. |
whether other_col_map is defined |
|
type(array_i1d_obj), | public | :: | row_map | = | array_i1d_obj() |
distribution map for rows |
|
type(array_i1d_obj), | public | :: | col_map | = | array_i1d_obj() |
distribution map for columns |
|
logical, | public | :: | has_thread_dist | = | .FALSE. | ||
type(array_i1d_obj), | public | :: | thread_dist | = | array_i1d_obj() |
thread distribution (of the rows) |
|
integer, | public | :: | num_threads | = | -1 |
number of threads in the environment |
|
type(dbcsr_mp_obj), | public | :: | mp_env | = | dbcsr_mp_obj() |
multiprocessor environment on which the distribution is based |
|
integer, | public | :: | refcount | = | 0 |
reference counter |
TYPE dbcsr_distribution_type !! Matrix distribution on the processor grid TYPE(array_i1d_obj) :: row_dist_block = array_i1d_obj(), col_dist_block = array_i1d_obj() !! standard row distributions of matrix elements' rows into processor grid rows !! standard column distributions of matrix elements' columns into processor grid columns TYPE(array_i1d_obj) :: local_rows = array_i1d_obj(), local_cols = array_i1d_obj() !! list of rows local to the processor grid row !! list of columns local to the processor grid column INTEGER :: max_row_dist = -1, max_col_dist = -1 TYPE(array_i1d_obj), DIMENSION(:), POINTER :: other_l_rows => Null() !! local rows for each process row TYPE(array_i1d_obj), DIMENSION(:), POINTER :: other_l_cols => Null() !! local columns for each process column LOGICAL :: has_other_l_rows = .FALSE. !! other_rows is defined LOGICAL :: has_other_l_cols = .FALSE. !! other_cols is defined TYPE(array_i1d_obj) :: global_row_map = array_i1d_obj() !! mapping from rows to sequence in local rows (global to local mapping) TYPE(array_i1d_obj) :: global_col_map = array_i1d_obj() !! mapping from rows to sequence in local columns (global to local mapping) LOGICAL :: has_global_row_map = .FALSE. !! whether other_row_map is defined LOGICAL :: has_global_col_map = .FALSE. !! whether other_col_map is defined TYPE(array_i1d_obj) :: row_map = array_i1d_obj() !! distribution map for rows TYPE(array_i1d_obj) :: col_map = array_i1d_obj() !! distribution map for columns LOGICAL :: has_thread_dist = .FALSE. TYPE(array_i1d_obj) :: thread_dist = array_i1d_obj() !! thread distribution (of the rows) INTEGER :: num_threads = -1 !! number of threads in the environment TYPE(dbcsr_mp_obj) :: mp_env = dbcsr_mp_obj() !! multiprocessor environment on which the distribution is based INTEGER :: refcount = 0 !! reference counter END TYPE dbcsr_distribution_type