parallel_obj_Sum_real_0d Subroutine

private impure subroutine parallel_obj_Sum_real_0d(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_0d~~CallsGraph proc~parallel_obj_sum_real_0d parallel_obj%parallel_obj_Sum_real_0d mpi_allreduce mpi_allreduce proc~parallel_obj_sum_real_0d->mpi_allreduce

Source Code

    impure subroutine parallel_obj_Sum_real_0d(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,1,this%REAL_WP,MPI_SUM,this%comm%g,ierr)

      return
    end subroutine parallel_obj_Sum_real_0d