mirror of git://gcc.gnu.org/git/gcc.git
				
				
				
			
		
			
				
	
	
		
			34 lines
		
	
	
		
			998 B
		
	
	
	
		
			Fortran
		
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			998 B
		
	
	
	
		
			Fortran
		
	
	
	
| 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
 |