1234567891011121314151617181920212223242526272829303132333435363738394041 |
- ! { dg-do run }
- module param
- integer, parameter :: N = 32
- end module param
- program main
- use param
- integer :: i
- integer :: a(N)
- do i = 1, N
- a(i) = i
- end do
- !$acc parallel copy (a)
- !$acc loop worker
- do i = 1, N
- call vector (a)
- end do
- !$acc end parallel
- do i = 1, N
- if (a(i) .ne. 0) stop 1
- end do
- contains
- subroutine vector (a)
- !$acc routine vector
- integer, intent (inout) :: a(N)
- integer :: i
- !$acc loop vector
- do i = 1, N
- a(i) = a(i) - a(i)
- end do
- end subroutine vector
- end program main
|