13.11.2016 Views

OpenMP Application Programming Interface Examples

2fZ58Wr

2fZ58Wr

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Fortran<br />

1<br />

Example nowait.2.f90<br />

S-1 SUBROUTINE NOWAIT_EXAMPLE2(N, A, B, C, Y, Z)<br />

S-2 INTEGER N<br />

S-3 REAL A(*), B(*), C(*), Y(*), Z(*)<br />

S-4 INTEGER I<br />

S-5 !$OMP PARALLEL<br />

S-6 !$OMP DO SCHEDULE(STATIC)<br />

S-7 DO I=1,N<br />

S-8 C(I) = (A(I) + B(I)) / 2.0<br />

S-9 ENDDO<br />

S-10 !$OMP END DO NOWAIT<br />

S-11 !$OMP DO SCHEDULE(STATIC)<br />

S-12 DO I=1,N<br />

S-13 Z(I) = SQRT(C(I))<br />

S-14 ENDDO<br />

S-15 !$OMP END DO NOWAIT<br />

S-16 !$OMP DO SCHEDULE(STATIC)<br />

S-17 DO I=2,N+1<br />

S-18 Y(I) = Z(I-1) + A(I)<br />

S-19 ENDDO<br />

S-20 !$OMP END DO NOWAIT<br />

S-21 !$OMP END PARALLEL<br />

S-22 END SUBROUTINE NOWAIT_EXAMPLE2<br />

Fortran<br />

CHAPTER 1. PARALLEL EXECUTION 17

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!