brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · 61fced3 Raw
58 lines · plain
1! Basic offloading test of a regular array explicitly passed within a target2! region3! REQUIRES: flang4! REQUIRES: gpu5! UNSUPPORTED: nvptx64-nvidia-cuda-LTO6 7! RUN: %libomptarget-compile-fortran-run-and-check-generic8program main9    integer :: x(2,2,2)10    integer :: i, j, k11    integer :: i2 = 2, j2 = 2, k2 = 212    integer :: counter = 113    do i = 1, 214        do j = 1, 215          do k = 1, 216            x(i, j, k) = 017          end do18        end do19    end do20 21i = 122j = 123k = 124 25!$omp target map(tofrom:x, counter) map(to: i, j, k, i2, j2, k2)26    do while (i <= i2)27      j = 128        do while (j <= j2)29          k = 130          do while (k <= k2)31            x(i, j, k) = counter32            counter = counter + 133            k = k + 134          end do35          j = j + 136        end do37        i = i + 138    end do39!$omp end target40 41     do i = 1, 242        do j = 1, 243          do k = 1, 244            print *, x(i, j, k)45          end do46        end do47    end do48end program main49 50! CHECK: 151! CHECK: 252! CHECK: 353! CHECK: 454! CHECK: 555! CHECK: 656! CHECK: 757! CHECK: 858