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