| ! { dg-do run } | |
| ! | |
| program foo | |
| implicit none | |
| integer, parameter :: n = 100 | |
| integer, dimension(n,n) :: a | |
| integer :: i, j, sum = 0 | |
| a = 1 | |
| !$acc parallel copyin(a(1:n,1:n)) firstprivate (sum) | |
| !$acc loop gang reduction(+:sum) | |
| do i=1, n | |
| !$acc loop vector reduction(+:sum) | |
| do j=1, n | |
| sum = sum + a(i, j) | |
| enddo | |
| enddo | |
| !$acc end parallel | |
| end program foo |