Destroys a DBCSR distribution for a matrix multiplication based on the right matrix
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_imagedistribution_type), | intent(inout) | :: | imgdist |
product distribution repetition |
SUBROUTINE dbcsr_destroy_image_dist(imgdist) !! Destroys a DBCSR distribution for a matrix multiplication based on !! the right matrix TYPE(dbcsr_imagedistribution_type), INTENT(INOUT) :: imgdist !! product distribution repetition INTEGER :: i ! --------------------------------------------------------------------------- CALL array_release(imgdist%row_image) CALL array_release(imgdist%col_image) CALL dbcsr_distribution_release(imgdist%main) ! CALL array_release(imgdist%vrow_dist) CALL array_release(imgdist%vcol_dist) ! IF (imgdist%has_other_vl_rows) THEN DO i = LBOUND(imgdist%other_vl_rows, 1), UBOUND(imgdist%other_vl_rows, 1) CALL array_release(imgdist%other_vl_rows(i)) END DO DEALLOCATE (imgdist%other_vl_rows) imgdist%has_other_vl_rows = .FALSE. END IF ! IF (imgdist%has_other_vl_cols) THEN DO i = LBOUND(imgdist%other_vl_cols, 1), UBOUND(imgdist%other_vl_cols, 1) CALL array_release(imgdist%other_vl_cols(i)) END DO DEALLOCATE (imgdist%other_vl_cols) imgdist%has_other_vl_cols = .FALSE. END IF ! IF (imgdist%has_global_vrow_map) THEN CALL array_release(imgdist%global_vrow_map) END IF IF (imgdist%has_global_vcol_map) THEN CALL array_release(imgdist%global_vcol_map) END IF END SUBROUTINE dbcsr_destroy_image_dist