Prepare orig images for MPI windows
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(in) | :: | matrix | |||
type(dbcsr_imagedistribution_obj), | intent(in) | :: | imgdist | |||
logical, | intent(in) | :: | is_left | |||
integer, | intent(in) | :: | f_row | |||
integer, | intent(in) | :: | l_row | |||
integer, | intent(in) | :: | f_col | |||
integer, | intent(in) | :: | l_col | |||
logical, | intent(in) | :: | otf_filtering | |||
type(dbcsr_scalar_type), | intent(in), | optional | :: | alpha |
SUBROUTINE dbcsr_make_buffers(matrix, imgdist, is_left, & !! Prepare orig images for MPI windows f_row, l_row, f_col, l_col, & otf_filtering, alpha) TYPE(dbcsr_type), INTENT(IN) :: matrix TYPE(dbcsr_imagedistribution_obj), INTENT(IN) :: imgdist LOGICAL, INTENT(IN) :: is_left INTEGER, INTENT(IN) :: f_row, l_row, f_col, l_col LOGICAL, INTENT(IN) :: otf_filtering TYPE(dbcsr_scalar_type), INTENT(IN), OPTIONAL :: alpha LOGICAL :: do_scale do_scale = .FALSE. IF (PRESENT(alpha)) THEN IF (.NOT. dbcsr_scalar_are_equal(alpha, dbcsr_scalar_one(alpha%data_type))) THEN do_scale = .TRUE. END IF END IF ! IF (do_scale) THEN CALL make_buffers(matrix, imgdist, is_left, & f_row, l_row, f_col, l_col, & otf_filtering, alpha) ELSE CALL make_buffers(matrix, imgdist, is_left, & f_row, l_row, f_col, l_col, & otf_filtering) END IF END SUBROUTINE dbcsr_make_buffers