Many tests in the `offload` project have requirements defined by which targets are not supported rather than which platforms are supported. This patch aims to streamline the requirement definitions by adding four new feature tags: `host`, `gpu`, `amdgpu`, and `nvidiagpu`.
32 lines
679 B
Fortran
32 lines
679 B
Fortran
! Offloading test checking interaction of an
|
|
! enter and exit map of an array of scalars
|
|
! REQUIRES: flang, amdgpu
|
|
|
|
! RUN: %libomptarget-compile-fortran-run-and-check-generic
|
|
program main
|
|
integer :: array(10)
|
|
|
|
do I = 1, 10
|
|
array(I) = I + I
|
|
end do
|
|
|
|
!$omp target enter data map(to: array)
|
|
! Shouldn't overwrite data already locked in
|
|
! on target via enter, this will then be
|
|
! overwritten by our exit
|
|
do I = 1, 10
|
|
array(I) = 10
|
|
end do
|
|
|
|
!$omp target
|
|
do i=1,10
|
|
array(i) = array(i) + i
|
|
end do
|
|
!$omp end target
|
|
|
|
!$omp target exit data map(from: array)
|
|
print*, array
|
|
end program
|
|
|
|
!CHECK: 3 6 9 12 15 18 21 24 27 30
|