12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- ! { dg-do run }
- program test
- integer, parameter :: N = 8
- real, allocatable :: a(:), b(:)
- allocate (a(N))
- allocate (b(N))
- a(:) = 3.0
- b(:) = 0.0
- !$acc enter data copyin (a(1:N), b(1:N))
- !$acc parallel
- do i = 1, n
- b(i) = a (i)
- end do
- !$acc end parallel
- !$acc exit data copyout (a(1:N), b(1:N))
- do i = 1, n
- if (a(i) .ne. 3.0) call abort
- if (b(i) .ne. 3.0) call abort
- end do
- a(:) = 5.0
- b(:) = 1.0
- !$acc enter data copyin (a(1:N), b(1:N))
- !$acc parallel
- do i = 1, n
- b(i) = a (i)
- end do
- !$acc end parallel
- !$acc exit data copyout (a(1:N), b(1:N))
- do i = 1, n
- if (a(i) .ne. 5.0) call abort
- if (b(i) .ne. 5.0) call abort
- end do
- end program test
|