comms_barrier Subroutine

public subroutine comms_barrier(error, comm)

A barrier to synchronise all nodes

Arguments

Type IntentOptional Attributes Name
type(w90_error_type), intent(out), allocatable :: error
type(w90_comm_type), intent(in) :: comm

Calls

proc~~comms_barrier~~CallsGraph proc~comms_barrier comms_barrier proc~comms_no_sync_barrier comms_no_sync_barrier proc~comms_barrier->proc~comms_no_sync_barrier proc~comms_sync_error comms_sync_error proc~comms_barrier->proc~comms_sync_error

Source Code

  subroutine comms_barrier(error, comm)
    !! A barrier to synchronise all nodes
    implicit none
    type(w90_error_type), allocatable, intent(out) :: error
    type(w90_comm_type), intent(in) :: comm

    call comms_sync_error(comm, error, 0)
    if (allocated(error)) return
    ! The barrier is almost redundant since the sync is global, unless DISABLE_ERROR_SYNC defined
    call comms_no_sync_barrier(comm)
  end subroutine comms_barrier