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`.
27 lines
589 B
Fortran
27 lines
589 B
Fortran
! Offloading test for target nested inside
|
|
! a target data region
|
|
! REQUIRES: flang, amdgpu
|
|
|
|
! RUN: %libomptarget-compile-fortran-run-and-check-generic
|
|
program main
|
|
integer :: A(10), B(10), C(10)
|
|
|
|
do I = 1, 10
|
|
A(I) = 1
|
|
B(I) = 2
|
|
end do
|
|
!$omp target data map(to: A, B) map(alloc: C)
|
|
!$omp target map(from: C)
|
|
do I = 1, 10
|
|
C(I) = A(I) + B(I) ! assigns 3, A:1 + B:2
|
|
end do
|
|
!$omp end target
|
|
!$omp target update from(C) ! updates C device -> host
|
|
!$omp end target data
|
|
|
|
print *, C ! should be all 3's
|
|
|
|
end program
|
|
|
|
! CHECK: 3 3 3 3 3 3 3 3 3 3
|