1234567891011121314151617181920212223242526272829303132333435 |
- ! { dg-do run }
- program main
- implicit none
- integer, parameter :: n = 1024
- integer, dimension (0:n-1) :: a, b, c
- integer :: i, ii
- !$acc enter data create (a(0:n-1), b(0:n-1), c(0:n-1))
- !$acc kernels present (a(0:n-1))
- do i = 0, n - 1
- a(i) = i * 2
- end do
- !$acc end kernels
- do i = 0, n -1
- b(i) = i * 4
- end do
- !$acc update device (b(0:n-1))
- !$acc kernels present (a(0:n-1), b(0:n-1), c(0:n-1))
- do ii = 0, n - 1
- c(ii) = a(ii) + b(ii)
- end do
- !$acc end kernels
- !$acc exit data copyout (a(0:n-1), c(0:n-1))
- do i = 0, n - 1
- if (c(i) .ne. a(i) + b(i)) STOP 1
- end do
- end program main
|