Statements Between Loops (contd.)
C$OMP PARALLEL
C$OMP DO REDUCTION(+: sum)
do i=1,n
sum = sum + a[i]
enddo
C$OMP SINGLE
alpha = sum/scale
C$OMP END SINGLE
C$OMP DO
do i=1,n
a[i] = alpha * a[i]
enddo
C$OMP END PARALLEL
C$OMP PARALLEL PRIVATE(alpha)
C$OMP DO REDUCTION(+: sum)
do i=1,n
sum = sum + a[i]
enddo
alpha = sum/scale
C$OMP DO
do i=1,n
a[i] = alpha * a[i]
enddo
C$OMP END PARALLEL
Previous slide
Next slide
Back to first slide
View graphic version