Routines related to DBCSR distributions
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
character(len=*), | private, | parameter | :: | moduleN | = | 'dbcsr_dist_methods' |
Creates new distribution from a template distribution
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_distribution_obj), | intent(out) | :: | dist |
distribution |
||
type(dbcsr_distribution_obj), | intent(in), | optional | :: | template | ||
type(mp_comm_type), | intent(in), | optional | :: | group | ||
integer, | optional, | DIMENSION(:, :), POINTER | :: | pgrid | ||
integer, | intent(in), | DIMENSION(:), POINTER, CONTIGUOUS | :: | row_dist | ||
integer, | intent(in), | DIMENSION(:), POINTER, CONTIGUOUS | :: | col_dist | ||
logical, | intent(in), | optional | :: | reuse_arrays |
Creates new distribution Workaround for CCE compilation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_distribution_obj), | intent(out) | :: | dist |
distribution |
||
type(dbcsr_mp_obj), | intent(in) | :: | mp_env |
multiprocessing environment |
||
type(array_i1d_obj), | intent(in) | :: | row_dist_block | |||
type(array_i1d_obj), | intent(in) | :: | col_dist_block | |||
type(array_i1d_obj), | intent(in), | optional | :: | local_rows | ||
type(array_i1d_obj), | intent(in), | optional | :: | local_cols |
Creates new distribution
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_distribution_obj), | intent(out) | :: | dist |
distribution |
||
type(dbcsr_mp_obj), | intent(in) | :: | mp_env |
multiprocessing environment |
||
integer, | intent(in), | DIMENSION(:), POINTER, CONTIGUOUS | :: | row_dist_block | ||
integer, | intent(in), | DIMENSION(:), POINTER, CONTIGUOUS | :: | col_dist_block | ||
integer, | intent(in), | optional, | DIMENSION(:), POINTER, CONTIGUOUS | :: | local_rows | |
integer, | intent(in), | optional, | DIMENSION(:), POINTER, CONTIGUOUS | :: | local_cols | |
logical, | optional | :: | reuse_arrays |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_distribution_obj), | intent(in) | :: | dist |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_distribution_obj), | intent(in) | :: | dist |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_distribution_obj), | intent(in) | :: | dist |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_distribution_obj), | intent(in) | :: | dist |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_distribution_obj), | intent(in) | :: | dist |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_distribution_obj), | intent(in) | :: | dist |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_distribution_obj), | intent(in) | :: | dist |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_distribution_obj), | intent(in) | :: | dist |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_distribution_obj), | intent(in) | :: | dist |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_distribution_obj), | intent(in) | :: | dist |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_distribution_obj), | intent(in) | :: | dist |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_distribution_obj), | intent(in) | :: | dist |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_distribution_obj), | intent(in) | :: | dist |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_distribution_obj), | intent(in) | :: | dist | |||
integer, | intent(in) | :: | row | |||
integer, | intent(in) | :: | col |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_distribution_obj), | intent(in) | :: | dist |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_distribution_obj), | intent(in) | :: | dist |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_distribution_obj), | intent(in) | :: | dist |
Count number of images in the product matrix
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | matrix_dense_size_1d |
1D size of the (equivalent) dense matrix Number of row processors Number of column processors |
||
integer, | intent(in) | :: | nblocks |
1D size of the (equivalent) dense matrix Number of row processors Number of column processors |
||
integer, | intent(in) | :: | nprows |
1D size of the (equivalent) dense matrix Number of row processors Number of column processors |
||
integer, | intent(in) | :: | npcols |
1D size of the (equivalent) dense matrix Number of row processors Number of column processors |
Number of images
Creates new distribution from a template distribution
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_distribution_obj), | intent(out) | :: | dist |
distribution |
||
type(dbcsr_distribution_obj), | intent(in), | optional | :: | template | ||
type(mp_comm_type), | intent(in), | optional | :: | group | ||
integer, | optional, | DIMENSION(:, :), POINTER | :: | pgrid | ||
integer, | intent(in), | DIMENSION(:), POINTER, CONTIGUOUS | :: | row_dist | ||
integer, | intent(in), | DIMENSION(:), POINTER, CONTIGUOUS | :: | col_dist | ||
logical, | intent(in), | optional | :: | reuse_arrays |
Creates new distribution Workaround for CCE compilation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_distribution_obj), | intent(out) | :: | dist |
distribution |
||
type(dbcsr_mp_obj), | intent(in) | :: | mp_env |
multiprocessing environment |
||
type(array_i1d_obj), | intent(in) | :: | row_dist_block | |||
type(array_i1d_obj), | intent(in) | :: | col_dist_block | |||
type(array_i1d_obj), | intent(in), | optional | :: | local_rows | ||
type(array_i1d_obj), | intent(in), | optional | :: | local_cols |
Creates new distribution
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_distribution_obj), | intent(out) | :: | dist |
distribution |
||
type(dbcsr_mp_obj), | intent(in) | :: | mp_env |
multiprocessing environment |
||
integer, | intent(in), | DIMENSION(:), POINTER, CONTIGUOUS | :: | row_dist_block | ||
integer, | intent(in), | DIMENSION(:), POINTER, CONTIGUOUS | :: | col_dist_block | ||
integer, | intent(in), | optional, | DIMENSION(:), POINTER, CONTIGUOUS | :: | local_rows | |
integer, | intent(in), | optional, | DIMENSION(:), POINTER, CONTIGUOUS | :: | local_cols | |
logical, | optional | :: | reuse_arrays |
Get distribution parameters
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_distribution_obj), | intent(in) | :: | dist | |||
integer, | optional, | DIMENSION(:), POINTER | :: | row_dist | ||
integer, | optional, | DIMENSION(:), POINTER | :: | col_dist | ||
integer, | intent(out), | optional | :: | nrows | ||
integer, | intent(out), | optional | :: | ncols | ||
logical, | intent(out), | optional | :: | has_threads | ||
type(mp_comm_type), | intent(out), | optional | :: | group | ||
integer, | intent(out), | optional | :: | mynode | ||
integer, | intent(out), | optional | :: | numnodes | ||
integer, | intent(out), | optional | :: | nprows | ||
integer, | intent(out), | optional | :: | npcols | ||
integer, | intent(out), | optional | :: | myprow | ||
integer, | intent(out), | optional | :: | mypcol | ||
integer, | optional, | DIMENSION(:, :), POINTER | :: | pgrid | ||
logical, | intent(out), | optional | :: | subgroups_defined | ||
type(mp_comm_type), | intent(out), | optional | :: | prow_group | ||
type(mp_comm_type), | intent(out), | optional | :: | pcol_group |
Marks another use of the distribution
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_distribution_obj), | intent(inout) | :: | dist |
Creates a distribution for threads
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_distribution_obj), | intent(inout), | TARGET | :: | dist |
Add thread distribution to this distribution |
|
integer, | intent(in), | optional, | DIMENSION(:), CONTIGUOUS | :: | row_sizes |
row block sizes |
Creates a distribution for threads
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_distribution_obj), | POINTER | :: | dist |
Add thread distribution to this distribution |
||
integer, | intent(in), | optional, | DIMENSION(:) | :: | row_sizes |
row block sizes |
Removes the thread distribution from a distribution
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_distribution_obj), | intent(inout) | :: | dist |