mirror of
https://github.com/OpenMP/Examples.git
synced 2025-04-07 23:22:11 +01:00
28 lines
560 B
Fortran
28 lines
560 B
Fortran
! @@name: nowait.2f
|
|
! @@type: F-free
|
|
! @@compilable: yes
|
|
! @@linkable: no
|
|
! @@expect: success
|
|
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
|