change_split Subroutine

private subroutine change_split(matrix_in, matrix_out, nsplit, split_rowcol, is_new, opt_nsplit, move_data, nodata)

Change split factor without redistribution

Arguments

Type IntentOptional Attributes Name
type(dbcsr_tas_type), intent(inout), TARGET :: matrix_in
type(dbcsr_tas_type), intent(out), POINTER :: matrix_out
integer, intent(in) :: nsplit

new split factor, set to 0 to not change split of matrix_in

integer, intent(in) :: split_rowcol

split rows or columns

logical, intent(out) :: is_new

whether matrix_out is new or a pointer to matrix_in

logical, intent(in), optional :: opt_nsplit

whether nsplit should be optimized for current process grid

logical, intent(inout), optional :: move_data

memory optimization: move data such that matrix_in is empty on return.

logical, intent(in), optional :: nodata

Data of matrix_in should not be copied to matrix_out