tall-and-skinny matrix-matrix multiplication. Undocumented dummy arguments are identical to arguments of dbcsr_multiply (see dbcsr_mm, dbcsr_multiply_generic).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=1), | intent(in) | :: | transa | |||
character(len=1), | intent(in) | :: | transb | |||
character(len=1), | intent(in) | :: | transc | |||
type(dbcsr_scalar_type), | intent(in) | :: | alpha | |||
type(dbcsr_tas_type), | intent(inout), | TARGET | :: | matrix_a | ||
type(dbcsr_tas_type), | intent(inout), | TARGET | :: | matrix_b | ||
type(dbcsr_scalar_type), | intent(in) | :: | beta | |||
type(dbcsr_tas_type), | intent(inout), | TARGET | :: | matrix_c | ||
logical, | intent(in), | optional | :: | optimize_dist |
Whether distribution should be optimized internally. In the current implementation this guarantees optimal parameters only for dense matrices. |
|
type(dbcsr_tas_split_info), | intent(out), | optional | :: | split_opt |
optionally return split info containing optimal grid and split parameters. This can be used to choose optimal process grids for subsequent matrix multiplications with matrices of similar shape and sparsity. |
|
real(kind=real_8), | intent(in), | optional | :: | filter_eps | ||
integer(kind=int_8), | intent(out), | optional | :: | flop | ||
logical, | intent(in), | optional | :: | move_data_a |
memory optimization: move data to matrix_c such that matrix_a is empty on return memory optimization: move data to matrix_c such that matrix_b is empty on return for internal use only |
|
logical, | intent(in), | optional | :: | move_data_b |
memory optimization: move data to matrix_c such that matrix_a is empty on return memory optimization: move data to matrix_c such that matrix_b is empty on return for internal use only |
|
logical, | intent(in), | optional | :: | retain_sparsity |
memory optimization: move data to matrix_c such that matrix_a is empty on return memory optimization: move data to matrix_c such that matrix_b is empty on return for internal use only |
|
logical, | intent(in), | optional | :: | simple_split |
memory optimization: move data to matrix_c such that matrix_a is empty on return memory optimization: move data to matrix_c such that matrix_b is empty on return for internal use only |
|
integer(kind=int_8), | intent(out), | optional, | DIMENSION(:, :), ALLOCATABLE | :: | result_index | |
integer, | intent(in), | optional | :: | unit_nr |
unit number for logging output |
|
logical, | intent(in), | optional | :: | log_verbose |
only for testing: verbose output |