! Basic offloading test with a target region
! REQUIRES: flang, amdgpu
! RUN: %libomptarget-compile-fortran-generic
! RUN: env LIBOMPTARGET_INFO=16 %libomptarget-run-generic 2>&1 | %fcheck-generic
program main
use omp_lib
implicit none
integer :: i,j
integer :: array(10,10), errors = 0
do i = 1, 10
do j = 1, 10
array(j, i) = 0
end do
end do
!$omp target parallel do map(from:array) collapse(2)
do i = 1, 10
do j = 1, 10
array( j, i) = i + j
end do
end do
!$omp end target parallel do
do i = 1, 10
do j = 1, 10
if ( array( j, i) .ne. (i + j) ) then
errors = errors + 1
end if
end do
end do
print *,"number of errors: ", errors
end program main
! CHECK: "PluginInterface" device {{[0-9]+}} info: Launching kernel {{.*}}
! CHECK: number of errors: 0