168349SobrienC****************************************************************************** 268349SobrienC FILE: omp_reduction.f 3267843SdelphijC DESCRIPTION: 468349SobrienC OpenMP Example - Combined Parallel Loop Reduction - Fortran Version 568349SobrienC This example demonstrates a sum reduction within a combined parallel loop 668349SobrienC construct. Notice that default data element scoping is assumed - there 768349SobrienC are no clauses specifying shared or private variables. OpenMP will 868349SobrienC automatically make loop index variables private within team threads, and 968349SobrienC global variables shared. 1068349SobrienC AUTHOR: Blaise Barney 5/99 1168349SobrienC LAST REVISED: 1268349SobrienC****************************************************************************** 1368349Sobrien 1468349Sobrien PROGRAM REDUCTION 1568349Sobrien 1668349Sobrien INTEGER I, N 1768349Sobrien REAL A(100), B(100), SUM 1868349Sobrien 1968349Sobrien! Some initializations 2068349Sobrien N = 100 2168349Sobrien DO I = 1, N 2268349Sobrien A(I) = I *1.0 2368349Sobrien B(I) = A(I) 2468349Sobrien ENDDO 2568349Sobrien SUM = 0.0 2668349Sobrien 2769216Sobrien!$OMP PARALLEL DO REDUCTION(+:SUM) 2869216Sobrien DO I = 1, N 29267843Sdelphij SUM = SUM + (A(I) * B(I)) 30103373Sobrien ENDDO 31226048Sobrien 32133359Sobrien PRINT *, ' Sum = ', SUM 33226048Sobrien END 34226048Sobrien