blob: 0560bd8963d9a307519f915b4f30bc8803beda8c [file] [log] [blame]
C******************************************************************************
C FILE: omp_reduction.f
C DESCRIPTION:
C OpenMP Example - Combined Parallel Loop Reduction - Fortran Version
C This example demonstrates a sum reduction within a combined parallel loop
C construct. Notice that default data element scoping is assumed - there
C are no clauses specifying shared or private variables. OpenMP will
C automatically make loop index variables private within team threads, and
C global variables shared.
C AUTHOR: Blaise Barney 5/99
C LAST REVISED:
C******************************************************************************
PROGRAM REDUCTION
INTEGER I, N
REAL A(100), B(100), SUM
! Some initializations
N = 100
DO I = 1, N
A(I) = I *1.0
B(I) = A(I)
ENDDO
SUM = 0.0
!$OMP PARALLEL DO REDUCTION(+:SUM)
DO I = 1, N
SUM = SUM + (A(I) * B(I))
ENDDO
PRINT *, ' Sum = ', SUM
END