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