We finally got our buildbot added (to staging, at least) so we want to start running L0 tests in CI. We need `check-offload` to pass though, so XFAIL everything failing. There's a couple `UNSUPPORTED` as well, those are for sporadic fails. Also make set the `gpu` and `intelgpu` LIT variables when testing the `spirv64-intel` triple. We have no DeviceRTL yet so basically everything fails, but we manage to get ``` Total Discovered Tests: 432 Unsupported : 169 (39.12%) Passed : 67 (15.51%) Expectedly Failed: 196 (45.37%) ``` We still don't build the level zero plugin by default and these tests don't run unless the plugin was built, so this has no effect on most builds. --------- Signed-off-by: Nick Sarnie <nick.sarnie@intel.com>
59 lines
1.1 KiB
Fortran
59 lines
1.1 KiB
Fortran
! Basic offloading test of a regular array explicitly passed within a target
|
|
! region
|
|
! REQUIRES: flang
|
|
! REQUIRES: gpu
|
|
! UNSUPPORTED: nvptx64-nvidia-cuda-LTO
|
|
|
|
! RUN: %libomptarget-compile-fortran-run-and-check-generic
|
|
! XFAIL: intelgpu
|
|
program main
|
|
integer :: x(2,2,2)
|
|
integer :: i, j, k
|
|
integer :: i2 = 2, j2 = 2, k2 = 2
|
|
integer :: counter = 1
|
|
do i = 1, 2
|
|
do j = 1, 2
|
|
do k = 1, 2
|
|
x(i, j, k) = 0
|
|
end do
|
|
end do
|
|
end do
|
|
|
|
i = 1
|
|
j = 1
|
|
k = 1
|
|
|
|
!$omp target map(tofrom:x, counter) map(to: i, j, k, i2, j2, k2)
|
|
do while (i <= i2)
|
|
j = 1
|
|
do while (j <= j2)
|
|
k = 1
|
|
do while (k <= k2)
|
|
x(i, j, k) = counter
|
|
counter = counter + 1
|
|
k = k + 1
|
|
end do
|
|
j = j + 1
|
|
end do
|
|
i = i + 1
|
|
end do
|
|
!$omp end target
|
|
|
|
do i = 1, 2
|
|
do j = 1, 2
|
|
do k = 1, 2
|
|
print *, x(i, j, k)
|
|
end do
|
|
end do
|
|
end do
|
|
end program main
|
|
|
|
! CHECK: 1
|
|
! CHECK: 2
|
|
! CHECK: 3
|
|
! CHECK: 4
|
|
! CHECK: 5
|
|
! CHECK: 6
|
|
! CHECK: 7
|
|
! CHECK: 8
|