parallel_obj_Sum_real_3d Subroutine

private impure subroutine parallel_obj_Sum_real_3d(this, A, B)

MPI SUM reduction operation.

Type Bound

parallel_obj

Arguments

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

Parallel object

real(kind=wp), intent(in) :: A(:,:,:)

Send buffer

real(kind=wp), intent(out) :: B(:,:,:)

Receive buffer


Calls

proc~~parallel_obj_sum_real_3d~~CallsGraph proc~parallel_obj_sum_real_3d parallel_obj%parallel_obj_Sum_real_3d mpi_allreduce mpi_allreduce proc~parallel_obj_sum_real_3d->mpi_allreduce

Source Code

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

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

      return
    end subroutine parallel_obj_Sum_real_3d