1C****************************************************************************** 2C FILE: omp_reduction.f 3C DESCRIPTION: 4C OpenMP Example - Combined Parallel Loop Reduction - Fortran Version 5C This example demonstrates a sum reduction within a combined parallel loop 6C construct. Notice that default data element scoping is assumed - there 7C are no clauses specifying shared or private variables. OpenMP will 8C automatically make loop index variables private within team threads, and 9C global variables shared. 10C AUTHOR: Blaise Barney 5/99 11C LAST REVISED: 12C****************************************************************************** 13 14 PROGRAM REDUCTION 15 16 INTEGER I, N 17 REAL A(100), B(100), SUM 18 19! Some initializations 20 N = 100 21 DO I = 1, N 22 A(I) = I *1.0 23 B(I) = A(I) 24 ENDDO 25 SUM = 0.0 26 27!$OMP PARALLEL DO REDUCTION(+:SUM) 28 DO I = 1, N 29 SUM = SUM + (A(I) * B(I)) 30 ENDDO 31 32 PRINT *, ' Sum = ', SUM 33 END 34