Retro68/gcc/libgomp/testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90
Wolfgang Thaller 6fbf4226da gcc-9.1
2019-06-20 20:10:10 +02:00

29 lines
552 B
Fortran

! Test of gang-private variables declared on loop directive, with broadcasting
! to partitioned workers.
! { dg-do run }
program main
integer :: x, i, j, arr(0:32*32)
do i = 0, 32*32 -1
arr(i) = i
end do
!$acc kernels copy(arr)
!$acc loop gang(num:32) private(x)
do i = 0, 31
x = i * 2;
!$acc loop worker(num:32)
do j = 0, 31
arr(i * 32 + j) = arr(i * 32 + j) + x;
end do
end do
!$acc end kernels
do i = 0, 32 * 32 - 1
if (arr(i) .ne. i + (i / 32) * 2) call abort
end do
end program main