parallel_obj_Sum_int_2d Subroutine

private impure subroutine parallel_obj_Sum_int_2d(this, A, B)

MPI SUM reduction operation.

Type Bound

parallel_obj

Arguments

Type IntentOptional Attributes Name
class(parallel_obj), intent(inout) :: this

Parallel object

integer, intent(in) :: A(:,:)

Send buffer

integer, intent(out) :: B(:,:)

Receive buffer


Calls

proc~~parallel_obj_sum_int_2d~~CallsGraph proc~parallel_obj_sum_int_2d parallel_obj%parallel_obj_Sum_int_2d mpi_allreduce mpi_allreduce proc~parallel_obj_sum_int_2d->mpi_allreduce

Source Code

    impure subroutine parallel_obj_Sum_int_2d(this,A,B)
      !> MPI SUM reduction operation.
      implicit none
      class(parallel_obj), intent(inout) :: this                               !! Parallel object
      integer,             intent(in)    :: A(:,:)                             !! Send buffer
      integer,             intent(out)   :: B(:,:)                             !! Receive buffer
      ! Work variables
      integer :: ierr

      call MPI_ALLREDUCE(A,B,size(A),MPI_INTEGER,MPI_SUM,this%comm%g,ierr)

      return
    end subroutine parallel_obj_Sum_int_2d