reshape_mm_small Subroutine

private subroutine reshape_mm_small(mp_comm, matrix_in, matrix_out, transposed, trans, nodata, move_data)

Make sure that smallest matrix involved in a multiplication is not split and bring it to the same process grid as the other 2 matrices.

Arguments

Type IntentOptional Attributes Name
type(mp_comm_type), intent(in) :: mp_comm

communicator that defines Cartesian topology

type(dbcsr_tas_type), intent(inout) :: matrix_in
type(dbcsr_tas_type), intent(out) :: matrix_out
logical, intent(in) :: transposed

Whether matrix_out should be transposed

character(len=1), intent(inout) :: trans

update transpose flag for DBCSR mm according to 'transposed' argument

logical, intent(in), optional :: nodata

Data of matrix_in should not be copied to matrix_out memory optimization: move data such that matrix_in is empty on return.

logical, intent(in), optional :: move_data

Data of matrix_in should not be copied to matrix_out memory optimization: move data such that matrix_in is empty on return.