Barrier for specified communicator, or world-communicator otherwise.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in), | optional | :: | Comm | ||
| character(len=*), | intent(in), | optional | :: | beforeScreenOut | ||
| character(len=*), | intent(in), | optional | :: | afterScreenOut |
SUBROUTINE par_Barrier(Comm,beforeScreenOut,afterScreenOut) ! MODULES USE MODgvec_Globals, ONLY : MPIRoot,UNIT_Stdout IMPLICIT NONE !-------------------------------------------------------------------------------------------------------------------------------- ! INPUT VARIABLES MPI_comm_TYPE, INTENT(IN), OPTIONAL :: Comm CHARACTER(LEN=*),INTENT(IN),OPTIONAL :: beforeScreenOut,afterScreenOut !-------------------------------------------------------------------------------------------------------------------------------- ! LOCAL VARIABLES INTEGER :: ierr MPI_comm_TYPE :: Communicator !================================================================================================================================ ! BODY # if MPI IF (PRESENT(Comm)) THEN Communicator=Comm ELSE Communicator=worldComm END IF IF(PRESENT(beforeScreenOut).AND.MPIroot) WRITE(UNIT_StdOut,'(A)') beforeScreenOut CALL MPI_BARRIER(Communicator, ierr) IF(PRESENT(afterScreenOut) .AND.MPIroot) WRITE(UNIT_StdOut,'(A)') afterScreenOut # else IF(PRESENT(beforeScreenOut).AND.MPIroot) WRITE(UNIT_StdOut,'(A)') beforeScreenOut IF(PRESENT(afterScreenOut) .AND.MPIroot) WRITE(UNIT_StdOut,'(A)') afterScreenOut # endif END SUBROUTINE par_Barrier