darray_distrib Subroutine

public subroutine darray_distrib(handle, rank, ilo, ihi, jlo, jhi)

Query distribution for a rank

Arguments

Type IntentOptional Attributes Name
integer(kind=int32), intent(in) :: handle
integer(kind=int32), intent(in) :: rank
integer(kind=int32), intent(out) :: ilo
integer(kind=int32), intent(out) :: ihi
integer(kind=int32), intent(out) :: jlo
integer(kind=int32), intent(out) :: jhi

Calls

proc~~darray_distrib~~CallsGraph proc~darray_distrib darray_distrib proc~calculate_distribution calculate_distribution proc~darray_distrib->proc~calculate_distribution

Variables

Type Visibility Attributes Name Initial
type(darray_t), private, pointer :: arr
integer(kind=int32), private :: first_col
integer(kind=int32), private :: ncols_owned

Source Code

   subroutine darray_distrib(handle, rank, ilo, ihi, jlo, jhi)
      integer(int32), intent(in) :: handle, rank
      integer(int32), intent(out) :: ilo, ihi, jlo, jhi
      type(darray_t), pointer :: arr
      integer(int32) :: first_col, ncols_owned

      arr => registry(handle)

      call calculate_distribution(arr%ncols, global_comm%size(), rank, &
                                  first_col, ncols_owned)

      ilo = 1
      ihi = arr%nrows
      jlo = first_col + 1
      jhi = first_col + ncols_owned
   end subroutine darray_distrib