Mercurial > hg > CbC > CbC_gcc
view libgomp/testsuite/libgomp.oacc-fortran/asyncwait-2.f90 @ 138:fc828634a951
merge
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 08 Nov 2018 14:17:14 +0900 |
parents | 84e7813d76e9 |
children |
line wrap: on
line source
! { dg-do run } program asyncwait integer, parameter :: N = 64 real, allocatable :: a(:), b(:), c(:) integer i allocate (a(N)) allocate (b(N)) allocate (c(N)) !$acc parallel async (0) !$acc loop do i = 1, N a(i) = 1 end do !$acc end parallel !$acc parallel async (1) !$acc loop do i = 1, N b(i) = 1 end do !$acc end parallel !$acc parallel wait (0, 1) !$acc loop do i = 1, N c(i) = a(i) + b(i) end do !$acc end parallel do i = 1, N if (c(i) .ne. 2.0) STOP 1 end do !$acc kernels async (0) !$acc loop do i = 1, N a(i) = 1 end do !$acc end kernels !$acc kernels async (1) !$acc loop do i = 1, N b(i) = 1 end do !$acc end kernels !$acc kernels wait (0, 1) !$acc loop do i = 1, N c(i) = a(i) + b(i) end do !$acc end kernels do i = 1, N if (c(i) .ne. 2.0) STOP 2 end do deallocate (a) deallocate (b) deallocate (c) end program asyncwait