2022-11-04 09:35:42 -07:00

28 lines
570 B
Fortran

! @@name: nowait.2
! @@type: F-free
! @@operation: compile
! @@expect: success
! @@version: pre_omp_3.0
SUBROUTINE NOWAIT_EXAMPLE2(N, A, B, C, Y, Z)
INTEGER N
REAL A(*), B(*), C(*), Y(*), Z(*)
INTEGER I
!$OMP PARALLEL
!$OMP DO SCHEDULE(STATIC)
DO I=1,N
C(I) = (A(I) + B(I)) / 2.0
ENDDO
!$OMP END DO NOWAIT
!$OMP DO SCHEDULE(STATIC)
DO I=1,N
Z(I) = SQRT(C(I))
ENDDO
!$OMP END DO NOWAIT
!$OMP DO SCHEDULE(STATIC)
DO I=2,N+1
Y(I) = Z(I-1) + A(I)
ENDDO
!$OMP END DO NOWAIT
!$OMP END PARALLEL
END SUBROUTINE NOWAIT_EXAMPLE2