1! { dg-do run } 2 3program main 4 use openacc 5 implicit none 6 7 integer :: i, j 8 integer, parameter :: N = 1000000 9 integer, parameter :: nprocs = 2 10 integer :: k(nprocs) 11 12 k(:) = 0 13 14 !$acc data copy (k(1:nprocs)) 15 do j = 1, nprocs 16 !$acc parallel async (j) 17 do i = 1, N 18 k(j) = k(j) + 1 19 end do 20 !$acc end parallel 21 end do 22 !$acc end data 23 24 call acc_wait_all_async (nprocs + 1) 25 26 call acc_wait (nprocs + 1) 27 28 if (acc_async_test (1) .neqv. .TRUE.) stop 1 29 if (acc_async_test (2) .neqv. .TRUE.) stop 2 30 if (acc_async_test (nprocs + 1) .neqv. .TRUE.) stop 3 31 32end program 33