DBCSR operations on distributions related to matrix multiplication
source: dbcsr_mm_dist_operations.FCreates an image distribution given the other compatibility images
TYPE(dbcsr_imagedistribution_obj), |
INTENT(out) |
:: | imgdist | distribution repetition | |
TYPE(dbcsr_distribution_obj), |
INTENT(in) |
:: | dist | distribution for which to form the image distribution | |
INTEGER, |
INTENT(in), |
OPTIONAL |
:: | match_row_pdist(:) | match the new row distribution to this row distribution |
INTEGER, |
INTENT(in), |
OPTIONAL |
:: | match_row_idist(:) | match the row distribution to these row images |
INTEGER, |
INTENT(in) |
:: | match_row_nbins | number of bins in the distribution to match the local rows | |
INTEGER, |
INTENT(in), |
OPTIONAL |
:: | match_col_pdist(:) | match the new column distribution to this column distribution |
INTEGER, |
INTENT(in), |
OPTIONAL |
:: | match_col_idist(:) | match the new column distribution to these column images |
INTEGER, |
INTENT(in) |
:: | match_col_nbins | number of bins in the distribution to match the local columns | |
INTEGER, |
INTENT(in) |
:: | nimages_rows | ... | |
INTEGER, |
INTENT(in) |
:: | nimages_cols | ... |
Determines mapping from local to global virtual process columnss
TYPE(dbcsr_imagedistribution_obj), |
INTENT(inout) |
:: | imgdist | image distribution | |
TYPE(array_i1d_obj), |
INTENT(out) |
:: | local_vcols | local columnss | |
INTEGER, |
INTENT(in) |
:: | local_vpcol | the local virtual process column |
Determines mapping from local to global virtual process rows
TYPE(dbcsr_imagedistribution_obj), |
INTENT(inout) |
:: | imgdist | image distribution | |
TYPE(array_i1d_obj), |
INTENT(out) |
:: | local_vrows | local rows | |
INTEGER, |
INTENT(in) |
:: | local_vprow | the local virtual process row |
Prepares distributions for making dense matrices.
TYPE(dbcsr_distribution_obj), |
INTENT(in) |
:: | product_dist | ... | |
TYPE(dbcsr_imagedistribution_obj), |
INTENT(in) |
:: | left_rdist | ... | |
TYPE(dbcsr_imagedistribution_obj), |
INTENT(in) |
:: | right_rdist | ... | |
TYPE(dbcsr_distribution_obj), |
INTENT(out) |
:: | dense_product_dist | ... | |
TYPE(dbcsr_imagedistribution_obj), |
INTENT(out) |
:: | dense_left_rdist | ... | |
TYPE(dbcsr_imagedistribution_obj), |
INTENT(out) |
:: | dense_right_rdist | ... | |
LOGICAL, |
INTENT(in) |
:: | partial | ... | |
TYPE(array_i1d_obj), |
INTENT(out) |
:: | m_map | ... | |
TYPE(array_i1d_obj), |
INTENT(out) |
:: | k_vmap | ... | |
TYPE(array_i1d_obj), |
INTENT(out) |
:: | n_map | ... | |
TYPE(array_i1d_obj), |
INTENT(in) |
:: | old_m_sizes | ... |
Resets local rows, columns to the correct arrays and values.
TYPE(dbcsr_type), |
INTENT(inout) |
:: | matrix | ... |
Resets local rows, columns to the correct arrays and values for images.
TYPE(dbcsr_type), |
INTENT(inout) |
:: | matrix | ... | |
TYPE(dbcsr_imagedistribution_obj), |
INTENT(inout) |
:: | imgdist | ... | |
LOGICAL, |
INTENT(in), |
OPTIONAL |
:: | do_rows | ... |
Transform between virtual process rows/columns and actual process rows/columns and images therein.
TYPE(dbcsr_imagedistribution_obj), |
INTENT(in) |
:: | image_dist | ... | |
INTEGER, |
INTENT(out), |
OPTIONAL |
:: | prow | ... |
INTEGER, |
INTENT(out), |
OPTIONAL |
:: | rowi | ... |
INTEGER, |
INTENT(out), |
OPTIONAL |
:: | pcol | ... |
INTEGER, |
INTENT(out), |
OPTIONAL |
:: | coli | ... |
INTEGER, |
INTENT(out), |
OPTIONAL |
:: | vprow | ... |
INTEGER, |
INTENT(out), |
OPTIONAL |
:: | vpcol | ... |
INTEGER, |
INTENT(in), |
OPTIONAL |
:: | myprow | ... |
INTEGER, |
INTENT(in), |
OPTIONAL |
:: | mypcol | ... |
INTEGER, |
INTENT(in), |
OPTIONAL |
:: | myrowi | ... |
INTEGER, |
INTENT(in), |
OPTIONAL |
:: | mycoli | ... |
INTEGER, |
INTENT(in), |
OPTIONAL |
:: | myvprow | ... |
INTEGER, |
INTENT(in), |
OPTIONAL |
:: | myvpcol | ... |
INTEGER, |
INTENT(in), |
OPTIONAL |
:: | vprow_shift | ... |
INTEGER, |
INTENT(in), |
OPTIONAL |
:: | vpcol_shift | ... |
CHARACTER, |
INTENT(in), |
OPTIONAL |
:: | shifting | ... |
Matches row/block sizes and offsets to a given distribution
TYPE(array_i1d_obj), |
INTENT(in) |
:: | old_sizes | ... | |
TYPE(array_i1d_obj), |
INTENT(in) |
:: | mapping | ... | |
INTEGER, |
INTENT(in) |
:: | nel_new | ... | |
TYPE(array_i1d_obj), |
INTENT(out) |
:: | new_sizes | ... |